• Home
  • Raw
  • Download

Lines Matching refs:test

254 			version_type: str, test: Test) -> None:
268 test.add_error(f'{version_type} version lower than expected!')
270 test.add_error(f'{version_type} version higer than expected!')
272 def parse_ktap_header(lines: LineStream, test: Test) -> bool:
292 check_version(version_num, KTAP_VERSIONS, 'KTAP', test)
295 check_version(version_num, TAP_VERSIONS, 'TAP', test)
303 def parse_test_header(lines: LineStream, test: Test) -> bool:
321 test.name = match.group(1)
327 def parse_test_plan(lines: LineStream, test: Test) -> bool:
346 test.expected_count = None
349 test.expected_count = expected_count
357 def peek_test_name_match(lines: LineStream, test: Test) -> bool:
380 return name == test.name
382 def parse_test_result(lines: LineStream, test: Test,
416 test.name = skip_match.group(4)
418 test.name = match.group(4)
423 test.add_error(f'Expected test number {expected_num} but found {num}')
428 test.status = TestStatus.SKIPPED
430 test.status = TestStatus.SUCCESS
432 test.status = TestStatus.FAILURE
489 def print_test_header(test: Test) -> None:
500 message = test.name
505 if test.expected_count:
506 if test.expected_count == 1:
518 def format_test_result(test: Test) -> str:
532 if test.status == TestStatus.SUCCESS:
533 return stdout.green('[PASSED] ') + test.name
534 if test.status == TestStatus.SKIPPED:
535 return stdout.yellow('[SKIPPED] ') + test.name
536 if test.status == TestStatus.NO_TESTS:
537 return stdout.yellow('[NO TESTS RUN] ') + test.name
538 if test.status == TestStatus.TEST_CRASHED:
539 print_log(test.log)
540 return stdout.red('[CRASHED] ') + test.name
541 print_log(test.log)
542 return stdout.red('[FAILED] ') + test.name
544 def print_test_result(test: Test) -> None:
554 stdout.print_with_timestamp(format_test_result(test))
556 def print_test_footer(test: Test) -> None:
566 message = format_test_result(test)
572 def _summarize_failed_tests(test: Test) -> str:
575 def failed_names(test: Test, parent_name: str) -> List[str]:
578 full_name = test.name
580 full_name = parent_name + '.' + test.name
582 if not test.subtests: # this is a leaf node
587 failed_subtests = [sub for sub in test.subtests if not sub.ok_status()]
588 if parent_name and len(failed_subtests) == len(test.subtests):
596 failures = failed_names(test, '')
604 def print_summary_line(test: Test) -> None:
618 if test.status == TestStatus.SUCCESS:
620 elif test.status in (TestStatus.SKIPPED, TestStatus.NO_TESTS):
628 if test.ok_status() or test.counts.total() < 100:
630 summarized = _summarize_failed_tests(test)
637 def bubble_up_test_results(test: Test) -> None:
647 subtests = test.subtests
648 counts = test.counts
649 status = test.status
654 elif test.counts.get_status() == TestStatus.TEST_CRASHED:
655 test.status = TestStatus.TEST_CRASHED
717 test = Test()
718 test.log.extend(log)
722 test.log.extend(err_log)
727 test.name = "main"
728 ktap_line = parse_ktap_header(lines, test)
729 test.log.extend(parse_diagnostic(lines))
730 parse_test_plan(lines, test)
735 ktap_line = parse_ktap_header(lines, test)
736 subtest_line = parse_test_header(lines, test)
741 test.log.extend(parse_diagnostic(lines))
742 parse_test_plan(lines, test)
743 print_test_header(test)
744 expected_count = test.expected_count
755 if not lines or (peek_test_name_match(lines, test) and
761 test.add_error('missing expected subtest!')
763 test.counts.add_status(
767 test.log.extend(sub_log)
773 test.subtests = subtests
776 test.log.extend(parse_diagnostic(lines))
777 if test.name != "" and not peek_test_name_match(lines, test):
778 test.add_error('missing subtest result line!')
780 parse_test_result(lines, test, expected_num)
786 if test.status in (TestStatus.TEST_CRASHED, TestStatus.SUCCESS):
787 print_log(test.log)
788 test.status = TestStatus.NO_TESTS
789 test.add_error('0 tests run!')
792 bubble_up_test_results(test)
796 print_test_footer(test)
798 print_test_result(test)
799 return test
814 test = Test()
816 test.name = '<missing>'
817 test.add_error('Could not find any KTAP output. Did any KUnit tests run?')
818 test.status = TestStatus.FAILURE_TO_PARSE_TESTS
820 test = parse_test(lines, 0, [], False)
821 if test.status != TestStatus.NO_TESTS:
822 test.status = test.counts.get_status()
824 print_summary_line(test)
825 return test