kunit: tool: make parser stop overwriting status of suites w/ no_tests
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@google.com>
Reviewed-by: David Gow <davidgow@google.com>
Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
parent
33d4a933e9
commit
dbf0b0d53a
2 changed files with 6 additions and 3 deletions
|
|
@ -775,8 +775,11 @@ def parse_test(lines: LineStream, expected_num: int, log: List[str]) -> Test:
|
|||
|
||||
# Check for there being no tests
|
||||
if parent_test and len(subtests) == 0:
|
||||
test.status = TestStatus.NO_TESTS
|
||||
test.add_error('0 tests run!')
|
||||
# Don't override a bad status if this test had one reported.
|
||||
# Assumption: no subtests means CRASHED is from Test.__init__()
|
||||
if test.status in (TestStatus.TEST_CRASHED, TestStatus.SUCCESS):
|
||||
test.status = TestStatus.NO_TESTS
|
||||
test.add_error('0 tests run!')
|
||||
|
||||
# Add statuses to TestCounts attribute in Test object
|
||||
bubble_up_test_results(test)
|
||||
|
|
|
|||
|
|
@ -3,5 +3,5 @@ TAP version 14
|
|||
# Subtest: suite
|
||||
1..1
|
||||
# Subtest: case
|
||||
ok 1 - case # SKIP
|
||||
ok 1 - case
|
||||
ok 1 - suite
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue