问题标签 [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 投票
2 回答
1219 浏览

c++ - CMake/CTest 与 wine/qemu 的集成

是)我有的:

我为不同平台开发原生统一插件,包括

  • iOS
  • 安卓
  • 视窗
  • 操作系统

cmake用作构建系统和ctest单元测试

我的构建环境 - osx,所以在 osx 上运行单元测试不是问题。

我也知道,为了测试 Android 和 Windows,我可以qemu相应地使用wine

问题:

  • 我只是想知道cmake/ctest提供任何变量来指定一些模拟器,比如wineor qemu?或者我应该为此编写一些自定义脚本?

  • 如何在 iOS(设备或模拟器)上运行本机单元测试?有可能qemu吗?

0 投票
2 回答
2792 浏览

cmake - 仅在 ctest 中运行时测试可执行文件失败

当我使用 ctest 接口到 cmake( add_test(...)) 并运行 make targetmake test时,我的几个测试失败了。当我直接从二进制构建文件夹的命令行运行每个测试时,它们都可以工作。

我可以用什么来调试这个?

0 投票
1 回答
533 浏览

cmake - CMakeLists.txt:如果 ctest 失败,如何打印消息?

ctest如果测试失败,有没有办法可以设置 CMakeLists.txt 打印消息?例如:

0 投票
2 回答
3719 浏览

cmake - 对于 CMakeLists.txt 中的特定项目,将 ctest 命令永久替换为“ctest --output-on-failure”

我发现通用ctest命令没有提供太多关于测试的信息,所以我想添加ctest --output-on-failure但不让用户担心标志。我希望他们只是cmakemake项目并运行 ctest,它应该使用标志--output-on-failure运行 ctest 。是否可以在 CMakeLists.txt 中做到这一点?

编辑:

的输出env CTEST_OUTPUT_ON_FAILURE=1 make test

的输出set_property(TEST TestName PROPERTY ENVIRONMENT "CTEST_OUTPUT_ON_FAILURE=1")

中的标志set_property不起作用。

0 投票
2 回答
1756 浏览

cmake - “ctest”与“make check”:糟糕的构建时间与错误的选项传递

要在 CMake 下注册测试,我们需要

或者

然后对于每个单独的测试(名称fooTest,可执行文件foo

然后可以使用命令运行测试ctest

此外,我们可以使用命令运行测试make check,只要我们添加一次

EXCLUDE_FROM_ALL对于每个测试,我们通过关键字和命令扩展上述内容add_dependencies

make check理想情况下,这将使ctest. 至少有两个原因并非如此:

(1)make check是有缺陷的,因为它没有将选项传递给ctest[2]。特别是,ctest -j4将并行运行 4 个测试,而make -j4 check将在 target 上的一个线程中工作,而check其他三个线程将保持空闲状态。

(2)ctest是有缺陷的[3,4],因为所有测试都是在all目标下构建的,即与主应用程序一起构建。在某些情况下,这可能是期望的行为,但在其他情况下,应该可以将构建推迟到要运行测试为止。

这是否正确地概括了当前的事态?

有什么办法(吃蛋糕并拥有它)吗?

[1] https://cmake.org/Wiki/CMakeEmulateMakeCheck [2] http://comments.gmane.org/gmane.comp.programming.tools.cmake.user/47300 [3] CMake & CTest : make test 不'不构建测试 [4] http://public.kitware.com/Bug/view.php?id=8774

0 投票
2 回答
705 浏览

cmake - 让 CMake 设置 CTtest 以在单个测试的输出周围打印页眉和页脚

有没有办法,理想情况下CMakeLists.txt,设置ctest

  • 在运行单个测试之前打印一个标题,
  • 运行单个测试后打印页脚,
  • 使页脚取决于测试是否全部成功?

页脚应出现在默认输出下方

这具体化并概括了一个自 2 年多以来一直未解决的问题(CMakeLists.txt: How to print a message if ctest failed?)。因此,我担心没有简单的解决方案。

因此,另一个问题是:期望的行为可以实现CDash吗?

0 投票
1 回答
2310 浏览

c++ - 使用 cmake 链接运行时库以进行测试

是否有任何简单的方法可以在运行时将本地构建的库链接到使用 CMAKE 的测试?

例如:

运行测试会在运行时抱怨缺少库:

我可以:

  1. LD_PRELOAD运行 ctest 时设置
  2. 编写一个执行此操作的包装脚本,然后调用可执行文件(我目前拥有的)

不过,我更愿意在 cmake 中做所有事情,因为我认为最好将所有这些配置保存在一个地方以避免将来出现错误。

0 投票
1 回答
101 浏览

cmake - 根据 file() 或 make_directory() 调用进行测试

我有一个测试(add_test(NAME MyTest COMMAND MyExecutable),我只想运行一些“准备”任务。当我有一个依赖于另一个测试的测试时,我会使用SET_TESTS_PROPERTIES(TestA PROPERTIES DEPENDS AnotherTest),但是有没有办法可以做类似的事情SET_TESTS_PROPERTIES(TestA PROPERTIES DEPENDS file(REMOVE /path/to/file))

0 投票
1 回答
1614 浏览

visual-c++ - 设置 CTest (cmake) 环境变量配置特定

在 cmake 脚本中,我有一套依赖于一组插件的测试(其输出因 Windows Debug/Release/RelWithDebInfo 等中的配置而异)。

我想要和 env 变量有正确的路径,比如

这显然只适用于调试版本。

我尝试过

但似乎没有一个适用于所有配置,因为 env 是在 cmake 时解析的。在运行给定配置的正确套件测试之前,有没有办法对这些表达式进行惰性评估?

0 投票
1 回答
2435 浏览

unit-testing - CTest --build-and-test 和 --test-command 选项

我使用 Ctest 运行一堆我使用add_test(). 目前,这些测试不接受任何参数。但是,我想--gtest_output=xml在运行ctest.

我听说可以使用该--test-command选项,但是,我看到我们需要--test-command--build-and-test. 有这种用法的例子吗?