我想CTEST给我默认失败输出的测试。 也就是说,我想运行:
$ make all test
看到测试失败的任何输出,而不必cat Testing/Temporary/LastTest.log
。
它似乎有这样做的方法有两种:
(1)设置CTEST_OUTPUT_ON_FAILURE
环境变量:
$ CTEST_OUTPUT_ON_FAILURE=1 make all test
$ # or CTEST_OUTPUT_ON_FAILURE=1 ctest
(2)指定--output-on-failure
标志提供给ctest
调用:
$ ctest --output-on-failure
有没有办法写的CMakeLists.txt文件,使得ctests转储默认情况下,在一个正常的“让所有测试”调用失败测试输出而不是诉诸于全球会话出口环境变量或诉诸自定义指标如make check
(描述在这里 )?
我知道的SET_TESTS_PROPERTIES()
命令,但尝试出来是这样的:
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(testenv CXX)
ENABLE_TESTING()
ADD_EXECUTABLE(hello hello.cpp)
ADD_TEST(testhello hello)
# Following sets the environment variable for the shell in which the test
# progoram 'hello' is run, but not the shell in which ctest is run
SET_TESTS_PROPERTIES(testhello
PROPERTIES ENVIRONMENT "CTEST_OUTPUT_ON_FAILURE=1")
和试验,环境变量是在该测试程序被执行,但无法在CTEST在执行壳壳设置节目。