On Tue, Apr 26, 2022 at 1:33 PM Daniel Latypov <dlatypov@xxxxxxxxxx> wrote: > > Consider this invocation > $ ./tools/testing/kunit/kunit.py parse <<EOF > TAP version 14 > 1..2 > ok 1 - suite > # Subtest: no_tests_suite > # catastrophic error! > not ok 1 - no_tests_suite > EOF > > It will have a 0 exit code even though there's a "not ok". > > Consider this one: > $ ./tools/testing/kunit/kunit.py parse <<EOF > TAP version 14 > 1..2 > ok 1 - suite > not ok 1 - no_tests_suite > EOF > > It will a non-zero exit code. > > Why? > We have this line in the kunit_parser.py > > parent_test = parse_test_header(lines, test) > where we have special handling when we see "# Subtest" and we ignore the > explicit reported "not ok 1" status! > > Also, NO_TESTS at a suite-level only results in a non-zero status code > where then there's only one suite atm. > > This change is the minimal one to make sure we don't overwrite it. > > Signed-off-by: Daniel Latypov <dlatypov@xxxxxxxxxx> Reviewed-by: Brendan Higgins <brendanhiggins@xxxxxxxxxx>