Changeset 247514 in webkit


Ignore:
Timestamp:
Jul 17, 2019 8:44:25 AM (5 years ago)
Author:
Michael Catanzaro
Message:

Unreviewed, rolling out r247512.

Broke API test runners

Reverted changeset:

"[GTK][WPE][webkitpy] Refactor drivers to use the base driver
for setting up the environment and start the drivers."
https://bugs.webkit.org/show_bug.cgi?id=199855
https://trac.webkit.org/changeset/247512

Location:
trunk/Tools
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r247512 r247514  
     12019-07-17  Michael Catanzaro  <mcatanzaro@igalia.com>
     2
     3        Unreviewed, rolling out r247512.
     4
     5        Broke API test runners
     6
     7        Reverted changeset:
     8
     9        "[GTK][WPE][webkitpy] Refactor drivers to use the base driver
     10        for setting up the environment and start the drivers."
     11        https://bugs.webkit.org/show_bug.cgi?id=199855
     12        https://trac.webkit.org/changeset/247512
     13
    1142019-07-17  Carlos Alberto Lopez Perez  <clopez@igalia.com>
    215
  • trunk/Tools/Scripts/webkitpy/port/driver.py

    r247512 r247514  
    433433        environment['__XPC_SQLITE_EXEMPT_PATH_FROM_VNODE_GUARDS'] = environment['SQLITE_EXEMPT_PATH_FROM_VNODE_GUARDS']
    434434
    435         if sys.platform.startswith('linux'):
    436             # Currently on WebKit2, there is no API for setting the application cache directory.
    437             # Each worker should have it's own and it should be cleaned afterwards.
    438             # Set it to inside the temporary folder by prepending XDG_CACHE_HOME with DRIVER_TEMPDIR.
    439             environment['XDG_CACHE_HOME'] = self._port.host.filesystem.join(str(self._driver_tempdir), 'appcache')
    440 
    441435        if self._profiler:
    442436            environment = self._profiler.adjusted_environment(environment)
  • trunk/Tools/Scripts/webkitpy/port/headlessdriver.py

    r247512 r247514  
    3939class HeadlessDriver(Driver):
    4040    def _setup_environ_for_test(self):
    41         driver_environment = super(HeadlessDriver, self)._setup_environ_for_test()
     41        driver_environment = self._port.setup_environ_for_server(self._server_name)
    4242        driver_environment['WPE_USE_HEADLESS_VIEW_BACKEND'] = "1"
     43        driver_environment['LOCAL_RESOURCE_ROOT'] = self._port.layout_tests_dir()
     44        if self._driver_tempdir is not None:
     45            driver_environment['DUMPRENDERTREE_TEMP'] = str(self._driver_tempdir)
     46            driver_environment['XDG_CACHE_HOME'] = self._port.host.filesystem.join(str(self._driver_tempdir), 'appcache')
    4347        return driver_environment
     48
     49    def _start(self, pixel_tests, per_test_args):
     50        super(HeadlessDriver, self).stop()
     51        self._driver_tempdir = self._port._driver_tempdir(self._target_host)
     52        self._crashed_process_name = None
     53        self._crashed_pid = None
     54        self._server_process = self._port._server_process_constructor(self._port, self._server_name, self.cmd_line(pixel_tests, per_test_args), self._setup_environ_for_test())
     55        self._server_process.start()
  • trunk/Tools/Scripts/webkitpy/port/waylanddriver.py

    r247512 r247514  
    4646
    4747    def _setup_environ_for_test(self):
    48         driver_environment = super(WaylandDriver, self)._setup_environ_for_test()
     48        driver_environment = self._port.setup_environ_for_server(self._server_name)
    4949        self._port._copy_value_from_environ_if_set(driver_environment, 'WAYLAND_DISPLAY')
    5050        self._port._copy_value_from_environ_if_set(driver_environment, 'WAYLAND_SOCKET')
    5151        driver_environment['GDK_BACKEND'] = 'wayland'
    5252        driver_environment['EGL_PLATFORM'] = 'wayland'
     53        driver_environment['LOCAL_RESOURCE_ROOT'] = self._port.layout_tests_dir()
     54        if self._driver_tempdir is not None:
     55            driver_environment['DUMPRENDERTREE_TEMP'] = str(self._driver_tempdir)
     56            driver_environment['XDG_CACHE_HOME'] = self._port.host.filesystem.join(str(self._driver_tempdir), 'appcache')
    5357        return driver_environment
     58
     59    def _start(self, pixel_tests, per_test_args):
     60        super(WaylandDriver, self).stop()
     61        self._driver_tempdir = self._port._driver_tempdir(self._target_host)
     62        self._crashed_process_name = None
     63        self._crashed_pid = None
     64        self._server_process = self._port._server_process_constructor(self._port, self._server_name, self.cmd_line(pixel_tests, per_test_args), self._setup_environ_for_test())
     65        self._server_process.start()
  • trunk/Tools/Scripts/webkitpy/port/westondriver.py

    r247512 r247514  
    5656
    5757    def _setup_environ_for_test(self):
    58         driver_environment = super(WestonDriver, self)._setup_environ_for_test()
     58        driver_environment = self._port.setup_environ_for_server(self._server_name)
    5959        driver_environment['DISPLAY'] = ":%d" % self._xvfbdriver._xvfb_run(driver_environment)
    6060        weston_socket = 'WKTesting-weston-%032x' % random.getrandbits(128)
     
    6868        time.sleep(self._startup_delay_secs)
    6969
     70        driver_environment['LOCAL_RESOURCE_ROOT'] = self._port.layout_tests_dir()
     71        if self._driver_tempdir is not None:
     72            # Currently on WebKit2, there is no API for setting the application cache directory.
     73            # Each worker should have its own and it should be cleaned afterwards, when the worker stops.
     74            driver_environment['XDG_CACHE_HOME'] = self._port.host.filesystem.join(str(self._driver_tempdir), 'appcache')
     75            driver_environment['DUMPRENDERTREE_TEMP'] = str(self._driver_tempdir)
    7076        driver_environment['WAYLAND_DISPLAY'] = weston_socket
    7177        driver_environment['GDK_BACKEND'] = 'wayland'
     
    7480        return driver_environment
    7581
     82    def _start(self, pixel_tests, per_test_args):
     83        self.stop()
     84        self._driver_tempdir = self._port._driver_tempdir(self._target_host)
     85        self._crashed_process_name = None
     86        self._crashed_pid = None
     87        self._server_process = self._port._server_process_constructor(self._port, self._server_name, self.cmd_line(pixel_tests, per_test_args), self._setup_environ_for_test())
     88        self._server_process.start()
    7689
    7790    def stop(self):
     
    8194            self._weston_process.terminate()
    8295            self._weston_process = None
     96
  • trunk/Tools/Scripts/webkitpy/port/westondriver_unittest.py

    r247512 r247514  
    5454        port = Port(MockSystemHost(log_executive=True), 'westondrivertestport', options=MockOptions(configuration='Release'))
    5555        port._config.build_directory = lambda configuration: "/mock_build"
    56         port._test_runner_process_constructor = MockServerProcess
     56        port._server_process_constructor = MockServerProcess
    5757
    5858        driver = WestonDriver(port, worker_number=0, pixel_tests=True)
  • trunk/Tools/Scripts/webkitpy/port/xorgdriver.py

    r247512 r247514  
    4646
    4747    def _setup_environ_for_test(self):
    48         server_environment = super(XorgDriver, self)._setup_environ_for_test()
     48        server_environment = self._port.setup_environ_for_server(self._server_name)
    4949        self._port._copy_value_from_environ_if_set(server_environment, 'DISPLAY')
    5050        self._port._copy_value_from_environ_if_set(server_environment, 'XAUTHORITY')
    5151        server_environment['GDK_BACKEND'] = 'x11'
     52        server_environment['LOCAL_RESOURCE_ROOT'] = self._port.layout_tests_dir()
     53        if self._driver_tempdir is not None:
     54            server_environment['DUMPRENDERTREE_TEMP'] = str(self._driver_tempdir)
     55            # Currently on WebKit2, there is no API for setting the application
     56            # cache directory. Each worker should have it's own and it should be
     57            # cleaned afterwards, so we set it to inside the temporary folder by
     58            # prepending XDG_CACHE_HOME with DUMPRENDERTREE_TEMP.
     59            server_environment['XDG_CACHE_HOME'] = self._port.host.filesystem.join(str(self._driver_tempdir), 'appcache')
    5260        return server_environment
     61
     62    def _start(self, pixel_tests, per_test_args):
     63        super(XorgDriver, self).stop()
     64
     65        self._driver_tempdir = self._port._driver_tempdir(self._target_host)
     66
     67        self._crashed_process_name = None
     68        self._crashed_pid = None
     69        self._server_process = self._port._server_process_constructor(self._port, self._server_name, self.cmd_line(pixel_tests, per_test_args), self._setup_environ_for_test())
     70        self._server_process.start()
  • trunk/Tools/Scripts/webkitpy/port/xvfbdriver.py

    r247512 r247514  
    9494
    9595    def _setup_environ_for_test(self):
    96         port_server_environment = self._port.setup_environ_for_server(self._server_name)
    97         driver_environment = super(XvfbDriver, self)._setup_environ_for_test()
    98         display_id = self._xvfb_run(port_server_environment)
     96        environment = self._port.setup_environ_for_server(self._server_name)
     97        display_id = self._xvfb_run(environment)
    9998
    10099        # We must do this here because the DISPLAY number depends on _worker_number
    101         driver_environment['DISPLAY'] = ":%d" % display_id
    102         driver_environment['UNDER_XVFB'] = 'yes'
    103         driver_environment['GDK_BACKEND'] = 'x11'
    104         driver_environment['LOCAL_RESOURCE_ROOT'] = self._port.layout_tests_dir()
    105         return driver_environment
     100        environment['DISPLAY'] = ":%d" % display_id
     101        environment['UNDER_XVFB'] = 'yes'
     102        environment['GDK_BACKEND'] = 'x11'
     103        environment['LOCAL_RESOURCE_ROOT'] = self._port.layout_tests_dir()
     104        if self._driver_tempdir is not None:
     105            environment['DUMPRENDERTREE_TEMP'] = str(self._driver_tempdir)
     106            # Currently on WebKit2, there is no API for setting the application
     107            # cache directory. Each worker should have it's own and it should be
     108            # cleaned afterwards, so we set it to inside the temporary folder by
     109            # prepending XDG_CACHE_HOME with DUMPRENDERTREE_TEMP.
     110            environment['XDG_CACHE_HOME'] = self._port.host.filesystem.join(str(self._driver_tempdir), 'appcache')
     111        return environment
     112
     113    def _start(self, pixel_tests, per_test_args):
     114        self.stop()
     115        self._driver_tempdir = self._port._driver_tempdir(self._target_host)
     116        self._crashed_process_name = None
     117        self._crashed_pid = None
     118        self._server_process = self._port._server_process_constructor(self._port, self._server_name, self.cmd_line(pixel_tests, per_test_args), self._setup_environ_for_test())
     119        self._server_process.start()
    106120
    107121    def stop(self):
  • trunk/Tools/Scripts/webkitpy/port/xvfbdriver_unittest.py

    r247512 r247514  
    4646        port = Port(MockSystemHost(log_executive=True, executive=executive), 'xvfbdrivertestport', options=MockOptions(configuration='Release'))
    4747        port._config.build_directory = lambda configuration: "/mock-build"
    48         port._test_runner_process_constructor = MockServerProcess
     48        port._server_process_constructor = MockServerProcess
    4949        if xorg_running:
    5050            port._executive._running_pids['Xorg'] = 108
     
    5656        driver._xvfb_read_display_id = lambda x: 1
    5757        driver._xvfb_close_pipe = lambda p: None
    58         driver._port_server_environment = port.setup_environ_for_server(port.driver_name())
     58        driver._environment = port.setup_environ_for_server(port.driver_name())
    5959        return driver
    6060
     
    7373    def test_start(self):
    7474        driver = self.make_driver()
    75         expected_logs = ("MOCK popen: ['Xvfb', '-displayfd', '4', '-screen', '0', '1024x768x24', '-nolisten', 'tcp'], env=%s\n" % driver._port_server_environment)
     75        expected_logs = ("MOCK popen: ['Xvfb', '-displayfd', '4', '-screen', '0', '1024x768x24', '-nolisten', 'tcp'], env=%s\n" % driver._environment)
    7676        self.assertDriverStartSuccessful(driver, expected_logs=expected_logs, expected_display=":1")
    7777        self.cleanup_driver(driver)
     
    7979    def test_start_arbitrary_worker_number(self):
    8080        driver = self.make_driver(worker_number=17)
    81         expected_logs = ("MOCK popen: ['Xvfb', '-displayfd', '4', '-screen', '0', '1024x768x24', '-nolisten', 'tcp'], env=%s\n" % driver._port_server_environment)
     81        expected_logs = ("MOCK popen: ['Xvfb', '-displayfd', '4', '-screen', '0', '1024x768x24', '-nolisten', 'tcp'], env=%s\n" % driver._environment)
    8282        self.assertDriverStartSuccessful(driver, expected_logs=expected_logs, expected_display=":1", pixel_tests=True)
    8383        self.cleanup_driver(driver)
Note: See TracChangeset for help on using the changeset viewer.