Changeset 90036 in webkit


Ignore:
Timestamp:
Jun 29, 2011 12:47:04 PM (13 years ago)
Author:
xan@webkit.org
Message:

2011-06-29 Xan Lopez <xlopez@igalia.com>

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:
Location:
trunk/Tools
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r90024 r90036  
     12011-06-29  Xan Lopez  <xlopez@igalia.com>
     2
     3        Reviewed by Adam Barth.
     4
     5        [GTK] overlapping drag&drop tests fail on NRWT
     6        https://bugs.webkit.org/show_bug.cgi?id=57640
     7
     8        Make a GTK test driver that spawns one Xvfb instance per
     9        thread. This avoids bad interactions in DnD tests between threads.
     10
     11        * Scripts/webkitpy/layout_tests/port/gtk.py:
     12
    1132011-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
    214
  • trunk/Tools/Scripts/webkitpy/layout_tests/port/gtk.py

    r89971 r90036  
    3030
    3131import logging
     32import os
     33import signal
     34import subprocess
    3235
    33 from webkitpy.layout_tests.port.webkit import WebKitPort
     36from webkitpy.layout_tests.port import base, builders, server_process, webkit
    3437
    3538_log = logging.getLogger("webkitpy.layout_tests.port.gtk")
    3639
    3740
    38 class GtkPort(WebKitPort):
     41class GtkDriver(webkit.WebKitDriver):
     42    """WebKit Gtk implementation of the Driver class."""
     43
     44    def start(self):
     45        display_id = self._worker_number + 1
     46        run_xvfb = ["Xvfb", ":%d" % (display_id)]
     47        self._xvfb_process = subprocess.Popen(run_xvfb)
     48        environment = self._port.setup_environ_for_server()
     49        environment['DISPLAY'] = ":%d" % (display_id)
     50        self._server_process = server_process.ServerProcess(self._port,
     51            self._port.driver_name(), self.cmd_line(), environment)
     52
     53    def stop(self):
     54        webkit.WebKitDriver.stop(self)
     55        os.kill(self._xvfb_process.pid, signal.SIGTERM)
     56        self._xvfb_process.wait()
     57
     58
     59class GtkPort(webkit.WebKitPort):
    3960    """WebKit Gtk implementation of the Port class."""
    4061
    4162    def __init__(self, **kwargs):
    4263        kwargs.setdefault('port_name', 'gtk')
    43         WebKitPort.__init__(self, **kwargs)
     64        webkit.WebKitPort.__init__(self, **kwargs)
     65
     66    def create_driver(self, worker_number):
     67        return GtkDriver(self, worker_number)
    4468
    4569    def _path_to_apache_config_file(self):
Note: See TracChangeset for help on using the changeset viewer.