For example when running with more parallel jobs make check may detect testsuite compilation errors and report them to stderr but will still return a 0 exit code:
# make check TESTSUITEFLAGS="336-338 -j2" ... ## ------------------------ ## ## ovn 26.09.90 test suite. ## ## ------------------------ ## at-groups/337/test-source: line 12: syntax error near unexpected token `|' at-groups/337/test-source: line 12: ` test "x$(echo foobar | | grep "Status")" = "xStatus: paused"' 336: IGMP relay - distributed gateway port -- parallelization=yes -- ovn_monitor_all=no ok 338: MLD snoop/querier/relay -- parallelization=yes -- ovn_monitor_all=yes ok ## ------------- ## ## Test results. ## ## ------------- ## All 2 tests were successful. Check the testsuite stderr output for test related output. Note: some of the tools used during "make check" also write to stderr (e.g., ovs-pki) so in order to avoid false positives just grep for lines related to the tests/testsuite.dir directory. Spotted during an unrelated review: https://mail.openvswitch.org/pipermail/ovs-dev/2026-September/435956.html Signed-off-by: Dumitru Ceara <[email protected]> --- .ci/linux-build.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index 905c1e793a..10c935771f 100755 --- a/.ci/linux-build.sh +++ b/.ci/linux-build.sh @@ -144,15 +144,26 @@ function execute_dist_tests() function run_tests() { + local errf="tests/testsuite.stderr" + if ! timeout -k 5m -v $TIMEOUT make check \ CFLAGS="${COMMON_CFLAGS} ${OVN_CFLAGS}" $JOBS \ TESTSUITEFLAGS="$JOBS $TEST_RANGE" RECHECK=$RECHECK \ - SKIP_UNSTABLE=$SKIP_UNSTABLE + SKIP_UNSTABLE=$SKIP_UNSTABLE 2> $errf then # testsuite.log is necessary for debugging. cat tests/testsuite.log return 1 fi + + if grep -q 'tests/testsuite.dir' $errf; then + # Exit early in case testsuite compilation errors have been detected. + # In order to make these errors as visible as possible, we don't + # return and instead we exit directly. + echo "Potential test compilation errors in stderr output" + cat $errf + exit 1 + fi } function execute_tests() -- 2.55.0 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
