| 639 | sys.exit(not all_passed) |
| 640 | |
| 641 | def print_results(test_results, max_len_name, runtime): |
| 642 | results = "\n" + BOLD[1] + "%s | %s | %s\n\n" % ("TEST".ljust(max_len_name), "STATUS ", "DURATION") + BOLD[0] |
| 643 | |
| 644 | test_results.sort(key=TestResult.sort_key) |
| 645 | all_passed = True |
| 646 | time_sum = 0 |
| 647 | |
| 648 | for test_result in test_results: |
| 649 | all_passed = all_passed and test_result.was_successful |
| 650 | time_sum += test_result.time |
| 651 | test_result.padding = max_len_name |
| 652 | results += str(test_result) |
| 653 | |
| 654 | status = TICK + "Passed" if all_passed else CROSS + "Failed" |
| 655 | if not all_passed: |
| 656 | results += RED[1] |
| 657 | results += BOLD[1] + "\n%s | %s | %s s (accumulated) \n" % ("ALL".ljust(max_len_name), status.ljust(9), time_sum) + BOLD[0] |
| 658 | if not all_passed: |
| 659 | results += RED[0] |
| 660 | results += "Runtime: %s s\n" % (runtime) |
| 661 | print(results) |
| 662 | |
| 663 | class TestHandler: |
| 664 | """ |