Skip to content

Commit

Permalink
kunit: tool: add test to check parsing late test plan
Browse files Browse the repository at this point in the history
Add test to check for the infinite loop caused by the inability
to parse a late test plan.

The test parses the following output:
 TAP version 13
 ok 4 test4
 1..4

Link: https://lore.kernel.org/r/20250313192714.1380005-1-rmoar@google.com
Signed-off-by: Rae Moar <rmoar@google.com>
Reviewed-by: David Gow <davidgow@google.com>
Signed-off-by: Shuah Khan <shuah@kernel.org>
  • Loading branch information
Rae Moar authored and Shuah Khan committed Mar 16, 2025
1 parent 1d4c06d commit 2e0cf2b
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions tools/testing/kunit/kunit_tool_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -363,6 +363,17 @@ def test_show_test_output_on_failure(self):
self.print_mock.assert_any_call(StrContains(' Indented more.'))
self.noPrintCallContains('not ok 1 test1')

def test_parse_late_test_plan(self):
output = """
TAP version 13
ok 4 test4
1..4
"""
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))

def line_stream_from_strs(strs: Iterable[str]) -> kunit_parser.LineStream:
return kunit_parser.LineStream(enumerate(strs, start=1))

Expand Down

0 comments on commit 2e0cf2b

Please sign in to comment.