Web platform test server should not try to launch servers on already bound sockets
authoryouenn.fablet@crf.canon.fr <youenn.fablet@crf.canon.fr@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 14 Mar 2016 12:10:23 +0000 (12:10 +0000)
committeryouenn.fablet@crf.canon.fr <youenn.fablet@crf.canon.fr@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 14 Mar 2016 12:10:23 +0000 (12:10 +0000)
https://bugs.webkit.org/show_bug.cgi?id=141157

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

* resources/config.json: Changed wpt https port from 8443 to 9443.
* web-platform-tests/fetch/api/basic/mode-no-cors-expected.txt: Updated according https port change.
* web-platform-tests/fetch/api/basic/mode-no-cors-worker-expected.txt: Ditto.
* web-platform-tests/fetch/api/basic/mode-same-origin-expected.txt: Ditto.
* web-platform-tests/fetch/api/basic/mode-same-origin-worker-expected.txt: Ditto.

Tools:

* Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(wpt_config_json): Load WPT config from LayoutTests/imported/w3c/resources/config.json.
(base_url): Refactored to use wpt_config_json routine.
(WebPlatformTestServer.__init__): Fill port mappings according WPT config.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@198116 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/resources/config.json
LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-expected.txt
LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-no-cors-worker-expected.txt
LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin-expected.txt
LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin-worker-expected.txt
Tools/ChangeLog
Tools/Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py

index 667cba6..5248dd5 100644 (file)
@@ -1,3 +1,16 @@
+2016-03-14  Youenn Fablet  <youenn.fablet@crf.canon.fr>
+
+        Web platform test server should not try to launch servers on already bound sockets
+        https://bugs.webkit.org/show_bug.cgi?id=141157
+
+        Reviewed by Darin Adler.
+
+        * resources/config.json: Changed wpt https port from 8443 to 9443.
+        * web-platform-tests/fetch/api/basic/mode-no-cors-expected.txt: Updated according https port change.
+        * web-platform-tests/fetch/api/basic/mode-no-cors-worker-expected.txt: Ditto.
+        * web-platform-tests/fetch/api/basic/mode-same-origin-expected.txt: Ditto.
+        * web-platform-tests/fetch/api/basic/mode-same-origin-worker-expected.txt: Ditto.
+
 2016-03-11  Youenn Fablet  <youenn.fablet@crf.canon.fr>
 
         [Fetch API] Use DeferredWrapper directly in FetchBody promise handling
index 2678782..3de1b96 100644 (file)
@@ -1,6 +1,6 @@
 {"host": "localhost",
  "ports":{"http":[8800, 8801],
-          "https":[8443],
+          "https":[9443],
           "ws":[49001]},
  "check_subdomains": false,
  "log_level":"debug",
index 4afcc5c..d150a73 100644 (file)
@@ -1,6 +1,6 @@
 
 FAIL Fetch ../resources/top.txt with no-cors mode promise_test: Unhandled rejection with value: "Fetch is not yet implemented"
 FAIL Fetch http://localhost:8800/fetch/api/resources/top.txt with no-cors mode promise_test: Unhandled rejection with value: "Fetch is not yet implemented"
-FAIL Fetch https://localhost:8443/fetch/api/resources/top.txt with no-cors mode promise_test: Unhandled rejection with value: "Fetch is not yet implemented"
+FAIL Fetch https://localhost:9443/fetch/api/resources/top.txt with no-cors mode promise_test: Unhandled rejection with value: "Fetch is not yet implemented"
 FAIL Fetch http://www.localhost:8800/fetch/api/resources/top.txt with no-cors mode promise_test: Unhandled rejection with value: "Fetch is not yet implemented"
 
index 4afcc5c..d150a73 100644 (file)
@@ -1,6 +1,6 @@
 
 FAIL Fetch ../resources/top.txt with no-cors mode promise_test: Unhandled rejection with value: "Fetch is not yet implemented"
 FAIL Fetch http://localhost:8800/fetch/api/resources/top.txt with no-cors mode promise_test: Unhandled rejection with value: "Fetch is not yet implemented"
-FAIL Fetch https://localhost:8443/fetch/api/resources/top.txt with no-cors mode promise_test: Unhandled rejection with value: "Fetch is not yet implemented"
+FAIL Fetch https://localhost:9443/fetch/api/resources/top.txt with no-cors mode promise_test: Unhandled rejection with value: "Fetch is not yet implemented"
 FAIL Fetch http://www.localhost:8800/fetch/api/resources/top.txt with no-cors mode promise_test: Unhandled rejection with value: "Fetch is not yet implemented"
 
index 46907ec..9ac9869 100644 (file)
@@ -1,6 +1,6 @@
 
 FAIL Fetch ../resources/top.txt with same-origin mode promise_test: Unhandled rejection with value: "Fetch is not yet implemented"
 FAIL Fetch http://localhost:8800/fetch/api/resources/top.txt with same-origin mode promise_test: Unhandled rejection with value: "Fetch is not yet implemented"
-FAIL Fetch https://localhost:8443/fetch/api/resources/top.txt with same-origin mode assert_throws: function "function () { throw e }" threw "Fetch is not yet implemented" (undefined) expected object "TypeError" ("TypeError")
+FAIL Fetch https://localhost:9443/fetch/api/resources/top.txt with same-origin mode assert_throws: function "function () { throw e }" threw "Fetch is not yet implemented" (undefined) expected object "TypeError" ("TypeError")
 FAIL Fetch http://www.localhost:8800/fetch/api/resources/top.txt with same-origin mode assert_throws: function "function () { throw e }" threw "Fetch is not yet implemented" (undefined) expected object "TypeError" ("TypeError")
 
index 46907ec..9ac9869 100644 (file)
@@ -1,6 +1,6 @@
 
 FAIL Fetch ../resources/top.txt with same-origin mode promise_test: Unhandled rejection with value: "Fetch is not yet implemented"
 FAIL Fetch http://localhost:8800/fetch/api/resources/top.txt with same-origin mode promise_test: Unhandled rejection with value: "Fetch is not yet implemented"
-FAIL Fetch https://localhost:8443/fetch/api/resources/top.txt with same-origin mode assert_throws: function "function () { throw e }" threw "Fetch is not yet implemented" (undefined) expected object "TypeError" ("TypeError")
+FAIL Fetch https://localhost:9443/fetch/api/resources/top.txt with same-origin mode assert_throws: function "function () { throw e }" threw "Fetch is not yet implemented" (undefined) expected object "TypeError" ("TypeError")
 FAIL Fetch http://www.localhost:8800/fetch/api/resources/top.txt with same-origin mode assert_throws: function "function () { throw e }" threw "Fetch is not yet implemented" (undefined) expected object "TypeError" ("TypeError")
 
index 3fe05cd..4f3cee6 100644 (file)
@@ -1,3 +1,15 @@
+2016-03-14  Youenn Fablet  <youenn.fablet@crf.canon.fr>
+
+        Web platform test server should not try to launch servers on already bound sockets
+        https://bugs.webkit.org/show_bug.cgi?id=141157
+
+        Reviewed by Darin Adler.
+
+        * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
+        (wpt_config_json): Load WPT config from LayoutTests/imported/w3c/resources/config.json.
+        (base_url): Refactored to use wpt_config_json routine.
+        (WebPlatformTestServer.__init__): Fill port mappings according WPT config.
+
 2016-03-13  Joseph Pecoraro  <pecoraro@apple.com>
 
         Remove ENABLE(ES6_TEMPLATE_LITERAL_SYNTAX) guards
index ccb4931..51c95bb 100755 (executable)
@@ -39,14 +39,20 @@ def doc_root(port_obj):
     return doc_root
 
 
-def base_url(port_obj):
+def wpt_config_json(port_obj):
     config_wk_filepath = port_obj._filesystem.join(port_obj.layout_tests_dir(), "imported", "w3c", "resources", "config.json")
     if not port_obj.host.filesystem.isfile(config_wk_filepath):
+        return
+    json_data = port_obj._filesystem.read_text_file(config_wk_filepath)
+    return json.loads(json_data)
+
+
+def base_url(port_obj):
+    config = wpt_config_json(port_obj)
+    if not config:
         # This should only be hit by webkitpy unit tests
         _log.debug("No WPT config file found")
         return "http://localhost:8800/"
-    json_data = port_obj._filesystem.read_text_file(config_wk_filepath)
-    config = json.loads(json_data)
     ports = config["ports"]
     return "http://" + config["host"] + ":" + str(ports["http"][0]) + "/"
 
@@ -78,6 +84,17 @@ class WebPlatformTestServer(http_server_base.HttpServerBase):
         self._start_cmd = ["python", self._filesystem.join(current_dir_path, "web_platform_test_launcher.py"), self._servers_file]
         self._doc_root_path = self._filesystem.join(self._layout_root, self._doc_root)
 
+        self._mappings = []
+        config = wpt_config_json(port_obj)
+        if config:
+            ports = config["ports"]
+            for key in ports:
+                for value in ports[key]:
+                    port = {"port": value}
+                    if key == "https":
+                        port["sslcert"] = True
+                    self._mappings.append(port)
+
     def _install_modules(self):
         modules_file_path = self._filesystem.join(self._doc_root_path, "..", "resources", "web-platform-tests-modules.json")
         if not self._filesystem.isfile(modules_file_path):