kunit: tool: add test for parsing attributes

Add test for parsing attributes to kunit_tool_test.py. Test checks
attributes are parsed and saved in the test logs.

This test also checks that the attributes have not interfered with the
parsing of other test information, specifically the suite header as
the test plan was being incorrectely parsed.

Signed-off-by: Rae Moar <rmoar@google.com>
Reviewed-by: David Gow <davidgow@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
Rae Moar 2023-12-07 21:34:10 +00:00 committed by Shuah Khan
parent 8ae27bc7ff
commit 6eb0ea28c8
2 changed files with 25 additions and 0 deletions

View File

@ -331,6 +331,22 @@ class KUnitParserTest(unittest.TestCase):
kunit_parser.parse_run_tests(file.readlines())
self.print_mock.assert_any_call(StrContains('suite (1 subtest)'))
def test_parse_attributes(self):
ktap_log = test_data_path('test_parse_attributes.log')
with open(ktap_log) as file:
result = kunit_parser.parse_run_tests(file.readlines())
# Test should pass with no errors
self.assertEqual(result.counts, kunit_parser.TestCounts(passed=1, errors=0))
self.assertEqual(kunit_parser.TestStatus.SUCCESS, result.status)
# Ensure suite header is parsed correctly
self.print_mock.assert_any_call(StrContains('suite (1 subtest)'))
# Ensure attributes in correct test log
self.assertContains('# module: example', result.subtests[0].log)
self.assertContains('# test.speed: slow', result.subtests[0].subtests[0].log)
def test_show_test_output_on_failure(self):
output = """
KTAP version 1

View File

@ -0,0 +1,9 @@
KTAP version 1
1..1
KTAP version 1
# Subtest: suite
# module: example
1..1
# test.speed: slow
ok 1 test
ok 1 suite