Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cmake ctest能否显示googletest控制台颜色_Cmake_Googletest_Ctest - Fatal编程技术网

Cmake ctest能否显示googletest控制台颜色

Cmake ctest能否显示googletest控制台颜色,cmake,googletest,ctest,Cmake,Googletest,Ctest,我正在一个启用ctest的cmake项目中构建和运行使用googletest构建的单元测试 我用“ctest-VV”运行测试 但测试输出不会将“红色”和“绿色”着色 [运行][确定][通过] 有人知道ctest是否有一个选项可以让这些颜色渗透到控制台吗?正如OP所建议的,我将这一行添加到我的.bashrc中,它起到了作用: export GTEST_COLOR=1 也许您不想将任何变量导出到全局范围,而只在一个ctest调用中使用颜色。在这种情况下,请使用以下单个命令: GTEST_COLOR

我正在一个启用ctest的cmake项目中构建和运行使用googletest构建的单元测试

我用“ctest-VV”运行测试

但测试输出不会将“红色”和“绿色”着色

[运行][确定][通过]


有人知道ctest是否有一个选项可以让这些颜色渗透到控制台吗?

正如OP所建议的,我将这一行添加到我的.bashrc中,它起到了作用:

export GTEST_COLOR=1

也许您不想将任何变量导出到全局范围,而只在一个ctest调用中使用颜色。在这种情况下,请使用以下单个命令:

GTEST_COLOR=1 ctest -V

在cmake中,您可以通过以下方式传递环境变量:

add_executable(testExecutable
        my_test.cpp)

target_link_libraries(testExecutable
        gtest)

add_test(NAME testExecutable
        COMMAND testExecutable)

add_custom_target(check
        COMMAND env CTEST_OUTPUT_ON_FAILURE=1 GTEST_COLOR=1 ${CMAKE_CTEST_COMMAND}
        DEPENDS testExecutable)

运行
$make check

时,不知道您将googletest添加到CMake的方式,也不知道您的主机环境,这只是一个猜测:这会复制到吗?你能试一下谷歌测试选项--gtest_color=yes吗?所以我试了--gtest_color=yes,但没有成功。。。但更多的谷歌搜索让我找到了GTEST_COLOR=1,在我的.travis.yml中设置了这个选项,使测试看起来是彩色的。。。但在我的命令行中,它看起来像这样1:←[0;32米[跑]←[mStringTest.Case,这表明googletest可能错误地认为我是一个xterm,而实际上我在windows命令提示符下运行bash,“export-GTEST_COLOR=1”对我有效(在Ubuntu上)。@Étienne它对我有效,thx!