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

Reply via email to