Re: [PATCH 2/3] kunit: tool: make parser stop overwriting status of suites w/ no_tests

From: Brendan Higgins
Date: Thu May 12 2022 - 13:53:46 EST


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>