【发布时间】:2021-04-18 11:50:22
【问题描述】:
当使用--timeout 120(或默认超时)运行 CTest 时,该数字是如何传递给测试二进制文件的?
我有一个 C/C++ 测试二进制文件,似乎超时既没有传递给它的命令行上的测试二进制文件,也没有传递给它的环境变量。是否有 CMake 技巧将魔术命令插入 CTestTestfile.cmake 以转发该设置?
【问题讨论】:
-
how is that number passed on to the test binary?为什么会通过?这是测试执行的超时时间,而不是参数。 -
为什么不以某种方式传递?测试可能想知道它。
-
Test may want to know about it没错——因为它会影响测试。从我的角度来看,超时与测试本身无关。测试应该在相同的环境下运行,不管我是用--timeout 1在我的本地机器上赶时间,还是用--timeout 2000在我的gitlab-ci/cd 管道上执行测试。前任。如果我购买更快的 PC,因此我会通过更小的超时,测试应该不同吗?它应该是相同的测试,它应该测试相同的东西。测试应该保持不变,所以Tests may want to know about it然后我看不出原因。