2015-02-25 10 views
7

Moje pytanie jest podobna do Using cmake how do I get verbose output from ctest?CUpewnij Wyjście gadatliwe od testów

Jak mogę „make test”, aby wyświetlić wyjście rozwlekły? Chcę "make test", aby zrobić to samo, co ctest -V za pomocą wiersza poleceń.

Próbowałem dodanie następujących do mojego CMakeLists.txt, nic nie działało :(

set(ENV{CTEST_OUTPUT_ON_FAILURE} TRUE) 

add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} --verbose) 

add_custom_command(TARGET test PRE_BUILD 
       COMMAND ${CMAKE_CTEST_COMMAND} -V) 

Ale wciąż dostać to, gdy biegnę zrobić test:

Start 1: unittest1 
    1/143 Test #1: unittest1 .................................... Passed 0.01 sec 
     Start 2: unittest2 
    2/143 Test #2: unittest2 ............................ Passed 0.03 sec 
     Start 3: unittest3 
    3/143 Test #3: unittest3 .................... Passed 0.02 sec 

celu wyjaśnienia, chcę aby dodać coś do mojego CMakeLists.txt, aby było to możliwe, nie chcę ręcznego rozwiązania, które wymaga dodania czegoś do "make test" w linii poleceń, takiego jak

CTEST_OUTPUT_ON_FAILURE=TRUE make test 

lub

ctest -V 

Odpowiedz

5

z wiki stronie GNU Radia robić testy na out-of-drzewie modułów (dzięki uprzejmości pana Brauna):

Run ctest -V z katalogu build (zazwyczaj), a da ci pełne informacje. Dodaj -R regex, aby wykonać tylko testy pasujące do regex.

Ponowne uruchomienie testu w przypadku niepowodzenia wydaje się mieć dla mnie dużo sensu - i nie robi tego automatycznie na każdym make test, ponieważ testy mogą być czasochłonne i nie powinny być powtarzane w środowisku zepsutej kompilacji itp. domyślnie.

EDYCJA: Sposób dodania tego zachowania do domyślnego zachowania make test zależy od infrastruktury CMake i nie mogę odpowiedzieć na to pytanie bez czytania kodu.

+0

Dzięki! Kiedy robię ctest -V, otrzymuję dokładnie to, czego chcę! Jak dołączyć flagę verbose do mojego pliku CMakeLists.txt, aby "make test" automatycznie wyświetlał pełne wyniki – crusarovid

+0

Dzięki za miłe słowa; jeśli nie masz nic przeciwko, to lubię przegrany;) –