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

dependencies - CMake & CTest : make test 不构建测试

我正在 CMake 中尝试 CTest,以便使用make test目标自动运行我的一些测试。问题是 CMake 不“理解”我愿意运行的测试必须构建,因为它是项目的一部分。

所以我正在寻找一种明确指定这种依赖关系的方法。

0 投票
2 回答
6071 浏览

testing - 如何使用 CMake 和 CTest 提供参数?

在我想使用 CTest 运行的测试中,我应该使用以下命令添加我想运行的测试:

问题是如果我想为 TestName 提供一个参数,我应该把它放在哪里?在这种情况下,如何在没有 cmake 的情况下在 unix 命令行中单独运行 ctest?

0 投票
1 回答
307 浏览

cmake - CMake CTest 防止截断测试名称

我目前正在运行 CTest,但我遇到了一个问题,即使用长名称进行测试。例如:

被截断为类似的东西

似乎测试名称被截断为大约 31 个字符。我怎样才能改变这个?

谢谢

0 投票
2 回答
8947 浏览

cmake - 使用多个命令进行 CTest

我正在使用 CTest 构建一些测试。通常,我可以简单地通过以下行来设置测试:

但是,我遇到了一个问题,我有一些测试需要运行两个命令才能运行,有什么方法可以在单个 ctest 中运行两个程序,或者我需要创建一个新的测试每个?

谢谢你。

0 投票
2 回答
2764 浏览

dependencies - CMake 和 CTest:如何使目标“每晚”实际构建测试

这是一个众所周知的问题,即执行 make "test" 不会构建这里讨论的测试。如建议的那样,可以通过人工目标“检查”部分解决该问题。我想知道当我调用“make Nightly”时如何强制构建测试。

到目前为止我所做的:

现在“make check”构建一个运行测试,但是“make Nightly”

  • 构建测试
  • 将 repo 更新为 CTEST_NIGHTLY_START_TIME
  • 构建所有其他目标
  • 运行(现已过时的)测试
0 投票
1 回答
19225 浏览

cmake - 如何使我的单元测试适应 cmake 和 ctest?

到目前为止,我一直在使用一种即兴的单元测试程序——基本上是由批处理文件自动运行的整个单元测试程序负载。尽管其中很多都明确地检查了他们的结果,但更多的作弊 - 他们将结果转储到版本控制的文本文件中。测试结果的任何变化都会被 subversion 标记出来,我可以很容易地识别出变化是什么。许多测试输出点文件或其他形式,使我能够获得输出的可视化表示。

问题是我正在改用cmake。使用 cmake 流程意味着使用源外构建,这意味着将结果转储到共享源/构建文件夹中并与源一起对它们进行版本控制并不真正起作用。

作为替代,我想做是告诉单元测试工具在哪里可以找到预期结果的文件(在源代码树中)并让它进行比较。失败时,它应该提供实际结果和差异列表。

这是可能的,还是我应该采取完全不同的方法?

显然,我可以忽略 ctest 而只是将我一直在做的事情调整到源代码之外的构建。例如,我可以对我的文件夹-where-all-the-builds-live 进行版本控制(当然可以自由使用“ignore”)。那是理智的吗?可能不会,因为每个构建最终都会得到预期结果的单独副本。

此外,收到了有关使用 cmake/ctest 进行单元测试的推荐方法的任何建议。我在 cmake 上浪费了相当多的时间,不是因为它不好,而是因为我不明白如何最好地使用它。

编辑

最后,我决定让单元测试的 cmake/ctest 方面尽可能简单。为了根据预期结果测试实际结果,我在我的库中找到了以下函数的主页...

一个典型的单元测试现在看起来像......

在我需要一个可重用的数据转储函数的地方,它需要一个 type 参数std::ostream&,因此它可以转储到实际结果流。

0 投票
3 回答
2523 浏览

cmake - 您如何使用 CTEST_CUSTOM_PRE_TEST?

我搜索了所有文档,但似乎找不到使用 CTEST_CUSTOM_PRE_TEST 的单个示例。

基本上我需要在测试运行之前在服务器上启动并运行一些命令。所以我需要添加一些预测试步骤。CTEST_CUSTOM_PRE_TEST 的语法是什么?

CTEST_CUSTOM_PRE_TEST( ??? 在这里放什么??? ) ADD_TEST(MyTest MyTestCommand)

0 投票
2 回答
13827 浏览

qt - 使用 CMake 构建 Qt 测试

谁能给我一个使用 Cmake 构建并使用 CTest 运行的 QT 测试代码和 CMakeLists.txt 的示例。我好像找不到!

-库蒂斯

0 投票
2 回答
586 浏览

ctest - 未设置 CTest 构建 ID

我有一个 Cdash 配置为接受自动构建和测试的帖子。但是,当任何系统尝试将结果发布到 Cdash 时,会产生以下错误。结果是每个结果都被发布了四次(大概是原始发布尝试加上三次重试)。

谁能告诉我这个神秘的构建 ID 是由什么设置的?我发现一些代码似乎会产生类似的错误,但仍然无法确定可能发生的情况。

Build::GetNumberOfErrors(): BuildId not set
Build::GetNumberOfWarnings(): BuildId not set
提交失败,等待 5 秒...
重试提交:尝试 1 of 3
服务器响应:

0 投票
1 回答
439 浏览

ctest - 未设置 Cdash 构建 ID(CTest、CMake)

我有一个 Cdash 配置为接受自动构建和测试的帖子。但是,当任何系统尝试将结果发布到 Cdash 时,会产生以下错误。结果是每个结果都被发布了四次(大概是原始发布尝试加上三次重试)。

谁能告诉我这个神秘的构建 ID 是由什么设置的?我发现一些代码似乎会产生类似的错误,但仍然无法确定可能发生的情况。

Build::GetNumberOfErrors(): BuildId not set
Build::GetNumberOfWarnings(): BuildId not set
提交失败,等待 5 秒...
重试提交:尝试 1 of 3
服务器响应: