Chromium Code Reviews| Index: Tools/Scripts/webkitpy/layout_tests/controllers/manager.py |
| diff --git a/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py b/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py |
| index 5fef70088e0fe95f1629917a32412f5e1d4b2f50..89c2f8a3da5f8db5fa990739997073999da9b7c9 100644 |
| --- a/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py |
| +++ b/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py |
| @@ -38,6 +38,7 @@ import datetime |
| import json |
| import logging |
| import random |
| +import signal |
| import sys |
| import time |
| @@ -213,8 +214,11 @@ class Manager(object): |
| initial_results = self._run_tests(tests_to_run, tests_to_skip, self._options.repeat_each, self._options.iterations, |
| int(self._options.child_processes), retrying=False) |
| + # Don't retry failures when interrupted by user or failures limit exception. |
| + should_retry_failures = should_retry_failures and not (initial_results.interrupted or initial_results.keyboard_interrupted) |
| + |
| tests_to_retry = self._tests_to_retry(initial_results) |
| - if should_retry_failures and tests_to_retry and not initial_results.interrupted: |
| + if should_retry_failures and tests_to_retry: |
| enabled_pixel_tests_in_retry = self._force_pixel_tests_if_needed() |
| _log.info('') |
| @@ -249,10 +253,12 @@ class Manager(object): |
| results_path = self._filesystem.join(self._results_directory, "results.html") |
| self._copy_results_html_file(results_path) |
| - if self._options.show_results and (exit_code or (self._options.full_results_html and initial_results.total_failures)): |
| - self._port.show_results_html_file(results_path) |
| - |
| - self._printer.print_results(time.time() - start_time, initial_results, summarized_failing_results) |
| + if initial_results.keyboard_interrupted: |
| + exit_code = signal.SIGINT + 128 |
|
Dirk Pranke
2013/09/12 21:29:06
Seeing as how this constant is actually needed acr
r.kasibhatla
2013/09/13 04:09:42
Uploaded new patch. As explained in previous comme
|
| + else: |
| + if self._options.show_results and (exit_code or (self._options.full_results_html and initial_results.total_failures)): |
| + self._port.show_results_html_file(results_path) |
| + self._printer.print_results(time.time() - start_time, initial_results, summarized_failing_results) |
| return test_run_results.RunDetails(exit_code, summarized_full_results, summarized_failing_results, initial_results, retry_results, enabled_pixel_tests_in_retry) |
| def _run_tests(self, tests_to_run, tests_to_skip, repeat_each, iterations, num_workers, retrying): |