Author: tfiala Date: Wed Dec 9 13:05:44 2015 New Revision: 255138 URL: http://llvm.org/viewvc/llvm-project?rev=255138&view=rev Log: Fix new summary to include exceptional exit count in determining exit value
The main dotest.py should exit with a system return code of 1 on any issue. This change fixes a place where I omitted counting the exceptional exit value to determine if we should return 1 when using the new summary results. This change also puts a banner around the Issue Details section that comes before the Test Result Summary. Modified: lldb/trunk/packages/Python/lldbsuite/test/basic_results_formatter.py lldb/trunk/packages/Python/lldbsuite/test/dosep.py Modified: lldb/trunk/packages/Python/lldbsuite/test/basic_results_formatter.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/basic_results_formatter.py?rev=255138&r1=255137&r2=255138&view=diff ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/basic_results_formatter.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/basic_results_formatter.py Wed Dec 9 13:05:44 2015 @@ -113,6 +113,15 @@ class BasicResultsFormatter(result_forma @classmethod def _event_sort_key(cls, event): + """Returns the sort key to be used for a test event. + + This method papers over the differences in a test method result vs. a + job (i.e. inferior process) result. + + @param event a test result or job result event. + @return a key useful for sorting events by name (test name preferably, + then by test filename). + """ if "test_name" in event: return event["test_name"] else: @@ -142,8 +151,23 @@ class BasicResultsFormatter(result_forma key=lambda x: self._event_sort_key(x[1])) return partitioned_events + def _print_banner(self, banner_text): + """Prints an ASCII banner around given text. + + Output goes to the out file for the results formatter. + + @param banner_text the text to display, with a banner + of '=' around the line above and line below. + """ + banner_separator = "".ljust(len(banner_text), "=") + + self.out_file.write("\n{}\n{}\n{}\n".format( + banner_separator, + banner_text, + banner_separator)) + def _print_summary_counts( - self, categories, result_events_by_status, extra_rows): + self, categories, result_events_by_status, extra_rows): """Prints summary counts for all categories. @param categories the list of categories on which to partition. @@ -167,13 +191,7 @@ class BasicResultsFormatter(result_forma if name_length > max_category_name_length: max_category_name_length = name_length - banner_text = "Test Result Summary" - banner_separator = "".ljust(len(banner_text), "=") - - self.out_file.write("\n{}\n{}\n{}\n".format( - banner_separator, - banner_text, - banner_separator)) + self._print_banner("Test Result Summary") # Prepend extra rows if extra_rows is not None: @@ -248,10 +266,11 @@ class BasicResultsFormatter(result_forma if event["event"] == EventBuilder.TYPE_JOB_RESULT: # Jobs status that couldn't be mapped to a test method # doesn't have as much detail. - self.out_file.write("{}: {}{} (no test method running)\n".format( - detail_label, - extra_info, - event["test_filename"])) + self.out_file.write( + "{}: {}{} (no test method running)\n".format( + detail_label, + extra_info, + event["test_filename"])) else: # Test-method events have richer detail, use that here. test_relative_path = os.path.relpath( @@ -298,7 +317,7 @@ class BasicResultsFormatter(result_forma have_details = self._has_printable_details( categories, result_events_by_status) if have_details: - self.out_file.write("\nDetails:\n") + self._print_banner("Issue Details") for category in categories: self._report_category_details( category, result_events_by_status) Modified: lldb/trunk/packages/Python/lldbsuite/test/dosep.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/dosep.py?rev=255138&r1=255137&r2=255138&view=diff ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/dosep.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/dosep.py Wed Dec 9 13:05:44 2015 @@ -1557,7 +1557,9 @@ def main(print_details_on_success, num_t results_formatter.counts_by_test_result_status( EventBuilder.STATUS_FAILURE) + results_formatter.counts_by_test_result_status( - EventBuilder.STATUS_TIMEOUT) + EventBuilder.STATUS_TIMEOUT) + + results_formatter.counts_by_test_result_status( + EventBuilder.STATUS_EXCEPTIONAL_EXIT) ) # Return with appropriate result code _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits