CMake/CTest: Komischer Fehler



  • Moin,

    vielleicht weiß jemand, was da los ist oder hatte schon einmal den selben Fehler.

    Wir haben für unser Projekt eine große Menge Tests. Die Binarys liegen unter Projekt/Test/bin/. In Debug rennen alle Tests mit make test unter ctest problemlos durch. In Release schlägt aber 1 Test fehl. Allerdings nur wenn wir ctest oder make test aufrufen. Wenn wir direkt ./Test/bin/Testfall starten, dann gibt es keinen Fehler.

    Weiß jemand etwas damit anzufangen? Die Tests sind alle self contained, und selbst wenn ich sie dort ausführe, wo ctest sie ausführt, laufen sie problemlos durch. Mit ctest ist aber die komplette Numerik am Arsch...

    verwendet ctest vielleicht automatisch andere Librarypfade oder sowas?



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum Compiler- und IDE-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Das klingt sehr merkwürdig. Ändert sich etwas, wenn du mit ctest nur diesen einen Test aufrufst? Lass dir in dem Test vielleicht mal die Umgebung (env) ausgeben, dann siehst du ja, ob da irgend welche Umgebungsvariablen oä. gesetzt werden. Hast du irgend welche speziellen CTest-Konfigurationen (zB fürs Dashboard). Hast du ctest mal mit -VV aufgerufen?

    Ich kenne mich mit ctest aber auch nicht sonderlich gut aus. Ich hab nur in meiner Makefile ein test-Target mit cd ./build/test/ && ctest --output-on-failure und das hat mir bisher auch gereicht :).



  • Danke für die Antwort. Ich befinde mich zum Glück in der vorteilhaften Position, den Test nicht fixen zu müssen :). Allerdings nervts mich halt so ein wenig, dass die Testsuite die Tests scheinbar ändert.

    Einzeln ausführen gibt keinen Fehler und -VV hat leider auch nichts geholfen. Ich werde morgen einmal die env-Geschichte ausprobieren. cTest ist ganz normal konfiguriert. Wir haben da nichts dran gedreht.

    naja, der Fehler klingt ganz stark danach, dass da jemand seine Zeigerarithmetik nicht ganz unter Kontrolle hatte 🙄. Wie ich höre, hat die entsprechende Person gerade viel Spaß mit Valgrind <3. Wenn sich das Environment ändert und deswegen irgendwelche Speicherabbilder verschoben werden, würde es das Verhalten erklären.


Anmelden zum Antworten