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

Unified Diff: Tools/Scripts/webkitpy/layout_tests/port/driver.py

Issue 219083002: Bug fix: Get the leak log not from error strings but from the line (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 9 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
« no previous file with comments | « Tools/Scripts/webkitpy/layout_tests/port/base.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Tools/Scripts/webkitpy/layout_tests/port/driver.py
diff --git a/Tools/Scripts/webkitpy/layout_tests/port/driver.py b/Tools/Scripts/webkitpy/layout_tests/port/driver.py
index fd44a53e7f034f5a436922c8cea7e97bc8760213..25ccca0b7766b5e612f21c7b122b91adc0b6f0fd 100644
--- a/Tools/Scripts/webkitpy/layout_tests/port/driver.py
+++ b/Tools/Scripts/webkitpy/layout_tests/port/driver.py
@@ -178,7 +178,6 @@ class Driver(object):
self._server_process = None
crash_log = None
- leak_log = None
if crashed:
self.error_from_test, crash_log = self._get_crash_log(text, self.error_from_test, newer_than=start_time)
@@ -193,23 +192,18 @@ class Driver(object):
# Print stdout and stderr to the placeholder crash log; we want as much context as possible.
if self.error_from_test:
crash_log += '\nstdout:\n%s\nstderr:\n%s\n' % (text, self.error_from_test)
- elif leaked:
- self.error_from_test, leak_log = self._get_leak_log(text, self.error_from_test, newer_than=start_time)
return DriverOutput(text, image, actual_image_hash, audio,
crash=crashed, test_time=time.time() - test_begin_time, measurements=self._measurements,
timeout=timed_out, error=self.error_from_test,
crashed_process_name=self._crashed_process_name,
crashed_pid=self._crashed_pid, crash_log=crash_log,
- leak=leaked, leak_log=leak_log,
+ leak=leaked, leak_log=self._leak_log,
pid=pid)
def _get_crash_log(self, stdout, stderr, newer_than):
return self._port._get_crash_log(self._crashed_process_name, self._crashed_pid, stdout, stderr, newer_than)
- def _get_leak_log(self, stdout, stderr, newer_than):
- return self._port._get_leak_log(self._crashed_process_name, self._crashed_pid, stdout, stderr, newer_than)
-
# FIXME: Seems this could just be inlined into callers.
@classmethod
def _command_wrapper(cls, wrapper_option):
@@ -285,6 +279,7 @@ class Driver(object):
self._crashed_process_name = None
self._crashed_pid = None
self._leaked = False
+ self._leak_log = None
cmd_line = self.cmd_line(pixel_tests, per_test_args)
self._server_process = self._port._server_process_constructor(self._port, server_name, cmd_line, environment, logging=self._port.get_option("driver_logging"))
self._server_process.start()
@@ -370,6 +365,8 @@ class Driver(object):
def _check_for_leak(self, error_line):
if error_line.startswith("#LEAK - "):
self._leaked = True
+ match = re.match('#LEAK - (\S+) pid (\d+) (.+)\n', error_line)
+ self._leak_log = match.group(3)
return self._leaked
def _command_from_driver_input(self, driver_input):
@@ -485,7 +482,8 @@ class Driver(object):
if err_line:
if self._check_for_driver_crash(err_line):
break
- self._check_for_leak(err_line)
+ if self._check_for_leak(err_line):
+ break
self.error_from_test += err_line
block.decode_content()
« no previous file with comments | « Tools/Scripts/webkitpy/layout_tests/port/base.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698