Changeset 268723 in webkit


Ignore:
Timestamp:
Oct 20, 2020 3:58:54 AM (21 months ago)
Author:
Carlos Garcia Campos
Message:

WebDriver: start a https server too for tests
https://bugs.webkit.org/show_bug.cgi?id=217223
<rdar://problem/70136595>

Reviewed by Adrian Perez de Castro.

Tools:

Handle HTTPS configuration in WebDriver WPT server.

  • Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:

(WebDriverW3CExecutor.init): Set https configuration from server.

  • Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:

(WebDriverW3CWebServer._wait_for_server): Also wait for HTTPS port.
(WebDriverW3CWebServer.start): Write config file and get also https port.
(WebDriverW3CWebServer.http_port): Renamed port as http_port.
(WebDriverW3CWebServer.https_port): Added to return the https port.
(WebDriverW3CWebServer.port): Deleted.

WebDriverTests:

  • imported/w3c/config.json: Add HTTPs configuration.
Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r268722 r268723  
     12020-10-20  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        WebDriver: start a https server too for tests
     4        https://bugs.webkit.org/show_bug.cgi?id=217223
     5        <rdar://problem/70136595>
     6
     7        Reviewed by Adrian Perez de Castro.
     8
     9        Handle HTTPS configuration in WebDriver WPT server.
     10
     11        * Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
     12        (WebDriverW3CExecutor.__init__): Set https configuration from server.
     13        * Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py:
     14        (WebDriverW3CWebServer._wait_for_server): Also wait for HTTPS port.
     15        (WebDriverW3CWebServer.start): Write config file and get also https port.
     16        (WebDriverW3CWebServer.http_port): Renamed port as http_port.
     17        (WebDriverW3CWebServer.https_port): Added to return the https port.
     18        (WebDriverW3CWebServer.port): Deleted.
     19
    1202020-10-20  Philippe Normand  <pnormand@igalia.com>
    221
  • trunk/Tools/Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py

    r267831 r268723  
    136136                         'domains': {'': {'': server.host()},
    137137                                     'alt':{ '': '127.0.0.1'}},
    138                          'ports': {'http': [str(server.port())]},
     138                         'ports': {'http': [str(server.http_port())],
     139                                   'https': [str(server.https_port())]},
    139140                         'doc_root': server.document_root()}
    140141        self.runner = TestRunner()
  • trunk/Tools/Scripts/webkitpy/webdriver_tests/webdriver_w3c_web_server.py

    r244492 r268723  
    7272        start_time = time.time()
    7373        while time.time() - start_time < wait_secs:
    74             if self._port._executive.check_running_pid(self._pid) and check_port(self._server_host, self._server_port):
     74            if self._port._executive.check_running_pid(self._pid) \
     75               and check_port(self._server_host, self._server_http_port) \
     76               and check_port(self._server_host, self._server_https_port):
    7577                return True
    7678            time.sleep(sleep_secs)
     
    9395        doc_root = os.path.join(WebKitFinder(self._port.host.filesystem).path_from_webkit_base('WebDriverTests'), 'imported', 'w3c')
    9496        config_filename = os.path.join(doc_root, 'config.json')
    95         config_json = self._port.host.filesystem.read_text_file(config_filename).replace("%DOC_ROOT%", doc_root)
    96         self._port.host.filesystem.write_text_file(os.path.join(self._layout_doc_root, 'config.json'), config_json)
    97         config = json.loads(config_json)
     97        config = json.loads(self._port.host.filesystem.read_text_file(config_filename))
     98        config['doc_root'] = doc_root
     99        config['ssl']['openssl']['base_path'] = os.path.join(self._runtime_path, '_wpt_certs')
     100        self._port.host.filesystem.write_text_file(os.path.join(self._layout_doc_root, 'config.json'), json.dumps(config))
    98101        self._server_host = config['browser_host']
    99         self._server_port = config['ports']['http'][0]
     102        self._server_http_port = config['ports']['http'][0]
     103        self._server_https_port = config['ports']['https'][0]
    100104
    101105        self._wsout = self._port.host.filesystem.open_text_file_for_writing(self._output_log_path)
     
    111115            raise RuntimeError
    112116
    113         _log.info('WebDriver WPT server listening at http://%s:%s/' % (self._server_host, self._server_port))
     117        _log.info('WebDriver WPT server listening at http://%s:%s/ and https://%s:%s/' % (self._server_host, self._server_http_port, self._server_host, self._server_https_port))
    114118
    115119    def stop(self):
     
    130134        return self._server_host
    131135
    132     def port(self):
    133         return self._server_port
     136    def http_port(self):
     137        return self._server_http_port
     138
     139    def https_port(self):
     140        return self._server_https_port
    134141
    135142    def document_root(self):
  • trunk/WebDriverTests/ChangeLog

    r268717 r268723  
     12020-10-20  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        WebDriver: start a https server too for tests
     4        https://bugs.webkit.org/show_bug.cgi?id=217223
     5        <rdar://problem/70136595>
     6
     7        Reviewed by Adrian Perez de Castro.
     8
     9        * imported/w3c/config.json: Add HTTPs configuration.
     10
    1112020-10-20  Carlos Garcia Campos  <cgarcia@igalia.com>
    212
  • trunk/WebDriverTests/imported/w3c/config.json

    r230011 r268723  
    11{"browser_host": "localhost",
    2  "ports":{"http":[8802, null],
    3           "https": [null],
    4           "ws": [null],
    5           "wss": [null]},
     2 "alternate_hosts": { "alt": "127.0.0.1" },
     3 "ports": {"http":[8802, null],
     4           "https": [9444],
     5           "ws": [null],
     6           "wss": [null]
     7          },
    68 "doc_root": "%DOC_ROOT%",
    79 "check_subdomains": false,
    810 "log_level":"debug",
    9  "bind_hostname": false
     11 "bind_hostname": true,
     12 "ssl": {"type": "openssl",
     13         "encrypt_after_connect": false,
     14         "openssl": {
     15             "openssl_binary": "openssl",
     16             "base_path": "%CERTS_DIR%",
     17             "force_regenerate": false
     18         },
     19         "pregenerated": {
     20             "host_key_path": null,
     21             "host_cert_path": null
     22         },
     23         "none": {}
     24        }
    1025}
Note: See TracChangeset for help on using the changeset viewer.