Seite 2 von 2

Re: Filesearch Testumgebung

Verfasst: Di Okt 18, 2011 2:03 pm
von fat-lobyte
Muahaha... Ich bin gut :-)
test/unittest/testfileinfo.cpp:43 hat geschrieben:

Code: Alles auswählen

    //select a sign from SignSource per random
    Builder += Dedupe::Test::SignSource[
                CreateRandomInt( 0, Dedupe::Test::SignSource.size() ) ];
Der String ist ist 26+9 Zeichen Lang, also 35.
SignSource.size() gibt 35 zurück, du erstellst also eine Zufallszahl zwischen [0, 35]. Wenn du dann tatsächlich mit 35 indizierst, greifst du auf das 36e Zeichen zu, das die Null ist: '\0'. Das erstellt natürlich Zufallsnamen, deren Name eine 0 enthält und deswegen verkürzt ist.

Indizierst du richtig, dann funktionierts:

Code: Alles auswählen

    //select a sign from SignSource per random
    Builder += Dedupe::Test::SignSource[
                CreateRandomInt( 0, Dedupe::Test::SignSource.size()-1 ) ];
Ein bisschen Lob bitte :-)

(Dank geht an GDB:)

Code: Alles auswählen

$ gdb ./dedupe-dirtytest
GNU gdb (GDB) Fedora (7.3-44.fc15)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/alexander/Programming/c_cpp/dedupe/dedupe-svn/build/dedupe-dirtytest...done.
(gdb) break /home/alexander/dedupe-svn/test/unittest/testfileinfo.cpp:137

Breakpoint 4 at 0x7ffff7bcf019: file /home/alexander/dedupe-svn/test/unittest/testfileinfo.cpp, line 137.
(gdb) r
Starting program: /home/alexander/Programming/c_cpp/dedupe/dedupe-svn/build/dedupe-dirtytest
[Thread debugging using libthread_db enabled]

Breakpoint 4, Dedupe::Test::FileInfoFixture::CreateFile (this=0x7fffffffdf60,
    IncomingPath=..., IncomingFilename=..., FileSize=1000)
    at /home/alexander/dedupe-svn/test/unittest/testfileinfo.cpp:137
137         std::cerr << "ERROR Could not open file: " << Path << std::endl;
(gdb) print IncomingPath
$1 = {m_pathname = "a2\000\065/hcv1/3ndem"}
(gdb) k
Kill the program being debugged? (y or n) y

Re: Filesearch Testumgebung

Verfasst: Di Okt 18, 2011 8:27 pm
von Bebu
Ein bisschen Lob? Ich kipp hier gleich vom Stuhl! Verdammt, weist du eigentlich, wie lange ich den Fehler gesucht habe? An der Stelle hätte ich als letztes gesucht. Ich bettle dich jetzt um ein gdb Tutorial an. Besten Dank für deine Hilfe, ich bin platt

Re: Filesearch Testumgebung

Verfasst: Di Okt 18, 2011 11:23 pm
von fat-lobyte
Bebu hat geschrieben:Besten Dank für deine Hilfe, ich bin platt
Sehr gerne, freut mich geholfen zu haben. :-)
Bebu hat geschrieben:Ich bettle dich jetzt um ein gdb Tutorial an.
Ich werd mal versuchen ein kurzes zusammenzustellen.

Re: Filesearch Testumgebung

Verfasst: Mi Okt 19, 2011 9:21 am
von Xin
fat-lobyte hat geschrieben:Ich werd mal versuchen ein kurzes zusammenzustellen.
Gib mir dann mal kurz Bescheid, wenn Du fertig bist. Erstens würde ich es dann gerne auch mal lesen und (eher unwahrscheinlich) dann ergänzen, falls ich etwas weiß/verwende, was Du noch nicht aufgeführt hast.
(Wie immer einen Post im Board Tutorials machen)

Re: Filesearch Testumgebung

Verfasst: Do Nov 03, 2011 12:25 am
von Bebu
Hier mal wieder eine kurze Rückmeldung: Die Unittests für FileInfo sind jetzt fertig. Es fehlen jetzt noch welche für Searchfiles und FileBrowser, aber ich glaube ich werde mich jetzt erst mal wieder an die Datenhaltung machen. Immer nur Tests schreiben ist nicht so Abwechslungsreich, man sollte sie wirklich vor und während des Entwickelns schreiben :cry: