Estou usando o CMake para construir meu projeto. Eu adicionei um binário de teste de unidade que está usando a estrutura de teste de unidade Boost. Este binário contém todos os testes de unidade. Eu adicionei esse binário para ser executado pelo CTest:
ADD_EXECUTABLE( tftest test-main.cpp )
ENABLE_TESTING()
ADD_TEST( UnitTests tftest)
Mas a saída da compilação no Visual Studio mostra apenas o resultado da execução de CTest:
Start 1: UnitTests
1/1 Test #1: UnitTests ................***Failed 0.05 sec
0% tests passed, 1 tests failed out of 1
Isso não é muito útil, porque não consigo ver qual teste falhou. Se eu executar o ctest manualmente na linha de comando com --verbose
, obtenho a saída de um teste de unidade Boost que diz o que realmente falhou:
1: Test command: tftest.exe
1: Test timeout computed to be: 9.99988e+006
1: Running 4 test cases...
1: test-main.cpp(20): error in "sanity_check3": check 1 == 2 failed
1:
1: *** 1 failure detected in test suite "Master Test Suite"
1/1 Test #1: UnitTests ................***Failed 0.00 sec
Então, o que eu preciso mudar no CMakeLists.txt para que o CTest seja executado o --verbose
tempo todo? Existe uma maneira melhor de usar os testes de unidade Boost com CMake / CTest?