| Index: third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py
|
| diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py
|
| index a79ed87878cb56b9985e8570125419426ad0d83f..1804e079dd779904893699c669a31dff88933a8e 100644
|
| --- a/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py
|
| +++ b/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py
|
| @@ -70,6 +70,7 @@ class SingleTestRunner(object):
|
| self._worker_name = worker_name
|
| self._test_name = test_input.test_name
|
| self._should_run_pixel_test = test_input.should_run_pixel_test
|
| + self._should_run_pixel_test_first = test_input.should_run_pixel_test_first
|
| self._reference_files = test_input.reference_files
|
| self._should_add_missing_baselines = test_input.should_add_missing_baselines
|
| self._stop_when_done = stop_when_done
|
| @@ -283,11 +284,27 @@ class SingleTestRunner(object):
|
| is_testharness_test, testharness_failures = self._compare_testharness_test(driver_output, expected_driver_output)
|
| if is_testharness_test:
|
| failures.extend(testharness_failures)
|
| +
|
| + compare_functions = []
|
| + compare_image_fn = (self._compare_image, (expected_driver_output, driver_output))
|
| + compare_txt_fn = (self._compare_text, (expected_driver_output.text, driver_output.text))
|
| + compare_audio_fn = (self._compare_audio, (expected_driver_output.audio, driver_output.audio))
|
| +
|
| + if self._should_run_pixel_test_first:
|
| + if driver_output.image_hash and self._should_run_pixel_test:
|
| + compare_functions.append(compare_image_fn)
|
| + elif not is_testharness_test:
|
| + compare_functions.append(compare_txt_fn)
|
| else:
|
| - failures.extend(self._compare_text(expected_driver_output.text, driver_output.text))
|
| - failures.extend(self._compare_audio(expected_driver_output.audio, driver_output.audio))
|
| - if self._should_run_pixel_test:
|
| - failures.extend(self._compare_image(expected_driver_output, driver_output))
|
| + if not is_testharness_test:
|
| + compare_functions.append(compare_txt_fn)
|
| + if self._should_run_pixel_test:
|
| + compare_functions.append(compare_image_fn)
|
| + compare_functions.append(compare_audio_fn)
|
| +
|
| + for func, args in compare_functions:
|
| + failures.extend(func(*args))
|
| +
|
| has_repaint_overlay = (repaint_overlay.result_contains_repaint_rects(expected_driver_output.text) or
|
| repaint_overlay.result_contains_repaint_rects(driver_output.text))
|
| return TestResult(self._test_name, failures, driver_output.test_time, driver_output.has_stderr(),
|
|
|