Seite 1 von 1

Test-System

Verfasst: Mo Aug 09, 2010 9:39 pm
von fat-lobyte
Hallo.
Aus gegebenem Anlass (bebu's "scanner"), würde ich vorschlagen im Projektverzeichnis einen Ordner mit dem Namen "testsuite" zu erstellen, und dort alle Dateien hineinzulegen, die eigentlich zum Testen gedacht sind. Das ist zurzeit nur bebu's "scanner" modul, es wird hoffentlich noch etwas dazukommen.
Das hat den Vorteil, dass man die Tests von dem Programm trennen kann, und es eventuell in ein "test" Target auslagern kann ("make test").
Außerdem kann man noch ganz lustige sachen mit CMake/CTest machen. Hab da schon ein paar Gedanken, aber alles zu seiner Zeit.

Ich kann schon alles einrichten, brauch nur das "OK" vom Projektleiter.

Re: Test-System

Verfasst: Mo Aug 09, 2010 11:41 pm
von Kerli
Ich bin zwar nicht der Projektleiter aber trotzdem dafür. Nur der Name "testsuite" gefällt mir irgendwie nicht so ganz. Warum nicht einfach "test"? Daran hab ich mich inzwischen schon gewöhnt :)

Testen ist bis jetzt eigentlich überhaupt nur sehr mager vorhanden. Ich weiß das das nicht immer einfach ist, aber man sollte da konsequent sein.

Re: Test-System

Verfasst: Di Aug 10, 2010 10:14 am
von fat-lobyte
Kerli hat geschrieben:Testen ist bis jetzt eigentlich überhaupt nur sehr mager vorhanden. Ich weiß das das nicht immer einfach ist, aber man sollte da konsequent sein.
Vollstes einverständnis.
Kerli hat geschrieben:Ich bin zwar nicht der Projektleiter aber trotzdem dafür. Nur der Name "testsuite" gefällt mir irgendwie nicht so ganz. Warum nicht einfach "test"? Daran hab ich mich inzwischen schon gewöhnt :)
Daran habe ich zuerst auch gedacht. Aber ich hatte da so eine Idee ein kleines "Test-framework" aufzubauen, mit allen Modulunabhängigen Dateien in "test", und allen Modulabhängigen Dateien nach "testsuite". Ist nur ne Idee, man kann auch beides nach test/ hauen.

Re: Test-System

Verfasst: Di Aug 10, 2010 10:15 am
von Xin
fat-lobyte hat geschrieben:Aus gegebenem Anlass (bebu's "scanner"), würde ich vorschlagen im Projektverzeichnis einen Ordner mit dem Namen "testsuite" zu erstellen
Ich bin ebenfalls für test.
fat-lobyte hat geschrieben:und dort alle Dateien hineinzulegen, die eigentlich zum Testen gedacht sind. Das ist zurzeit nur bebu's "scanner" modul, es wird hoffentlich noch etwas dazukommen.
In dem Fall wäre das quasi ein Verzeichnisbaum mit einigen Dateien, richtig?
fat-lobyte hat geschrieben:Das hat den Vorteil, dass man die Tests von dem Programm trennen kann, und es eventuell in ein "test" Target auslagern kann ("make test").
Außerdem kann man noch ganz lustige sachen mit CMake/CTest machen. Hab da schon ein paar Gedanken, aber alles zu seiner Zeit.
Ich kenne bisher nur CPPUnit, bzw. meine eigenen Testfunktionen. CTest kenne ich noch nicht, aber ich bin interessiert mir das anzusehen.
Von daher hast Du von meiner Seite erstmal das Okay. Tests sind schließlich nie verkehrt :-)

Wir sollten ein einfaches Tutorial zum Testen erstellen, damit er überhaupt sinnvoll selbst Testen kann, bzw. wenigstens ein paar Beispieltests erstellen. Das Tutorial ist sicherlich sinnvoll, aber halt auch alles eine Frage der Zeit.

Re: Test-System

Verfasst: Di Aug 10, 2010 10:29 am
von fat-lobyte
Xin hat geschrieben:Ich bin ebenfalls für test.
So soll es sein.
Xin hat geschrieben:In dem Fall wäre das quasi ein Verzeichnisbaum mit einigen Dateien, richtig?
Klar. Sowohl CMake, als auch ich sind flexibel :-)
fat-lobyte hat geschrieben:Ich kenne bisher nur CPPUnit, bzw. meine eigenen Testfunktionen. CTest kenne ich noch nicht, aber ich bin interessiert mir das anzusehen.
Anfangs werde ich CTest noch nicht verwenden. So weit ich weiß braucht man für CTest sowieso eigenständige Executables, mit main()-Funktion, die 0 bei Erfolg und etwas anderes bei Fehlschlag zurückgibt. Das ist also ziemlich generisch und nicht CTest spezifisch, da kann man auch was anderes dazuhacken wenns sein muss.
fat-lobyte hat geschrieben:Von daher hast Du von meiner Seite erstmal das Okay. Tests sind schließlich nie verkehrt :-)
Wird implementiert. Heute abend oder morgen.

Re: Test-System

Verfasst: Di Aug 10, 2010 10:49 am
von Xin
fat-lobyte hat geschrieben:Anfangs werde ich CTest noch nicht verwenden. So weit ich weiß braucht man für CTest sowieso eigenständige Executables, mit main()-Funktion, die 0 bei Erfolg und etwas anderes bei Fehlschlag zurückgibt. Das ist also ziemlich generisch und nicht CTest spezifisch, da kann man auch was anderes dazuhacken wenns sein muss.
Dann werde ich mich hoffentlich morgen abend um ein CPPUnit-Tutorial kümmern.

Re: Test-System

Verfasst: Fr Aug 05, 2011 10:34 pm
von Bebu
Ich habe euch heute eine kleine Tecdemo in den branch boostTestDemo hochgeladen. Es ist ein vollständig von Dedupe unabhängiges CMake Projekt und soll die Funktionsweise von Boost.Test demonstrieren. Einzige Abhängigkeit ist die Testlibary von Boost und sollte auch mit Version 1.44 funktionieren. Bitte seht es euch mal an und sagt mir, ob es euch gefällt. Wenn ja, dann werfe ich cppunit nämlich raus und ersetzte es mit Boost.Test.

Ich bin bis jetzt der Meinung, das Boost.Test wesentlich intuitiver ist, als cppunit und daher gefällt es mir besser. Aber mal sehen, was unser Projektleiter und andere so davon halten :twisted:

Re: Test-System

Verfasst: Fr Aug 05, 2011 11:09 pm
von Xin
Ohne es bisher gesehen zu haben: Mach es.

CPPUnit läuft unter MacOS und Linux problemlos, aber das offizielle Windows-Paket ist ab Visual Studio 2005 nicht mehr kompilierfähig. Die Änderungen sind überschaubar, aber nur bedingt zumutbar. Ein Test-System, dass nicht kompilierbar ist, kann so nicht empfohlen werden und ich sehe keinen Grund den CPPUnit-Support, damit wir es in Dedupe verwenden können.