kunit: tool: print clearer error message when there's no TAP output
Before: $ ./tools/testing/kunit/kunit.py parse /dev/null ... [ERROR] Test : invalid KTAP input! After: $ ./tools/testing/kunit/kunit.py parse /dev/null ... [ERROR] Test <missing>: could not find any KTAP output! This error message gets printed out when extract_tap_output() yielded no lines. So while it could be because of malformed KTAP output from KUnit, it could also be due to not having any KTAP output at all. Try and make the error message here more clear. 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
3f0a50f345
commit
9660209d94
|
@ -824,7 +824,8 @@ def parse_run_tests(kernel_output: Iterable[str]) -> Test:
|
|||
lines = extract_tap_lines(kernel_output)
|
||||
test = Test()
|
||||
if not lines:
|
||||
test.add_error('invalid KTAP input!')
|
||||
test.name = '<missing>'
|
||||
test.add_error('could not find any KTAP output!')
|
||||
test.status = TestStatus.FAILURE_TO_PARSE_TESTS
|
||||
else:
|
||||
test = parse_test(lines, 0, [])
|
||||
|
|
|
@ -226,7 +226,7 @@ class KUnitParserTest(unittest.TestCase):
|
|||
with open(crash_log) as file:
|
||||
result = kunit_parser.parse_run_tests(
|
||||
kunit_parser.extract_tap_lines(file.readlines()))
|
||||
print_mock.assert_any_call(StrContains('invalid KTAP input!'))
|
||||
print_mock.assert_any_call(StrContains('could not find any KTAP output!'))
|
||||
print_mock.stop()
|
||||
self.assertEqual(0, len(result.subtests))
|
||||
|
||||
|
@ -557,7 +557,7 @@ class KUnitMainTest(unittest.TestCase):
|
|||
self.assertEqual(e.exception.code, 1)
|
||||
self.assertEqual(self.linux_source_mock.build_reconfig.call_count, 1)
|
||||
self.assertEqual(self.linux_source_mock.run_kernel.call_count, 1)
|
||||
self.print_mock.assert_any_call(StrContains('invalid KTAP input!'))
|
||||
self.print_mock.assert_any_call(StrContains('could not find any KTAP output!'))
|
||||
|
||||
def test_exec_no_tests(self):
|
||||
self.linux_source_mock.run_kernel = mock.Mock(return_value=['TAP version 14', '1..0'])
|
||||
|
|
Loading…
Reference in New Issue