Title: [119297] trunk/Tools
- Revision
- 119297
- Author
- [email protected]
- Date
- 2012-06-01 16:11:54 -0700 (Fri, 01 Jun 2012)
Log Message
nrwt seems to leak tmpdirs
https://bugs.webkit.org/show_bug.cgi?id=88126
Reviewed by Ojan Vafai.
Fix leak possibly introduced in r118979 - we now will
make sure we clean up any stale temp directories during the
start routine and attempt to clean up again in __del__. It
turns out that asserting in __del__ logs a message but is
caught by the runtime, so it's mostly useless.
* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitDriver.__del__):
(WebKitDriver._start):
(WebKitDriver.run_test):
* Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
(WebKitDriverTest.test_check_for_driver_crash):
(WebKitDriverTest.test_stop_cleans_up_properly):
(WebKitDriverTest):
(WebKitDriverTest.test_two_starts_cleans_up_properly):
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (119296 => 119297)
--- trunk/Tools/ChangeLog 2012-06-01 23:09:07 UTC (rev 119296)
+++ trunk/Tools/ChangeLog 2012-06-01 23:11:54 UTC (rev 119297)
@@ -1,3 +1,26 @@
+2012-06-01 Dirk Pranke <[email protected]>
+
+ nrwt seems to leak tmpdirs
+ https://bugs.webkit.org/show_bug.cgi?id=88126
+
+ Reviewed by Ojan Vafai.
+
+ Fix leak possibly introduced in r118979 - we now will
+ make sure we clean up any stale temp directories during the
+ start routine and attempt to clean up again in __del__. It
+ turns out that asserting in __del__ logs a message but is
+ caught by the runtime, so it's mostly useless.
+
+ * Scripts/webkitpy/layout_tests/port/webkit.py:
+ (WebKitDriver.__del__):
+ (WebKitDriver._start):
+ (WebKitDriver.run_test):
+ * Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
+ (WebKitDriverTest.test_check_for_driver_crash):
+ (WebKitDriverTest.test_stop_cleans_up_properly):
+ (WebKitDriverTest):
+ (WebKitDriverTest.test_two_starts_cleans_up_properly):
+
2012-06-01 Michael Saboff <[email protected]>
WebFrame::_stringByEvaluatingJavaScriptFromString methods don't handle nil string
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py (119296 => 119297)
--- trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py 2012-06-01 23:09:07 UTC (rev 119296)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit.py 2012-06-01 23:11:54 UTC (rev 119297)
@@ -462,8 +462,7 @@
self._server_process = None
def __del__(self):
- assert(self._server_process is None)
- assert(self._driver_tempdir is None)
+ self.stop()
def cmd_line(self, pixel_tests, per_test_args):
cmd = self._command_wrapper(self._port.get_option('wrapper'))
@@ -488,6 +487,7 @@
return cmd
def _start(self, pixel_tests, per_test_args):
+ self.stop()
self._driver_tempdir = self._port._filesystem.mkdtemp(prefix='%s-' % self._port.driver_name())
server_name = self._port.driver_name()
environment = self._port.setup_environ_for_server(server_name)
@@ -565,8 +565,7 @@
def run_test(self, driver_input):
start_time = time.time()
- if not self._server_process:
- self._start(driver_input.should_run_pixel_test, driver_input.args)
+ self.start(driver_input.should_run_pixel_test, driver_input.args)
self.error_from_test = str()
self.err_seen_eof = False
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit_unittest.py (119296 => 119297)
--- trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit_unittest.py 2012-06-01 23:09:07 UTC (rev 119296)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit_unittest.py 2012-06-01 23:11:54 UTC (rev 119297)
@@ -349,7 +349,7 @@
driver._server_process = FakeServerProcess(False)
driver._subprocess_was_unresponsive = False
assert_crash(driver, '#CRASHED - WebProcess (pid 8675)\n', True, 'WebProcess', 8675)
-
+
driver._crashed_process_name = None
driver._crashed_pid = None
driver._server_process = FakeServerProcess(False)
@@ -376,3 +376,11 @@
self.assertNotEquals(last_tmpdir, None)
driver.stop()
self.assertFalse(port._filesystem.isdir(last_tmpdir))
+
+ def test_two_starts_cleans_up_properly(self):
+ port = TestWebKitPort()
+ driver = WebKitDriver(port, 0, pixel_tests=True)
+ driver.start(True, [])
+ last_tmpdir = port._filesystem.last_tmpdir
+ driver._start(True, [])
+ self.assertFalse(port._filesystem.isdir(last_tmpdir))
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes