cmake - 如何编写功能测试脚本在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 文档的哪个位置找到答案?

最佳答案

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

https://stackoverflow.com/questions/33202740/

相关文章:

session - 身份验证为匿名的用户已尝试访问拥有的 session

c++11 - 将 char16_t 转换为 long/integer,(相当于 atoi/atol

gstreamer - 使用 Gstreamer 编码/解码 VP8 或 VP9?

laravel - 如何在 Laravel 的容器中重新绑定(bind)?

angularjs - 如何使用 Firebase 和 AngularJS 创建评论线程?

maven - 在 Nexus 中部署后,POM.xml 中的变量没有被解析?

iis - 如何在没有收到确认消息的情况下退出 IIS Express 工作进程?

codeigniter - 从数据库下载文件或在 codeigniter 中保存文件夹

android - 将抽屉导航添加到现有的 Android 谷歌地图

elixir - 左外连接与 Elixir 的理解