如何编写功能测试脚本以在cmake / ctest下运行

时间:2015-10-18 20:15:53

标签: cmake ctest

在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文档的哪个位置找到答案?

1 个答案:

答案 0 :(得分:1)

如果测试通过,您的可执行文件应返回零,否则返回非零值。输出被忽略。 add_test的文档没有提到这一点。