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

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

Issue 294973008: Add --sanitizer-mode to run-webkit-tests (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rename command line flag, add tests; ready for review Created 6 years, 7 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 9f2de4b3001b713615c3773de994dfb8949c63c2..c68f1f0733b91a9b87f53ab47bfa2dd4d215bc8a 100644
--- a/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py
+++ b/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py
@@ -112,6 +112,8 @@ class SingleTestRunner(object):
return DriverInput(test_name, self._timeout, image_hash, self._should_run_pixel_test, args)
def run(self):
+ if self._options.enable_sanitizer:
+ return self._run_sanitized_test()
if self._reference_files:
if self._options.reset_results:
reftest_type = set([reference_file[0] for reference_file in self._reference_files])
@@ -123,6 +125,16 @@ class SingleTestRunner(object):
return self._run_rebaseline()
return self._run_compare_test()
+ def _run_sanitized_test(self):
+ # running a sanitized test means that we ignore the actual test output and just look
+ # for timeouts and crashes (real or forced by the driver). Most crashes should
+ # indicate problems found by a sanitizer (ASAN, LSAN, etc.), but we will report
+ # on other crashes and timeouts as well in order to detect at least *some* basic failures.
+ driver_output = self._driver.run_test(self._driver_input(), self._stop_when_done)
+ failures = self._handle_error(driver_output)
+ return TestResult(self._test_name, failures, driver_output.test_time, driver_output.has_stderr(),
+ pid=driver_output.pid)
+
def _run_compare_test(self):
driver_output = self._driver.run_test(self._driver_input(), self._stop_when_done)
expected_driver_output = self._expected_driver_output()

Powered by Google App Engine
This is Rietveld 408576698