diff options
Diffstat (limited to 'tools/testing/kunit/kunit_parser.py')
| -rw-r--r-- | tools/testing/kunit/kunit_parser.py | 20 | 
1 files changed, 10 insertions, 10 deletions
diff --git a/tools/testing/kunit/kunit_parser.py b/tools/testing/kunit/kunit_parser.py index 8019e3dd4c32..bbfe1b4e4c1c 100644 --- a/tools/testing/kunit/kunit_parser.py +++ b/tools/testing/kunit/kunit_parser.py @@ -12,7 +12,7 @@ from collections import namedtuple  from datetime import datetime  from enum import Enum, auto  from functools import reduce -from typing import List +from typing import List, Optional, Tuple  TestResult = namedtuple('TestResult', ['status','suites','log']) @@ -54,6 +54,7 @@ kunit_end_re = re.compile('(List of all partitions:|'  def isolate_kunit_output(kernel_output):  	started = False  	for line in kernel_output: +		line = line.rstrip()  # line always has a trailing \n  		if kunit_start_re.search(line):  			prefix_len = len(line.split('TAP version')[0])  			started = True @@ -65,8 +66,7 @@ def isolate_kunit_output(kernel_output):  def raw_output(kernel_output):  	for line in kernel_output: -		print(line) -		yield line +		print(line.rstrip())  DIVIDER = '=' * 60 @@ -152,7 +152,7 @@ def parse_diagnostic(lines: List[str], test_case: TestCase) -> bool:  	else:  		return False -def parse_test_case(lines: List[str]) -> TestCase: +def parse_test_case(lines: List[str]) -> Optional[TestCase]:  	test_case = TestCase()  	save_non_diagnositic(lines, test_case)  	while parse_diagnostic(lines, test_case): @@ -164,7 +164,7 @@ def parse_test_case(lines: List[str]) -> TestCase:  SUBTEST_HEADER = re.compile(r'^[\s]+# Subtest: (.*)$') -def parse_subtest_header(lines: List[str]) -> str: +def parse_subtest_header(lines: List[str]) -> Optional[str]:  	consume_non_diagnositic(lines)  	if not lines:  		return None @@ -177,7 +177,7 @@ def parse_subtest_header(lines: List[str]) -> str:  SUBTEST_PLAN = re.compile(r'[\s]+[0-9]+\.\.([0-9]+)') -def parse_subtest_plan(lines: List[str]) -> int: +def parse_subtest_plan(lines: List[str]) -> Optional[int]:  	consume_non_diagnositic(lines)  	match = SUBTEST_PLAN.match(lines[0])  	if match: @@ -231,7 +231,7 @@ def bubble_up_test_case_errors(test_suite: TestSuite) -> TestStatus:  	max_test_case_status = bubble_up_errors(lambda x: x.status, test_suite.cases)  	return max_status(max_test_case_status, test_suite.status) -def parse_test_suite(lines: List[str], expected_suite_index: int) -> TestSuite: +def parse_test_suite(lines: List[str], expected_suite_index: int) -> Optional[TestSuite]:  	if not lines:  		return None  	consume_non_diagnositic(lines) @@ -242,7 +242,7 @@ def parse_test_suite(lines: List[str], expected_suite_index: int) -> TestSuite:  		return None  	test_suite.name = name  	expected_test_case_num = parse_subtest_plan(lines) -	if not expected_test_case_num: +	if expected_test_case_num is None:  		return None  	while expected_test_case_num > 0:  		test_case = parse_test_case(lines) @@ -272,7 +272,7 @@ def parse_tap_header(lines: List[str]) -> bool:  TEST_PLAN = re.compile(r'[0-9]+\.\.([0-9]+)') -def parse_test_plan(lines: List[str]) -> int: +def parse_test_plan(lines: List[str]) -> Optional[int]:  	consume_non_diagnositic(lines)  	match = TEST_PLAN.match(lines[0])  	if match: @@ -311,7 +311,7 @@ def parse_test_result(lines: List[str]) -> TestResult:  	else:  		return TestResult(TestStatus.NO_TESTS, [], lines) -def print_and_count_results(test_result: TestResult) -> None: +def print_and_count_results(test_result: TestResult) -> Tuple[int, int, int]:  	total_tests = 0  	failed_tests = 0  	crashed_tests = 0  | 
