Title: [114579] trunk/Tools
Revision
114579
Author
[email protected]
Date
2012-04-18 16:29:33 -0700 (Wed, 18 Apr 2012)

Log Message

[GTK] NRWT bails out if more than one X server runs on the machine
https://bugs.webkit.org/show_bug.cgi?id=84276

Reviewed by Dirk Pranke.

Set up GTK driver's Xvfb display number based on Xorg servers
currently running.

* Scripts/webkitpy/layout_tests/port/gtk.py:
(GtkDriver._start):
(GtkDriver._start.x_filter):

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (114578 => 114579)


--- trunk/Tools/ChangeLog	2012-04-18 23:23:42 UTC (rev 114578)
+++ trunk/Tools/ChangeLog	2012-04-18 23:29:33 UTC (rev 114579)
@@ -1,3 +1,17 @@
+2012-04-18  Philippe Normand  <[email protected]>
+
+        [GTK] NRWT bails out if more than one X server runs on the machine
+        https://bugs.webkit.org/show_bug.cgi?id=84276
+
+        Reviewed by Dirk Pranke.
+
+        Set up GTK driver's Xvfb display number based on Xorg servers
+        currently running.
+
+        * Scripts/webkitpy/layout_tests/port/gtk.py:
+        (GtkDriver._start):
+        (GtkDriver._start.x_filter):
+
 2012-04-18  Dirk Pranke  <[email protected]>
 
         run-webkit-tests picked up an old crash log

Modified: trunk/Tools/Scripts/webkitpy/layout_tests/port/gtk.py (114578 => 114579)


--- trunk/Tools/Scripts/webkitpy/layout_tests/port/gtk.py	2012-04-18 23:23:42 UTC (rev 114578)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/port/gtk.py	2012-04-18 23:29:33 UTC (rev 114579)
@@ -34,17 +34,25 @@
 from webkitpy.layout_tests.models.test_configuration import TestConfiguration
 from webkitpy.layout_tests.port.server_process import ServerProcess
 from webkitpy.layout_tests.port.webkit import WebKitDriver, WebKitPort
+from webkitpy.common.system.executive import Executive
 
-
 _log = logging.getLogger(__name__)
 
 
 class GtkDriver(WebKitDriver):
     def _start(self, pixel_tests, per_test_args):
+
+        # Collect the number of X servers running already and make
+        # sure our Xvfb process doesn't clash with any of them.
+        def x_filter(process_name):
+            return process_name.find("Xorg") > -1
+
+        running_displays = len(Executive().running_pids(x_filter))
+
         # Use even displays for pixel tests and odd ones otherwise. When pixel tests are disabled,
         # DriverProxy creates two drivers, one for normal and the other for ref tests. Both have
         # the same worker number, so this prevents them from using the same Xvfb instance.
-        display_id = self._worker_number * 2 + 1
+        display_id = self._worker_number * 2 + running_displays
         if self._pixel_tests:
             display_id += 1
         run_xvfb = ["Xvfb", ":%d" % (display_id), "-screen",  "0", "800x600x24", "-nolisten", "tcp"]
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to