在cmake下,CMakeList.txt
enable_testing()
add_test(<test_name> <test_command>)
足以创建一个可以通过shell命令ctest
执行的测试。
不幸的是,cmake文档没有给出最少的指示,什么构成一个有效的测试可执行文件(<test_command>
)。通常,测试可执行文件是使用类似google-test的框架生成的。这有点复杂,但是网上有很好的例子展示了如何在google-test下在cmake下做测试。
现在我想扩展我的使用cmake/ctest功能测试脚本,不需要编译,因此不能在谷歌测试下运行。因此,我的问题是:什么构成了一个有效的手写测试可执行文件,可以直接通过add_test
激活:
- 我的测试可执行文件应该生成输出吗?它应该写stdout还是stderr?我的测试可执行文件是否应该返回某些值来指示成功或失败?或者在cmake文档中我可以找到答案吗?
如果测试通过,您的可执行文件应该返回零,如果没有,则返回非零。输出将被忽略。add_test
的文档没有提到这个