Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2167)

Unified Diff: Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py

Issue 22352002: Support test harness (text-only) tests w/o expected results. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: re-upload Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py
diff --git a/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py b/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py
index 7bc71f4d85d0107dea993f46e0bb1a459358d020..1b694c301f598e98bcb8507d5b3237beb361afe2 100644
--- a/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py
+++ b/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py
@@ -219,13 +219,37 @@ class SingleTestRunner(object):
return TestResult(self._test_name, failures, driver_output.test_time, driver_output.has_stderr(),
pid=driver_output.pid, device_offline=driver_output.device_offline)
- 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))
+ is_testharness_test, testharness_failures = self._compare_testharness_test(driver_output, expected_driver_output)
+ if is_testharness_test:
+ failures.extend(testharness_failures)
+ 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))
return TestResult(self._test_name, failures, driver_output.test_time, driver_output.has_stderr(),
pid=driver_output.pid, device_offline=driver_output.device_offline)
+ def _compare_testharness_test(self, driver_output, expected_driver_output):
+ if expected_driver_output.image or expected_driver_output.audio or expected_driver_output.text:
+ return False, []
+
+ if driver_output.image or driver_output.audio or self._is_render_tree(driver_output.text):
+ return False, []
+
+ failures = []
+ found_a_pass = False
+ text = driver_output.text or ''
+ for line in text.splitlines():
+ if line.startswith('FAIL') or line.startswith('TIMEOUT'):
+ return True, [test_failures.FailureTestHarnessAssertion()]
+ if line.startswith('PASS'):
+ found_a_pass = True
+ return found_a_pass, failures
+
+ def _is_render_tree(self, text):
+ return text and "layer at (0,0) size 800x600" in text
+
def _compare_text(self, expected_text, actual_text):
failures = []
if (expected_text and actual_text and
« no previous file with comments | « LayoutTests/fast/harness/results.html ('k') | Tools/Scripts/webkitpy/layout_tests/controllers/test_result_writer.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698