Title: [136581] trunk/Tools
Revision
136581
Author
[email protected]
Date
2012-12-04 14:54:01 -0800 (Tue, 04 Dec 2012)

Log Message

nrwt: do less work when ctrl-c'ed
https://bugs.webkit.org/show_bug.cgi?id=103961

Reviewed by Ryosuke Niwa.

Do less work when we are ctrl-c'ed, because the statistics aren't
that useful anyway. While we're at it, modify summarize_results
to be aware that we don't always retry results (instead of pretending
that the retry produced the same results the initial run did).

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(summarize_results):
(Manager.run):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (136580 => 136581)


--- trunk/Tools/ChangeLog	2012-12-04 22:51:45 UTC (rev 136580)
+++ trunk/Tools/ChangeLog	2012-12-04 22:54:01 UTC (rev 136581)
@@ -1,5 +1,21 @@
 2012-12-04  Dirk Pranke  <[email protected]>
 
+        nrwt: do less work when ctrl-c'ed
+        https://bugs.webkit.org/show_bug.cgi?id=103961
+
+        Reviewed by Ryosuke Niwa.
+
+        Do less work when we are ctrl-c'ed, because the statistics aren't
+        that useful anyway. While we're at it, modify summarize_results
+        to be aware that we don't always retry results (instead of pretending
+        that the retry produced the same results the initial run did).
+
+        * Scripts/webkitpy/layout_tests/controllers/manager.py:
+        (summarize_results):
+        (Manager.run):
+
+2012-12-04  Dirk Pranke  <[email protected]>
+
         nrwt: result summaries should not require a list of tests to skip
         https://bugs.webkit.org/show_bug.cgi?id=103951
 

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py (136580 => 136581)


--- trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py	2012-12-04 22:51:45 UTC (rev 136580)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py	2012-12-04 22:54:01 UTC (rev 136581)
@@ -115,7 +115,7 @@
         port_obj: interface to port-specific hooks
         expectations: test_expectations.TestExpectations object
         result_summary: summary object from initial test runs
-        retry_summary: summary object from final test run of retried tests
+        retry_summary: summary object from final test run of retried tests (if any)
         only_unexpected: whether to return a summary only for the unexpected results
     Returns:
         A dictionary containing a summary of the unexpected results from the
@@ -183,16 +183,18 @@
             if test_name in result_summary.unexpected_results:
                 num_missing += 1
         elif test_name in result_summary.unexpected_results:
-            if test_name not in retry_summary.unexpected_results:
+            if retry_summary and test_name not in retry_summary.unexpected_results:
                 actual.extend(expectations.get_expectations_string(test_name).split(" "))
                 num_flaky += 1
-            else:
+            elif retry_summary:
                 retry_result_type = retry_summary.unexpected_results[test_name].type
                 if result_type != retry_result_type:
                     actual.append(keywords[retry_result_type])
                     num_flaky += 1
                 else:
                     num_regressions += 1
+            else:
+                num_regressions += 1
 
         test_dict['expected'] = expected
         test_dict['actual'] = " ".join(actual)
@@ -406,7 +408,6 @@
 
         start_time = time.time()
 
-        retry_summary = None
         try:
             result_summary = self._run_tests(self._test_names, result_summary, int(self._options.child_processes), retrying=False)
 
@@ -419,25 +420,22 @@
                 _log.info("Retrying %d unexpected failure(s) ..." % len(failures))
                 _log.info('')
                 retry_summary = self._run_tests(failures, ResultSummary(self._expectations, failures, 1), 1, retrying=True)
+            else:
+                retry_summary = None
         finally:
-            # If we are ctrl-c'ed; we still want to try and print the results we got, and clean up,
-            # but we don't want to upload anything.
-            end_time = time.time()
+            self._clean_up_run()
 
-            # Some crash logs can take a long time to be written out so look
-            # for new logs after the test run finishes.
-            self._look_for_new_crash_logs(result_summary, start_time)
-            if retry_summary:
-                self._look_for_new_crash_logs(retry_summary, start_time)
-            else:
-                # FIXME: Modify summarize_results to handle retry_summary == None.
-                retry_summary = result_summary
+        end_time = time.time()
 
-            self._clean_up_run()
+        # Some crash logs can take a long time to be written out so look
+        # for new logs after the test run finishes.
+        self._look_for_new_crash_logs(result_summary, start_time)
+        if retry_summary:
+            self._look_for_new_crash_logs(retry_summary, start_time)
 
-            unexpected_results = summarize_results(self._port, self._expectations, result_summary, retry_summary, _only_unexpected_=True)
+        unexpected_results = summarize_results(self._port, self._expectations, result_summary, retry_summary, _only_unexpected_=True)
 
-            self._printer.print_results(end_time - start_time, result_summary, unexpected_results)
+        self._printer.print_results(end_time - start_time, result_summary, unexpected_results)
 
         # FIXME: remove record_results. It's just used for testing. There's no need
         # for it to be a commandline argument.
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to