Travis 依靠可执行文件上的退出代码来确定测试是通过还是失败。Qt Test 的设计使得每个测试类都包含在它自己的可执行文件中,所以在构建之后,我最终会在我的 bin/tests 文件夹中得到一堆测试。
我不想在构建脚本中对每个测试名称进行硬编码,因此我目前正在使用它们来执行所有测试名称。
find ./bin/tests/ -type f -perm -a=x -exec '{}' \;
测试都正确执行,但是,即使其中一个测试返回一个不同于 0 的退出代码,该行本身也会被解释为退出代码 0,并且测试总是通过 Travis 所知道的。
我想要的是相当于for %a in (bin\tests\*.exe) do %a
windows。
有关一个小示例,请参见https://travis-ci.org/VSRonin/QtModelUtilities/jobs/362301017