Message ID | 20250319223351.1517262-1-rmoar@google.com (mailing list archive) |
---|---|
State | New |
Delegated to: | Brendan Higgins |
Headers | show |
Series | kunit: tool: fix count of tests if late test plan | expand |
On Thu, 20 Mar 2025 at 06:33, Rae Moar <rmoar@google.com> wrote: > > Fix test count with late test plan. > > For example, > TAP version 13 > ok 1 test1 > 1..4 > > Returns a count of 1 passed, 1 crashed (because it expects tests after > the test plan): returning the total count of 2 tests > > Change this to be 1 passed, 1 error: total count of 1 test > > Signed-off-by: Rae Moar <rmoar@google.com> > --- Thanks! Reviewed-by: David Gow <davidgow@google.com> Cheers, -- David > tools/testing/kunit/kunit_parser.py | 4 ++++ > tools/testing/kunit/kunit_tool_test.py | 4 ++-- > 2 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/tools/testing/kunit/kunit_parser.py b/tools/testing/kunit/kunit_parser.py > index da53a709773a..c176487356e6 100644 > --- a/tools/testing/kunit/kunit_parser.py > +++ b/tools/testing/kunit/kunit_parser.py > @@ -809,6 +809,10 @@ def parse_test(lines: LineStream, expected_num: int, log: List[str], is_subtest: > test.log.extend(parse_diagnostic(lines)) > if test.name != "" and not peek_test_name_match(lines, test): > test.add_error(printer, 'missing subtest result line!') > + elif not lines: > + print_log(test.log, printer) > + test.status = TestStatus.NO_TESTS > + test.add_error(printer, 'No more test results!') > else: > parse_test_result(lines, test, expected_num, printer) > > diff --git a/tools/testing/kunit/kunit_tool_test.py b/tools/testing/kunit/kunit_tool_test.py > index 5ff4f6ffd873..bbba921e0eac 100755 > --- a/tools/testing/kunit/kunit_tool_test.py > +++ b/tools/testing/kunit/kunit_tool_test.py > @@ -371,8 +371,8 @@ class KUnitParserTest(unittest.TestCase): > """ > result = kunit_parser.parse_run_tests(output.splitlines(), stdout) > # Missing test results after test plan should alert a suspected test crash. > - self.assertEqual(kunit_parser.TestStatus.TEST_CRASHED, result.status) > - self.assertEqual(result.counts, kunit_parser.TestCounts(passed=1, crashed=1, errors=1)) > + self.assertEqual(kunit_parser.TestStatus.SUCCESS, result.status) > + self.assertEqual(result.counts, kunit_parser.TestCounts(passed=1, errors=2)) > > def line_stream_from_strs(strs: Iterable[str]) -> kunit_parser.LineStream: > return kunit_parser.LineStream(enumerate(strs, start=1)) > > base-commit: 2e0cf2b32f72b20b0db5cc665cd8465d0f257278 > -- > 2.49.0.395.g12beb8f557-goog >
diff --git a/tools/testing/kunit/kunit_parser.py b/tools/testing/kunit/kunit_parser.py index da53a709773a..c176487356e6 100644 --- a/tools/testing/kunit/kunit_parser.py +++ b/tools/testing/kunit/kunit_parser.py @@ -809,6 +809,10 @@ def parse_test(lines: LineStream, expected_num: int, log: List[str], is_subtest: test.log.extend(parse_diagnostic(lines)) if test.name != "" and not peek_test_name_match(lines, test): test.add_error(printer, 'missing subtest result line!') + elif not lines: + print_log(test.log, printer) + test.status = TestStatus.NO_TESTS + test.add_error(printer, 'No more test results!') else: parse_test_result(lines, test, expected_num, printer) diff --git a/tools/testing/kunit/kunit_tool_test.py b/tools/testing/kunit/kunit_tool_test.py index 5ff4f6ffd873..bbba921e0eac 100755 --- a/tools/testing/kunit/kunit_tool_test.py +++ b/tools/testing/kunit/kunit_tool_test.py @@ -371,8 +371,8 @@ class KUnitParserTest(unittest.TestCase): """ result = kunit_parser.parse_run_tests(output.splitlines(), stdout) # Missing test results after test plan should alert a suspected test crash. - self.assertEqual(kunit_parser.TestStatus.TEST_CRASHED, result.status) - self.assertEqual(result.counts, kunit_parser.TestCounts(passed=1, crashed=1, errors=1)) + self.assertEqual(kunit_parser.TestStatus.SUCCESS, result.status) + self.assertEqual(result.counts, kunit_parser.TestCounts(passed=1, errors=2)) def line_stream_from_strs(strs: Iterable[str]) -> kunit_parser.LineStream: return kunit_parser.LineStream(enumerate(strs, start=1))
Fix test count with late test plan. For example, TAP version 13 ok 1 test1 1..4 Returns a count of 1 passed, 1 crashed (because it expects tests after the test plan): returning the total count of 2 tests Change this to be 1 passed, 1 error: total count of 1 test Signed-off-by: Rae Moar <rmoar@google.com> --- tools/testing/kunit/kunit_parser.py | 4 ++++ tools/testing/kunit/kunit_tool_test.py | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) base-commit: 2e0cf2b32f72b20b0db5cc665cd8465d0f257278