On 9/17/26 9:26 AM, Ales Musil wrote:
> On Wed, Sep 16, 2026 at 2:26 PM Dumitru Ceara via dev <
> [email protected]> wrote:
>
>> 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
>>
>>
> Looks good to me, thanks.
>
> Acked-by: Ales Musil <[email protected]>
>
Thanks, Ales!
My AI helper spotted one more thing:
The "timeout -v" diagnostic, which goes to stderr, would also end up
silently captured. Adding "cat $errf" before "return 1" in the
failure branch would preserve those diagnostics.
So I went ahead and also squashed this in:
diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
index 10c935771f..706efedad2 100755
--- a/.ci/linux-build.sh
+++ b/.ci/linux-build.sh
@@ -151,8 +151,8 @@ function run_tests()
TESTSUITEFLAGS="$JOBS $TEST_RANGE" RECHECK=$RECHECK \
SKIP_UNSTABLE=$SKIP_UNSTABLE 2> $errf
then
- # testsuite.log is necessary for debugging.
- cat tests/testsuite.log
+ # The sdterr and testsuite.log is necessary for debugging.
+ cat $errf tests/testsuite.log
return 1
fi
Then I applied the patch to main.
Regards,
Dumitru
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev