Bash Travis CI Qt测试集成

Bash Travis CI Qt测试集成,bash,travis-ci,qttest,Bash,Travis Ci,Qttest,Travis依赖可执行文件上的退出代码来确定测试是通过还是失败。Qt测试的设计使得每个测试类都包含在自己的可执行文件中,因此,在构建之后,我在bin/tests文件夹中完成了一系列测试 我不想硬编码构建脚本中的每一个测试名称,所以我目前使用它来执行所有测试 find ./bin/tests/ -type f -perm -a=x -exec '{}' \; 所有测试都正确执行,但即使其中一个测试返回不同于0的退出代码,该行本身也将被解释为退出代码0,并且测试总是尽特拉维斯所能通过 我想要的是在

Travis依赖可执行文件上的退出代码来确定测试是通过还是失败。Qt测试的设计使得每个测试类都包含在自己的可执行文件中,因此,在构建之后,我在bin/tests文件夹中完成了一系列测试

我不想硬编码构建脚本中的每一个测试名称,所以我目前使用它来执行所有测试

find ./bin/tests/ -type f -perm -a=x -exec '{}' \;
所有测试都正确执行,但即使其中一个测试返回不同于0的退出代码,该行本身也将被解释为退出代码0,并且测试总是尽特拉维斯所能通过

我想要的是在(bin\tests\*.exe)中为%a在windows中执行%a的等效


有关一个小示例,请参见我头顶上的快速解决方案

制作如下脚本:

#!/bin/bash

exit=0

while IFS= read line; do
    "$line" || exit=1
done <<< "$(find ./bin/tests/ -type f -perm -a=x)"

exit $exit
#/bin/bash
退出=0
而IFS=读取行;做
“$line”| |退出=1
我不得不补充一句;在“$i”之后,为我工作。我会把这个问题再留一点时间,看看有没有人能想出解决你提到的两点的办法