Changeset 192738 in webkit


Ignore:
Timestamp:
Nov 22, 2015, 8:02:48 PM (10 years ago)
Author:
ddkilzer@apple.com
Message:

run-webkit-tests: http server for imported W3C tests doesn't work with --layout-tests-directory switch
<http://webkit.org/b/151542>

Reviewed by Daniel Bates.

  • Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:

(base_url): Use the Port object (already passed in) to give us
the path to the LayoutTests directory, which already checks for a
--layout-tests-directory command-line switch.
(WebPlatformTestServer.init): Remove layout_test_results_dir
argument since we can get this from the Port object already
passed in via Port.results_directory(). Also switch to use
Port.layout_tests_dir() to get the LayoutTests directory.

  • Scripts/webkitpy/layout_tests/servers/web_platform_test_server_unittest.py:

(TestWebPlatformTestServer.test_custom_layout_tests_directory):
Add test case for custom LayoutTests directory.
(TestWebPlatformTestServer.test_previously_spawned_instance):
Update Port object to set mock results directory as if it was
set on the command-line. Remove unneeded argument from
WebPlatformTestServer constructor.
(TestWebPlatformTestServer.test_corrupted_subserver_files): Ditto.

  • Scripts/webkitpy/port/base.py:

(Port.to.start_web_platform_test_server): Remove unneeded
argument from WebPlatformTestServer constuctor.

Location:
trunk/Tools
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r192736 r192738  
     12015-11-22  David Kilzer  <ddkilzer@apple.com>
     2
     3        run-webkit-tests: http server for imported W3C tests doesn't work with --layout-tests-directory switch
     4        <http://webkit.org/b/151542>
     5
     6        Reviewed by Daniel Bates.
     7
     8        * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
     9        (base_url): Use the Port object (already passed in) to give us
     10        the path to the LayoutTests directory, which already checks for a
     11        --layout-tests-directory command-line switch.
     12        (WebPlatformTestServer.__init__): Remove layout_test_results_dir
     13        argument since we can get this from the Port object already
     14        passed in via Port.results_directory().  Also switch to use
     15        Port.layout_tests_dir() to get the LayoutTests directory.
     16
     17        * Scripts/webkitpy/layout_tests/servers/web_platform_test_server_unittest.py:
     18        (TestWebPlatformTestServer.test_custom_layout_tests_directory):
     19        Add test case for custom LayoutTests directory.
     20        (TestWebPlatformTestServer.test_previously_spawned_instance):
     21        Update Port object to set mock results directory as if it was
     22        set on the command-line.  Remove unneeded argument from
     23        WebPlatformTestServer constructor.
     24        (TestWebPlatformTestServer.test_corrupted_subserver_files): Ditto.
     25
     26        * Scripts/webkitpy/port/base.py:
     27        (Port.to.start_web_platform_test_server): Remove unneeded
     28        argument from WebPlatformTestServer constuctor.
     29
    1302015-11-22  Carlos Garcia Campos  <cgarcia@igalia.com>
    231
  • trunk/Tools/Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py

    r192617 r192738  
    4141
    4242def base_url(port_obj):
    43     config_wk_filepath = port_obj.path_from_webkit_base("LayoutTests", "imported", "w3c", "resources", "config.json")
     43    config_wk_filepath = port_obj._filesystem.join(port_obj.layout_tests_dir(), "imported", "w3c", "resources", "config.json")
    4444    if not port_obj.host.filesystem.isfile(config_wk_filepath):
    4545        # This should only be hit by webkitpy unit tests
     
    5353
    5454class WebPlatformTestServer(http_server_base.HttpServerBase):
    55     def __init__(self, port_obj, name, layout_test_results_dir, pidfile=None):
     55    def __init__(self, port_obj, name, pidfile=None):
    5656        http_server_base.HttpServerBase.__init__(self, port_obj)
    57         self._output_dir = layout_test_results_dir
     57        self._output_dir = port_obj.results_directory()
    5858
    5959        self._name = name
     
    7070        self._stderr_data = None
    7171        self._filesystem = port_obj.host.filesystem
    72         self._layout_root = port_obj.path_from_webkit_base("LayoutTests")
     72        self._layout_root = port_obj.layout_tests_dir()
    7373        self._doc_root = self._filesystem.join(self._layout_root, doc_root(port_obj))
    7474
     
    7777        current_dir_path = self._filesystem.abspath(self._filesystem.split(__file__)[0])
    7878        self._start_cmd = ["python", self._filesystem.join(current_dir_path, "web_platform_test_launcher.py"), self._servers_file]
    79         self._doc_root_path = port_obj.path_from_webkit_base("LayoutTests", self._doc_root)
     79        self._doc_root_path = self._filesystem.join(self._layout_root, self._doc_root)
    8080
    8181    def _install_modules(self):
  • trunk/Tools/Scripts/webkitpy/layout_tests/servers/web_platform_test_server_unittest.py

    r192617 r192738  
    2323
    2424import imp
     25import optparse
    2526import sys
    2627import time
     
    3940    def test_previously_spawned_instance(self):
    4041        host = MockHost()
    41         port = Port(host, "test")
    42         server = WebPlatformTestServer(port, "wpttest", "/mock/output_dir", "/mock/output_dir/pid.txt")
     42        options = optparse.Values()
     43        options.ensure_value("results_directory", "/mock/output_dir")
     44        port = Port(host, "test", options)
     45        server = WebPlatformTestServer(port, "wpttest", "/mock/output_dir/pid.txt")
    4346        server._check_that_all_ports_are_available = lambda: True
    4447        server._is_server_running_on_all_ports = lambda: True
     
    5053        server.stop()
    5154
     55    def test_custom_layout_tests_directory(self):
     56        host = MockHost()
     57        options = optparse.Values()
     58        options.ensure_value("layout_tests_dir", "/mock-layout-tests-directory/LayoutTests")
     59        options.ensure_value("results_directory", "/mock/output_dir")
     60        port = Port(host, "test", options)
     61        server = WebPlatformTestServer(port, "wpttest", "/mock/output_dir/pid.txt")
     62        server._check_that_all_ports_are_available = lambda: True
     63        server._is_server_running_on_all_ports = lambda: True
     64        host.filesystem.write_text_file("/mock-layout-tests-directory/LayoutTests/resources/testharness.js", "0")
     65        host.filesystem.write_text_file("/mock-layout-tests-directory/LayoutTests/imported/w3c/web-platform-tests/resources/testharness.js", "0")
     66
     67        host.filesystem.write_text_file("/mock_output_dir/pid.txt", "0")
     68        server.start()
     69        server.stop()
     70
    5271    def test_corrupted_subserver_files(self):
    5372        host = MockHost()
    54         port = Port(host, "test")
    55         server = WebPlatformTestServer(port, "wpttest", "/mock/output_dir", "/mock/output_dir/pid.txt")
     73        options = optparse.Values()
     74        options.ensure_value("results_directory", "/mock/output_dir")
     75        port = Port(host, "test", options)
     76        server = WebPlatformTestServer(port, "wpttest", "/mock/output_dir/pid.txt")
    5677        server._check_that_all_ports_are_available = lambda: True
    5778        server._is_server_running_on_all_ports = lambda: True
  • trunk/Tools/Scripts/webkitpy/port/base.py

    r192635 r192738  
    912912        assert not self._web_platform_test_server, 'Already running a Web Platform Test server.'
    913913
    914         self._web_platform_test_server = web_platform_test_server.WebPlatformTestServer(self, "wptwk", self.results_directory())
     914        self._web_platform_test_server = web_platform_test_server.WebPlatformTestServer(self, "wptwk")
    915915        self._web_platform_test_server.start()
    916916
Note: See TracChangeset for help on using the changeset viewer.