Commit 8ae27bc7 authored by Rae Moar's avatar Rae Moar Committed by Shuah Khan
Browse files

kunit: tool: fix parsing of test attributes



Add parsing of attributes as diagnostic data. Fixes issue with test plan
being parsed incorrectly as diagnostic data when located after
suite-level attributes.

Note that if there does not exist a test plan line, the diagnostic lines
between the suite header and the first result will be saved in the suite
log rather than the first test case log.

Signed-off-by: default avatarRae Moar <rmoar@google.com>
Reviewed-by: default avatarDavid Gow <davidgow@google.com>
Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
parent 1557e89d
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -450,7 +450,7 @@ def parse_diagnostic(lines: LineStream) -> List[str]:
	Log of diagnostic lines
	"""
	log = []  # type: List[str]
	non_diagnostic_lines = [TEST_RESULT, TEST_HEADER, KTAP_START, TAP_START]
	non_diagnostic_lines = [TEST_RESULT, TEST_HEADER, KTAP_START, TAP_START, TEST_PLAN]
	while lines and not any(re.match(lines.peek())
			for re in non_diagnostic_lines):
		log.append(lines.pop())
@@ -726,6 +726,7 @@ def parse_test(lines: LineStream, expected_num: int, log: List[str], is_subtest:
		# test plan
		test.name = "main"
		ktap_line = parse_ktap_header(lines, test)
		test.log.extend(parse_diagnostic(lines))
		parse_test_plan(lines, test)
		parent_test = True
	else:
@@ -737,6 +738,7 @@ def parse_test(lines: LineStream, expected_num: int, log: List[str], is_subtest:
		if parent_test:
			# If KTAP version line and/or subtest header is found, attempt
			# to parse test plan and print test header
			test.log.extend(parse_diagnostic(lines))
			parse_test_plan(lines, test)
			print_test_header(test)
	expected_count = test.expected_count