【发布时间】:2016-01-17 02:39:42
【问题描述】:
在cmake下,CMakeList.txt
下面的命令
enable_testing()
add_test(<test_name> <test_command>)
创建一个可以通过shell命令ctest
执行的测试就足够了。
不幸的是,cmake 文档没有给出任何构成有效测试可执行文件的指示 (<test_command>
)。通常,测试可执行文件是使用 google-test 之类的框架生成的。有点复杂,但是网上有很好的例子展示了如何在 cmake 下的 google-test 下进行测试。
现在我想将我对 cmake/ctest 的使用扩展到不需要编译的功能测试脚本,因此无法在 google-test 下运行。因此我的问题是:什么是有效的手写测试可执行文件,可通过add_test
直接激活:
- 我的测试可执行文件会生成输出吗?它应该写入 stdout 还是 stderr?
- 我的测试可执行文件是否应返回某些值来指示成功或失败?
- 或者我可以在 cmake 文档的哪里找到答案?
【问题讨论】:
-
我在cmake.org/Bug/view.php?id=15798 报告了缺少文档。
-
他们反应很快,3.5 文档将包含答案:cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f19d6a2c。