Title: [90036] trunk/Tools
- Revision
- 90036
- Author
- [email protected]
- Date
- 2011-06-29 12:47:04 -0700 (Wed, 29 Jun 2011)
Log Message
2011-06-29 Xan Lopez <[email protected]>
Reviewed by Adam Barth.
[GTK] overlapping drag&drop tests fail on NRWT
https://bugs.webkit.org/show_bug.cgi?id=57640
Make a GTK test driver that spawns one Xvfb instance per
thread. This avoids bad interactions in DnD tests between threads.
* Scripts/webkitpy/layout_tests/port/gtk.py:
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (90035 => 90036)
--- trunk/Tools/ChangeLog 2011-06-29 19:46:28 UTC (rev 90035)
+++ trunk/Tools/ChangeLog 2011-06-29 19:47:04 UTC (rev 90036)
@@ -1,3 +1,15 @@
+2011-06-29 Xan Lopez <[email protected]>
+
+ Reviewed by Adam Barth.
+
+ [GTK] overlapping drag&drop tests fail on NRWT
+ https://bugs.webkit.org/show_bug.cgi?id=57640
+
+ Make a GTK test driver that spawns one Xvfb instance per
+ thread. This avoids bad interactions in DnD tests between threads.
+
+ * Scripts/webkitpy/layout_tests/port/gtk.py:
+
2011-06-29 Sheriff Bot <[email protected]>
Unreviewed, rolling out r89888.
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/gtk.py (90035 => 90036)
--- trunk/Tools/Scripts/webkitpy/layout_tests/port/gtk.py 2011-06-29 19:46:28 UTC (rev 90035)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/gtk.py 2011-06-29 19:47:04 UTC (rev 90036)
@@ -29,19 +29,43 @@
"""WebKit Gtk implementation of the Port interface."""
import logging
+import os
+import signal
+import subprocess
-from webkitpy.layout_tests.port.webkit import WebKitPort
+from webkitpy.layout_tests.port import base, builders, server_process, webkit
_log = logging.getLogger("webkitpy.layout_tests.port.gtk")
-class GtkPort(WebKitPort):
+class GtkDriver(webkit.WebKitDriver):
+ """WebKit Gtk implementation of the Driver class."""
+
+ def start(self):
+ display_id = self._worker_number + 1
+ run_xvfb = ["Xvfb", ":%d" % (display_id)]
+ self._xvfb_process = subprocess.Popen(run_xvfb)
+ environment = self._port.setup_environ_for_server()
+ environment['DISPLAY'] = ":%d" % (display_id)
+ self._server_process = server_process.ServerProcess(self._port,
+ self._port.driver_name(), self.cmd_line(), environment)
+
+ def stop(self):
+ webkit.WebKitDriver.stop(self)
+ os.kill(self._xvfb_process.pid, signal.SIGTERM)
+ self._xvfb_process.wait()
+
+
+class GtkPort(webkit.WebKitPort):
"""WebKit Gtk implementation of the Port class."""
def __init__(self, **kwargs):
kwargs.setdefault('port_name', 'gtk')
- WebKitPort.__init__(self, **kwargs)
+ webkit.WebKitPort.__init__(self, **kwargs)
+ def create_driver(self, worker_number):
+ return GtkDriver(self, worker_number)
+
def _path_to_apache_config_file(self):
# FIXME: This needs to detect the distribution and change config files.
return self._filesystem.join(self.layout_tests_dir(), 'http', 'conf',
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes