问题标签 [ctest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
202 浏览

cmake - 如何在 Chome 原生客户端中运行测试用例?

我正在移植一个库以在 Chrome 便携式本机客户端 (PNaCl) 下工作。我设法编译它并使用它运行一个简单的程序。现在我需要验证它是否正常工作,这意味着运行完整的测试套件。该库将 CMake 用于其构建系统,将 CTest 用于测试用例,因此每个应用程序都是一个独立的应用程序,运行并从 main() 返回 0 或 1 以显示它是否通过。如何在本机客户端下运行它们?

当然我可以修改每一个,把它变成一个合适的模块,并创建一个运行它的接口。但是它们有数百个,并且每个都必须独立修改。是否有任何机制可以在本机客户端下运行现有的 CTest 测试套件?

0 投票
1 回答
1289 浏览

teamcity - TeamCity 和 CTest 测试结果

我为我的项目编写了许多单元测试,使用 CTest 执行。我想将结果集成到我的 TeamCity 构建中。我已经为我的测试框架(Boost Test)下载并设置了插件。

我遇到的问题是测试使用 CTest 输出运行Testing/Temporary/LastTest.log,而 TeamCity 试图从标准输出读取结果。为了解决这个问题,我的测试步骤是。

这有效,但感觉就像一个黑客。

除了标准输出之外,还有什么方法可以让 TeamCity 从此文件中读取?或者,除了这个 LastTest.log 文件之外,还有什么方法可以告诉 ctest 输出到标准输出?

这个问题很相似,但我希望它适用于所有输出,而不仅仅是失败:CMake: setting an environment variable for ctest (or other getting failed test output from ctest/make test automatically)

0 投票
1 回答
885 浏览

boost - cmake test:每个测试都在每个 ctest 上运行

奇怪的是,当我构建我的测试并运行它们时,我定义的每个测试 (boost's BOOST_AUTO_TEST_CASE()) 都将在每个 cmake 定义的测试 (cmake's add_test()) 上运行。我很确定我在配置中做错了什么,但我一生都无法弄清楚它是什么。

根 CMakeLists.txt:

测试 CMakeLists.txt:

testMain.cpp:

然后每个“test_NAME.hpp”都包含与此类似的测试:

0 投票
1 回答
2138 浏览

cmake - ctest/cmake 在输出文件中搜索字符串

我正在将一些旧测试转换为 cmake/ctest,如果输出文件包含特定的警告消息,我希望测试失败。

过去,我会在输出文件中搜索特定字符串。我已经在使用 execute_process 来使用 compare_files 命令。是否有类似的命令用于在文件中搜索字符串?

谢谢你的帮助。

0 投票
1 回答
293 浏览

cmake - ctest 自定义警告异常

谁能解释我如何从仪表板中过滤掉以下警告?

警告:#warning "deprecated" ...../vcl_deprecated_header.h:10:3: warning: #warning "deprecated" [-Wcpp] # warning "deprecated"

到目前为止,我尝试在 CTestCustom.cmake 中有以下内容

设置(CTEST_CUSTOM_WARNING_EXCEPTION ${CTEST_CUSTOM_WARNING_EXCEPTION} “.*vcl_deprecated_header.warning. “vcl_deprecated_header” ... )

我在 ctest_confgiure 之后有 ctest_read_custom_files

请参阅构建说明 - http://dash.orfeo-toolbox.org/viewNotes.php?buildid=160097

0 投票
2 回答
2301 浏览

c++ - ctest 没有找到 valgrind

打电话

为什么它不会自动找到 valgrind,也不会在手动指定时找到?

0 投票
0 回答
105 浏览

testing - 如何编写显示构建错误的 CMake 测试?

我目前有这个巧妙的代码,可以将我的单源文件测试添加到我的 CMake 项目中:

注释行添加了 3 个“测试”,它们删除、构建和运行可执行文件。我运行一个测试如下:

通过注释的 3 行,我可以看到构建错误输出到我的屏幕。问题是:这使得测试的数量不具代表性。如果我使用 3 合 1 解决方案,构建错误输出将被隐藏。有没有办法解决这个问题?

0 投票
0 回答
160 浏览

c++ - cmake - 在 add_test 上使用 --build-and-test 构建可执行文件

我要求这个来验证我的代码是否正确实现。如果是,那么这很可能意味着我的库链接在某些时候不正确,从而缩小了问题的范围。尝试使用以下命令构建测试时出现以下错误make t1

假设我想构建可执行文件“exec1”并对其进行测试。理想情况下,这是通过将可执行文件标记到目标并运行来完成的make <target>——如果我错了,请纠正我。

据我所知,这是通过在 add_test 上使用 --build-and-test 参数来完成的。这是我正在使用的代码:

我想使用${CMAKE_SOURCE_DIR}/vlMain/vlMPIMain.cpp源代码构建一个名为“exec1”的可执行文件,并将其放入${CMAKE_BINARY_DIR}/Tests/exec1然后我想将几个库链接到它。

我的实现是否正确?可以改进吗?

谢谢。

0 投票
1 回答
736 浏览

cmake - Cmake 中的两组测试

我有两组测试(功能测试和单元测试),我希望能够指定哪一组通过 cmake 运行。

一组测试是我想通过“make test”运行的单元测试。

另一组测试是我想通过“制作功能测试”来运行的功能测试。

目前两者都是 ctest 的一部分,因为我通过 add_test 运行这两个套件。我的 CMakeLists.txt 文件是这样的:

我想为这两个套件使用 ctest,因为它为我提供了一个很好的、可读的测试套件格式(哪些测试通过了,哪些测试失败了)。

我宁愿不必创建自定义可执行文件,为其创建一个名为 functionaltests 的目标,并尝试模仿 ctest 如何打印出测试结果。

0 投票
1 回答
5114 浏览

cmake - CMake 测试的详细输出

如何让“make test”显示详细输出?我希望“make test”通过命令行执行与 ctest -V 相同的操作。

我尝试将以下内容添加到我的 CMakeLists.txt 中,但没有任何效果:(

但是当我运行 make test 时我仍然得到这个:

澄清一下,我想在我的 CMakeLists.txt 中添加一些东西来实现这一点,我不想要一个手动解决方案,它需要我在命令行中附加一些东西来“进行测试”,例如

或者

我的问题类似于Using cmake how do I get verbose output from ctest? .