ctest相关内容

使用多个命令进行 CTest

我正在使用 CTest 构建一些测试.通常,我可以简单地设置测试: ADD_TEST(Test_Name 可执行参数) 但是,我遇到了一个问题,我有一些测试需要运行两个命令才能运行,有什么方法可以在一个 ctest 中运行两个程序,或者我需要为每个人创建一个新测试? 谢谢. 解决方案 add_test 命令只接受一个可执行文件,但您可以运行任何真正是脚本的可执行文件.要以跨平台方 ..
发布时间:2022-01-23 09:00:11 其他开发

CMake 中的预期构建失败测试

有时最好检查某些东西是否无法构建,例如: //下一行应该编译失败:can't convert const iterator to iterator.my_new_container_type::iterator it = my_new_container_type::const_iterator(); 是否可以将这些类型的东西合并到 CMake/CTest 中?我在 CMakeLists.tx ..
发布时间:2022-01-14 17:45:42 C/C++开发

Catch lib(单元测试)和 CTest(CMake)集成

我正在寻找 Catch CatchLib 与 CMake 测试 (Ctest) 集成的成功示例.据我了解,这是必须解析应用程序输出的附加 cmake 脚本?有人已经写过这个了吗?大概分享了这个? ================================================= 更新(已找到解决方案): 我已将 cmake 脚本 提交给 CatchLib ,用于与 ..
发布时间:2021-12-26 22:10:17 C/C++开发

使用 CMake,如何从 CTest 获得详细输出?

我正在使用 CMake 来构建我的项目.我添加了一个使用 Boost 单元测试框架的单元测试二进制文件.这个二进制文件包含所有的单元测试.我已经添加了由 CTest 运行的二进制文件: ADD_EXECUTABLE( tftest test-main.cpp )启用_测试()ADD_TEST(UnitTests tftest) 但是 Visual Studio 中的构建输出只显示了运行 CTe ..
发布时间:2021-12-26 21:43:28 其他开发

使用 cmake 构建我的项目后如何运行 ctest

我希望每次成功构建我的项目时都启动我的测试.如果某些测试被破坏,我希望我的构建也被破坏.默认情况下,我需要通过运行 ctest 命令手动运行测试.CTest 实际上可以构建项目,但我使用调用 make 的 IDE 来构建源代码.而且 make 不运行测试. 我将此命令添加到我的根 CMakeLists.txt 文件中,但它不起作用. add_custom_command(OUTPUT te ..
发布时间:2021-12-26 21:41:41 其他开发

CMake &CTest : make test 不构建测试

我正在 CMake 中尝试 CTest,以便使用 make test 目标自动运行我的一些测试.问题是 CMake 不“理解"我愿意运行的测试必须构建,因为它是项目的一部分. 所以我正在寻找一种方法来明确指定此依赖项. 解决方案 可以说CMake 中的错误(之前在此处跟踪) 这不是开箱即用的.解决方法是执行以下操作: add_test(TestName ExeName)add_cu ..
发布时间:2021-12-26 21:28:28 其他开发

CMake:为 ctest 设置环境变量(或者自动从 ctest/make test 获取失败的测试输出)

我希望 ctest 默认显示失败的测试输出.也就是说,我要运行: $ 进行所有测试 并查看失败测试的任何输出,而无需cat Testing/Temporary/LastTest.log. 似乎有两种方法可以做到这一点: (1) 设置CTEST_OUTPUT_ON_FAILURE环境变量: $ CTEST_OUTPUT_ON_FAILURE=1 进行所有测试$ # 或 CTEST ..
发布时间:2021-12-15 12:04:20 其他开发

不要扩展CMake列表变量

我有一个CMake脚本,该脚本通过 add_test()运行一些测试,该脚本在CMake 3.15中的Windows(Server 2008,不要问)下运行.调用这些测试时,它们在其运行的环境中的PYTHONPATH环境变量似乎已重置为环境默认值,并且不包含它需要的某些路径. 因此,在运行测试时,我需要将PYTHONPATH设置为CMake运行时的$ ENV {PYTHONPATH}变量的值 ..
发布时间:2021-04-22 19:54:26 其他开发

使用ctest/cmake测试非零退出状态

感兴趣的应用程序是编译器,当它在源中遇到错误时,它将返回非零退出代码.编译器的单元测试由一些小片段组成,这些小片段有意触发错误. 用于添加测试的功能是: 功能(add_compiler_test test_name选项)add_test(NAME $ {test_name}命令$$ {DEFAULT_COMPILER_OPTIONS} $ {opt ..
发布时间:2021-04-22 19:53:26 其他开发

如何在运行ctest时查找错误的位置

运行make测试后,我得到以下输出,但是我怎么知道错误是什么? 正在运行测试... 测试项目/ home / puneet / puneet / office / alkimia / pay / build 开始1:alkimia-alkuser 1/4测试#1:alkimia-alkuser .. ................通过0.20秒 开始2:alkimia-alkinv ..
发布时间:2020-10-19 05:24:46 其他开发

cmake ctest对于较大的CTEST_PARALLEL_LEVEL的奇怪行为

我是SO新手。 我有一个简单的单元测试代码,在其中执行以下操作: 使用 mysqrt计算数字的平方根库。 使用平方根的输出,将结果与相同的数字相加并显示结果。 当我使用 CTEST_PARALLEL_LEVEL = 1 运行代码时,我所有的测试用例都通过了。 但是当我执行 CTEST_PARALLEL_LEVEL = 8 ,然后我的测试用例由于无法在每次运行中都不固定的某些输 ..
发布时间:2020-10-03 21:51:44 其他开发

QtCreator 4.3中的CMake显示了许多自动目标,如何删除/隐藏它们?

我刚刚切换到最新版本的QtCreator(4.3.1),项目浏览器现在显示了许多目标,例如 ContinuousBuild,ContinuousConfigure,NightlyBuild,experimentalCoverage 等。 如何删除所有这些(或至少隐藏它们)? 我什至不知道这在CMake中生成的位置。 似乎与此问题相关隐藏自动生成的CTest目标,但我没有使用CLi ..
发布时间:2020-10-03 21:29:07 其他开发

CMake:找不到头文件

我有一个主目录,其中包含以下子目录: A,B,C,D,测试。 在测试中,我有一个CMakeLists文件具有以下内容: cmake_minimum_required(版本2.8) enable_testing() set(TEST_EXE_NAME测试) add_executable($ {TEST_EXE_NAME} test.cpp) add_test(NAME“ te ..
发布时间:2020-10-03 21:03:09 C/C++开发

CMake排除子目录中的测试

我有一个包含libevent库的c ++项目。项目结构: 。 | _ CMakeLists.txt | _ Makefile | _ src | | _ my_lib.cpp | _测试 | | _ my_lib_test.cpp | _ lib | _ libevent | _ CMakeLists.txt | _ ... 构建并运行 ..
发布时间:2020-10-03 20:47:54 其他开发

CMake和CTest的默认“测试”命令跳过一个特别命名的测试

我正在将CTest与CMake结合使用以运行一些测试。我使用 enable_testing()命令,该命令为 make test 提供了一个默认命令。我的子目录中的所有测试均已考虑在内(通过执行 add_test 命令),并且 make test 效果很好,除了一个问题。 有一个测试,我将其命名为 skip_test ,我不想在运行时运行做进行测试。我想添加一个自定义目标,以便我可以运行 m ..
发布时间:2020-10-03 20:36:03 其他开发

使用CMake构建Qt测试

谁能给我一个用Cmake生成并用CTest运行的QT测试代码和CMakeLists.txt的示例。我似乎找不到任何东西! -Kurtis 解决方案 摘自 Charm (Tests / CMakeLists.txt)的示例: SET(TestApplication_SRCS TestApplication.cpp) SET(TEST_LIBRARIES CharmCore $ ..
发布时间:2020-10-03 19:40:18 其他开发

如何在cmake / ctest下告诉测试在哪里找到其输入数据...而无需更改硬编码的文件名

目录 prj / test 包含一些测试脚本 t01.exe , t02.exe 等。其中一些需要输入数据 d01.dat 等,也在 prj / test 。这些数据文件的名称在测试中是硬编码的,我不能轻易更改它。控制文件 CMakeLists.txt 包含 enable_testing() 文件(GLOB test_sources“ t *”) foreach(test_src $ { ..
发布时间:2020-10-03 19:20:54 其他开发