From 7da408021aa87caf28323ed49a871e0324b225f5 Mon Sep 17 00:00:00 2001 From: WPT Sync Bot Date: Tue, 7 Apr 2020 08:19:11 +0000 Subject: [PATCH] Update web-platform-tests to revision 5254eba7f17d10211b56c0d1958649bca29e8985 --- ...ested-orthogonal-flexbox-relayout.html.ini | 2 + ...ryList-addListener-removeListener.html.ini | 3 + .../cssom-view/elementFromPoint-001.html.ini | 4 - .../cssom-view/elementFromPosition.html.ini | 3 + .../elementsFromPoint-invalid-cases.html.ini | 4 + .../effect-reference-add-hw-001.html.ini | 2 + .../fetch/content-type/response.window.js.ini | 14 +- .../fetch/content-type/script.window.js.ini | 2 +- .../nosniff/parsing-nosniff.window.js.ini | 6 + .../traverse_the_history_1.html.ini | 4 - .../traverse_the_history_5.html.ini | 4 - ...cation-protocol-setter-non-broken.html.ini | 2 +- ...creating_browsing_context_test_01.html.ini | 4 + .../focus/tabindex-focus-flag.html.ini | 52 ++++ .../skip-document-with-fragment.html.ini | 4 + .../supported-elements.html.ini | 12 +- .../iframe_sandbox_popups_escaping-3.html.ini | 3 +- .../audiobuffersource-multi-channels.html.ini | 3 + .../sub-sample-buffer-stitching.html.ini | 3 + .../webmessaging/with-ports/018.html.ini | 5 + .../webmessaging/without-ports/018.html.ini | 5 + tests/wpt/metadata/MANIFEST.json | 238 +++++++++++------- ...margins-no-available-space-assert.html.ini | 2 - ...ested-orthogonal-flexbox-relayout.html.ini | 2 + ...ryList-addListener-removeListener.html.ini | 3 + .../cssom-view/elementFromPoint-001.html.ini | 4 - .../cssom-view/elementFromPosition.html.ini | 3 + .../elementsFromPoint-invalid-cases.html.ini | 4 + .../effect-reference-add-hw-001.html.ini | 2 + .../fetch/content-type/response.window.js.ini | 14 +- .../fetch/content-type/script.window.js.ini | 2 +- .../nosniff/parsing-nosniff.window.js.ini | 6 + .../traverse_the_history_1.html.ini | 4 - .../traverse_the_history_5.html.ini | 4 - ...cation-protocol-setter-non-broken.html.ini | 2 +- ...creating_browsing_context_test_01.html.ini | 4 + .../focus/tabindex-focus-flag.html.ini | 39 +++ .../skip-document-with-fragment.html.ini | 4 + .../supported-elements.html.ini | 12 +- .../iframe_sandbox_popups_escaping-3.html.ini | 3 +- .../audiobuffersource-multi-channels.html.ini | 3 + .../sub-sample-buffer-stitching.html.ini | 3 + .../webmessaging/with-ports/018.html.ini | 5 + .../webmessaging/without-ports/018.html.ini | 5 + .../web-platform-tests/.azure-pipelines.yml | 2 +- ...age-margins-no-available-space-assert.html | 25 -- .../nested-orthogonal-flexbox-relayout.html | 34 +++ ...ested-orthogonal-flexbox-relayout-ref.html | 25 ++ .../fontfaceset-load-css-wide-keywords.html | 60 +++++ .../css/css-shadow-parts/host-part-001.html | 43 ++++ .../cssom/CSSStyleSheet-constructable.html | 105 +++++--- .../background-image-blur-repaint.html | 56 +++++ .../effect-reference-add-hw-001.html | 19 ++ .../effect-reference-after-001.html | 2 +- ...ackground-image-blur-repaint-expected.html | 28 +++ .../effect-reference-add-hw-001-ref.html | 2 + .../effect-reference-after-001-ref.html | 2 +- .../{reference.png => color-palette.png} | Bin .../layout-animations-disabled-tentative.html | 0 ...animations-disabled-tentative.html.headers | 1 + ...isabled-violation-report-js-tentative.html | 11 +- ...violation-report-js-tentative.html.headers | 1 + ...-violation-report-keyframes-tentative.html | 9 +- ...on-report-keyframes-tentative.html.headers | 1 + .../layout-animations-enabled-tentative.html | 0 .../resources/animation-property-height.js | 0 .../experimental-features/resources/common.js | 90 +++++++ ...animations-disabled-tentative.html.headers | 1 - ...violation-report-js-tentative.html.headers | 1 - ...on-report-keyframes-tentative.html.headers | 1 - .../feature-policy-screen-wakelock.html | 2 +- .../focus/tabindex-focus-flag.html | 61 +++++ .../css-module/import-css-module-basic.html | 4 +- .../media-capabilities/decodingInfo.any.js | 67 +++++ ...pSendParameters-degradationPreference.html | 129 ++++++++++ .../web-platform-tests/tools/serve/serve.py | 137 ++++++---- .../tools/wptrunner/wptrunner/environment.py | 21 +- .../tools/wptserve/wptserve/server.py | 9 +- .../idlharness-worker.https.window.js | 2 +- .../wake-lock/idlharness.https.window.js | 4 +- ...k-enabled-by-feature-policy.https.sub.html | 2 +- ...lf-origin-by-feature-policy.https.sub.html | 2 +- .../wake-lock/wakelock-onrelease.https.html | 4 +- .../wakelock-request-denied.https.html | 2 +- .../wakelock-supported-by-feature-policy.html | 2 +- .../wakelockpermissiondescriptor.https.html | 20 +- .../webrtc/RTCRtpParameters-codecs.html | 1 - ...TCRtpParameters-degradationPreference.html | 87 ------- .../webrtc/RTCRtpParameters-encodings.html | 1 - .../RTCRtpParameters-headerExtensions.html | 1 - .../webrtc/RTCRtpParameters-helper.js | 14 +- .../webrtc/RTCRtpParameters-rtcp.html | 1 - .../RTCRtpParameters-transactionId.html | 1 - .../webrtc/RTCRtpReceiver-getParameters.html | 4 +- 94 files changed, 1167 insertions(+), 439 deletions(-) create mode 100644 tests/wpt/metadata-layout-2020/css/css-flexbox/nested-orthogonal-flexbox-relayout.html.ini delete mode 100644 tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-001.html.ini create mode 100644 tests/wpt/metadata-layout-2020/css/cssom-view/elementsFromPoint-invalid-cases.html.ini create mode 100644 tests/wpt/metadata-layout-2020/css/filter-effects/effect-reference-add-hw-001.html.ini delete mode 100644 tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini delete mode 100644 tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini create mode 100644 tests/wpt/metadata-layout-2020/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html.ini create mode 100644 tests/wpt/metadata-layout-2020/html/interaction/focus/tabindex-focus-flag.html.ini create mode 100644 tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini create mode 100644 tests/wpt/metadata-layout-2020/webmessaging/without-ports/018.html.ini delete mode 100644 tests/wpt/metadata/css/css-flexbox/flex-flow-percentage-margins-no-available-space-assert.html.ini create mode 100644 tests/wpt/metadata/css/css-flexbox/nested-orthogonal-flexbox-relayout.html.ini delete mode 100644 tests/wpt/metadata/css/cssom-view/elementFromPoint-001.html.ini create mode 100644 tests/wpt/metadata/css/cssom-view/elementsFromPoint-invalid-cases.html.ini create mode 100644 tests/wpt/metadata/css/filter-effects/effect-reference-add-hw-001.html.ini delete mode 100644 tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini delete mode 100644 tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini create mode 100644 tests/wpt/metadata/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html.ini create mode 100644 tests/wpt/metadata/webmessaging/with-ports/018.html.ini create mode 100644 tests/wpt/metadata/webmessaging/without-ports/018.html.ini delete mode 100644 tests/wpt/web-platform-tests/css/css-flexbox/flex-flow-percentage-margins-no-available-space-assert.html create mode 100644 tests/wpt/web-platform-tests/css/css-flexbox/nested-orthogonal-flexbox-relayout.html create mode 100644 tests/wpt/web-platform-tests/css/css-flexbox/reference/nested-orthogonal-flexbox-relayout-ref.html create mode 100644 tests/wpt/web-platform-tests/css/css-font-loading/fontfaceset-load-css-wide-keywords.html create mode 100644 tests/wpt/web-platform-tests/css/css-shadow-parts/host-part-001.html create mode 100644 tests/wpt/web-platform-tests/css/filter-effects/background-image-blur-repaint.html create mode 100644 tests/wpt/web-platform-tests/css/filter-effects/effect-reference-add-hw-001.html create mode 100644 tests/wpt/web-platform-tests/css/filter-effects/reference/background-image-blur-repaint-expected.html create mode 100644 tests/wpt/web-platform-tests/css/filter-effects/reference/effect-reference-add-hw-001-ref.html rename tests/wpt/web-platform-tests/css/filter-effects/support/{reference.png => color-palette.png} (100%) rename tests/wpt/web-platform-tests/{feature-policy => document-policy}/experimental-features/layout-animations-disabled-tentative.html (100%) create mode 100644 tests/wpt/web-platform-tests/document-policy/experimental-features/layout-animations-disabled-tentative.html.headers rename tests/wpt/web-platform-tests/{feature-policy => document-policy}/experimental-features/layout-animations-disabled-violation-report-js-tentative.html (76%) create mode 100644 tests/wpt/web-platform-tests/document-policy/experimental-features/layout-animations-disabled-violation-report-js-tentative.html.headers rename tests/wpt/web-platform-tests/{feature-policy => document-policy}/experimental-features/layout-animations-disabled-violation-report-keyframes-tentative.html (71%) create mode 100644 tests/wpt/web-platform-tests/document-policy/experimental-features/layout-animations-disabled-violation-report-keyframes-tentative.html.headers rename tests/wpt/web-platform-tests/{feature-policy => document-policy}/experimental-features/layout-animations-enabled-tentative.html (100%) rename tests/wpt/web-platform-tests/{feature-policy => document-policy}/experimental-features/resources/animation-property-height.js (100%) create mode 100644 tests/wpt/web-platform-tests/document-policy/experimental-features/resources/common.js delete mode 100644 tests/wpt/web-platform-tests/feature-policy/experimental-features/layout-animations-disabled-tentative.html.headers delete mode 100644 tests/wpt/web-platform-tests/feature-policy/experimental-features/layout-animations-disabled-violation-report-js-tentative.html.headers delete mode 100644 tests/wpt/web-platform-tests/feature-policy/experimental-features/layout-animations-disabled-violation-report-keyframes-tentative.html.headers create mode 100644 tests/wpt/web-platform-tests/mst-content-hint/RTCRtpSendParameters-degradationPreference.html delete mode 100644 tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-degradationPreference.html diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/nested-orthogonal-flexbox-relayout.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/nested-orthogonal-flexbox-relayout.html.ini new file mode 100644 index 000000000000..a1dee88680c6 --- /dev/null +++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/nested-orthogonal-flexbox-relayout.html.ini @@ -0,0 +1,2 @@ +[nested-orthogonal-flexbox-relayout.html] + expected: FAIL diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini index 628b1fab7703..c884dc82eab6 100644 --- a/tests/wpt/metadata-layout-2020/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini +++ b/tests/wpt/metadata-layout-2020/css/cssom-view/MediaQueryList-addListener-removeListener.html.ini @@ -2,3 +2,6 @@ [listeners are called when + + + + +
+ + + + +
+ +
+ + +
+ + + + + +
+ + +
+ diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/import-css-module-basic.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/import-css-module-basic.html index 902430d0779e..1cb290de3feb 100644 --- a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/import-css-module-basic.html +++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/css-module/import-css-module-basic.html @@ -22,13 +22,13 @@ const iframe = document.createElement("iframe"); iframe.src = "resources/css-module-at-import-iframe.html"; iframe.onload = test.step_func_done(function () { - assert_equals(iframe.contentDocument.load_error, "NotAllowedError"); + assert_equals(iframe.contentDocument.load_error, undefined); assert_not_equals(getComputedStyle(iframe.contentDocument.querySelector('#test')) .backgroundColor, "rgb(255, 0, 0)", "CSS module @import should not succeed"); }); document.body.appendChild(iframe); - }, "An @import CSS Module should not load"); + }, "An @import CSS Module should not load, but should not throw an exception"); async_test(function (test) { const iframe = document.createElement("iframe"); diff --git a/tests/wpt/web-platform-tests/media-capabilities/decodingInfo.any.js b/tests/wpt/web-platform-tests/media-capabilities/decodingInfo.any.js index 2d74d30eeb62..772d47e87295 100644 --- a/tests/wpt/web-platform-tests/media-capabilities/decodingInfo.any.js +++ b/tests/wpt/web-platform-tests/media-capabilities/decodingInfo.any.js @@ -23,6 +23,19 @@ var audioConfigurationWithSpatialRendering = { spatialRendering: true, }; +// VideoConfiguration with optional hdrMetadataType, colorGamut, and +// transferFunction properties. +var videoConfigurationWithDynamicRange = { + contentType: 'video/webm; codecs="vp09.00.10.08"', + width: 800, + height: 600, + bitrate: 3000, + framerate: 24, + hdrMetadataType: "smpteSt2086", + colorGamut: "srgb", + transferFunction: "srgb", +} + promise_test(t => { return promise_rejects_js(t, TypeError, navigator.mediaCapabilities.decodingInfo()); }, "Test that decodingInfo rejects if it doesn't get a configuration"); @@ -314,3 +327,57 @@ promise_test(t => { assert_equals(typeof ability.keySystemAccess, "object"); }); }, "Test that decodingInfo with spatialRendering set returns a valid MediaCapabilitiesInfo objects"); + +promise_test(t => { + return navigator.mediaCapabilities.decodingInfo({ + type: 'file', + video: videoConfigurationWithDynamicRange, + }).then(ability => { + assert_equals(typeof ability.supported, "boolean"); + assert_equals(typeof ability.smooth, "boolean"); + assert_equals(typeof ability.powerEfficient, "boolean"); + assert_equals(typeof ability.keySystemAccess, "object"); + }); +}, "Test that decodingInfo with hdrMetadataType, colorGamut, and transferFunction set returns a valid MediaCapabilitiesInfo objects"); + +promise_test(t => { + return promise_rejects_js(t, TypeError, navigator.mediaCapabilities.decodingInfo({ + type: 'file', + video: { + contentType: 'video/webm; codecs="vp09.00.10.08"', + width: 800, + height: 600, + bitrate: 3000, + framerate: 24, + hdrMetadataType: "" + }, + })); +}, "Test that decodingInfo rejects if the video configuration has an empty hdrMetadataType"); + +promise_test(t => { + return promise_rejects_js(t, TypeError, navigator.mediaCapabilities.decodingInfo({ + type: 'file', + video: { + contentType: 'video/webm; codecs="vp09.00.10.08"', + width: 800, + height: 600, + bitrate: 3000, + framerate: 24, + colorGamut: true + }, + })); +}, "Test that decodingInfo rejects if the video configuration has a colorGamut set to true"); + +promise_test(t => { + return promise_rejects_js(t, TypeError, navigator.mediaCapabilities.decodingInfo({ + type: 'file', + video: { + contentType: 'video/webm; codecs="vp09.00.10.08"', + width: 800, + height: 600, + bitrate: 3000, + framerate: 24, + transferFunction: 3 + }, + })); +}, "Test that decodingInfo rejects if the video configuration has a transferFunction set to 3"); diff --git a/tests/wpt/web-platform-tests/mst-content-hint/RTCRtpSendParameters-degradationPreference.html b/tests/wpt/web-platform-tests/mst-content-hint/RTCRtpSendParameters-degradationPreference.html new file mode 100644 index 000000000000..3573bb587602 --- /dev/null +++ b/tests/wpt/web-platform-tests/mst-content-hint/RTCRtpSendParameters-degradationPreference.html @@ -0,0 +1,129 @@ + + +RTCRtpSendParameters degradationPreference + + + diff --git a/tests/wpt/web-platform-tests/tools/serve/serve.py b/tests/wpt/web-platform-tests/tools/serve/serve.py index e4f0d5efaee3..45bfd4766ebc 100644 --- a/tests/wpt/web-platform-tests/tools/serve/serve.py +++ b/tests/wpt/web-platform-tests/tools/serve/serve.py @@ -34,7 +34,7 @@ EDIT_HOSTS_HELP = ("Please ensure all the necessary WPT subdomains " - "are mapped to a loopback device in /etc/hosts. " + "are mapped to a loopback device in /etc/hosts.\n" "See https://web-platform-tests.org/running-tests/from-local-system.html#system-setup " "for instructions.") @@ -419,10 +419,10 @@ def create_daemon(self, init_func, host, port, paths, routes, bind_address, try: self.daemon = init_func(host, port, paths, routes, bind_address, config, **kwargs) except socket.error: - print("Socket error on port %s" % port, file=sys.stderr) + logger.critical("Socket error on port %s" % port, file=sys.stderr) raise except Exception: - print(traceback.format_exc(), file=sys.stderr) + logger.critical(traceback.format_exc()) raise if self.daemon: @@ -538,50 +538,68 @@ def start_servers(host, ports, paths, routes, bind_address, config, **kwargs): return servers +def startup_failed(log=True): + # Log=False is a workaround for https://github.com/web-platform-tests/wpt/issues/22719 + if log: + logger.critical(EDIT_HOSTS_HELP) + else: + print("CRITICAL %s" % EDIT_HOSTS_HELP, file=sys.stderr) + sys.exit(1) + + def start_http_server(host, port, paths, routes, bind_address, config, **kwargs): - return wptserve.WebTestHttpd(host=host, - port=port, - doc_root=paths["doc_root"], - routes=routes, - rewrites=rewrites, - bind_address=bind_address, - config=config, - use_ssl=False, - key_file=None, - certificate=None, - latency=kwargs.get("latency")) + try: + return wptserve.WebTestHttpd(host=host, + port=port, + doc_root=paths["doc_root"], + routes=routes, + rewrites=rewrites, + bind_address=bind_address, + config=config, + use_ssl=False, + key_file=None, + certificate=None, + latency=kwargs.get("latency")) + except Exception: + startup_failed() def start_https_server(host, port, paths, routes, bind_address, config, **kwargs): - return wptserve.WebTestHttpd(host=host, - port=port, - doc_root=paths["doc_root"], - routes=routes, - rewrites=rewrites, - bind_address=bind_address, - config=config, - use_ssl=True, - key_file=config.ssl_config["key_path"], - certificate=config.ssl_config["cert_path"], - encrypt_after_connect=config.ssl_config["encrypt_after_connect"], - latency=kwargs.get("latency")) + try: + return wptserve.WebTestHttpd(host=host, + port=port, + doc_root=paths["doc_root"], + routes=routes, + rewrites=rewrites, + bind_address=bind_address, + config=config, + use_ssl=True, + key_file=config.ssl_config["key_path"], + certificate=config.ssl_config["cert_path"], + encrypt_after_connect=config.ssl_config["encrypt_after_connect"], + latency=kwargs.get("latency")) + except Exception: + startup_failed() def start_http2_server(host, port, paths, routes, bind_address, config, **kwargs): - return wptserve.WebTestHttpd(host=host, - port=port, - handler_cls=wptserve.Http2WebTestRequestHandler, - doc_root=paths["doc_root"], - routes=routes, - rewrites=rewrites, - bind_address=bind_address, - config=config, - use_ssl=True, - key_file=config.ssl_config["key_path"], - certificate=config.ssl_config["cert_path"], - encrypt_after_connect=config.ssl_config["encrypt_after_connect"], - latency=kwargs.get("latency"), - http2=True) + try: + return wptserve.WebTestHttpd(host=host, + port=port, + handler_cls=wptserve.Http2WebTestRequestHandler, + doc_root=paths["doc_root"], + routes=routes, + rewrites=rewrites, + bind_address=bind_address, + config=config, + use_ssl=True, + key_file=config.ssl_config["key_path"], + certificate=config.ssl_config["cert_path"], + encrypt_after_connect=config.ssl_config["encrypt_after_connect"], + latency=kwargs.get("latency"), + http2=True) + except Exception: + startup_failed() class WebSocketDaemon(object): @@ -603,6 +621,12 @@ def __init__(self, host, port, doc_root, handlers_root, bind_address, ssl_config opts.is_executable_method = None self.server = pywebsocket.WebSocketServer(opts) ports = [item[0].getsockname()[1] for item in self.server._sockets] + if not ports: + # TODO: Fix the logging configuration in WebSockets processes + # see https://github.com/web-platform-tests/wpt/issues/22719 + print("Failed to start websocket server on port %s, " + "is something already using that port?" % port, file=sys.stderr) + raise OSError() assert all(item == ports[0] for item in ports) self.port = ports[0] self.started = False @@ -651,12 +675,15 @@ def start_ws_server(host, port, paths, routes, bind_address, config, **kwargs): # in the logging module unlocked reload_module(logging) release_mozlog_lock() - return WebSocketDaemon(host, - str(port), - repo_root, - config.paths["ws_doc_root"], - bind_address, - ssl_config=None) + try: + return WebSocketDaemon(host, + str(port), + repo_root, + config.paths["ws_doc_root"], + bind_address, + ssl_config=None) + except Exception: + startup_failed(log=False) def start_wss_server(host, port, paths, routes, bind_address, config, **kwargs): @@ -664,12 +691,15 @@ def start_wss_server(host, port, paths, routes, bind_address, config, **kwargs): # in the logging module unlocked reload_module(logging) release_mozlog_lock() - return WebSocketDaemon(host, - str(port), - repo_root, - config.paths["ws_doc_root"], - bind_address, - config.ssl_config) + try: + return WebSocketDaemon(host, + str(port), + repo_root, + config.paths["ws_doc_root"], + bind_address, + config.ssl_config) + except Exception: + startup_failed(log=False) def start(config, routes, **kwargs): @@ -892,7 +922,8 @@ def handle_signal(signum, frame): signal.signal(signal.SIGTERM, handle_signal) signal.signal(signal.SIGINT, handle_signal) - while all(item.is_alive() for item in iter_procs(servers)) and not received_signal.is_set(): + while (all(item.is_alive() for item in iter_procs(servers)) and + not received_signal.is_set()): for item in iter_procs(servers): item.join(1) exited = [item for item in iter_procs(servers) if not item.is_alive()] diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/environment.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/environment.py index 2ed4a0f5f93e..cbbee8213266 100644 --- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/environment.py +++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/environment.py @@ -92,6 +92,7 @@ def __enter__(self): self.servers = serve.start(self.config, self.get_routes()) + if self.options.get("supports_debugger") and self.debug_info and self.debug_info.interactive: self.ignore_interrupts() return self @@ -212,8 +213,10 @@ def ensure_started(self): each_sleep_secs = 0.5 end_time = time.time() + total_sleep_secs while time.time() < end_time: - failed = self.test_servers() - if not failed: + failed, pending = self.test_servers() + if failed: + break + if not pending: return time.sleep(each_sleep_secs) raise EnvironmentError("Servers failed to start: %s" % @@ -221,19 +224,23 @@ def ensure_started(self): def test_servers(self): failed = [] + pending = [] host = self.config["server_host"] for scheme, servers in iteritems(self.servers): for port, server in servers: - if self.test_server_port: + if not server.is_alive(): + failed.append((scheme, port)) + + if not failed and self.test_server_port: + for scheme, servers in iteritems(self.servers): + for port, server in servers: s = socket.socket() s.settimeout(0.1) try: s.connect((host, port)) except socket.error: - failed.append((host, port)) + pending.append((host, port)) finally: s.close() - if not server.is_alive(): - failed.append((scheme, port)) - return failed + return failed, pending diff --git a/tests/wpt/web-platform-tests/tools/wptserve/wptserve/server.py b/tests/wpt/web-platform-tests/tools/wptserve/wptserve/server.py index 9e842802fc0f..c2498c4ee1e8 100644 --- a/tests/wpt/web-platform-tests/tools/wptserve/wptserve/server.py +++ b/tests/wpt/web-platform-tests/tools/wptserve/wptserve/server.py @@ -64,12 +64,6 @@ """ -EDIT_HOSTS_HELP = ("Please ensure all the necessary WPT subdomains " - "are mapped to a loopback device in /etc/hosts. " - "See https://web-platform-tests.org/running-tests/from-local-system.html#system-setup " - "for instructions.") - - class RequestRewriter(object): def __init__(self, rules): """Object for rewriting the request path. @@ -676,7 +670,8 @@ def __init__(self, host="127.0.0.1", port=8000, _host, self.port = self.httpd.socket.getsockname() except Exception: - self.logger.critical("Failed to start HTTP server. {}".format(EDIT_HOSTS_HELP)) + self.logger.critical("Failed to start HTTP server on port %s; " + "is something already using that port?" % port) raise def start(self, block=False): diff --git a/tests/wpt/web-platform-tests/wake-lock/idlharness-worker.https.window.js b/tests/wpt/web-platform-tests/wake-lock/idlharness-worker.https.window.js index c747ad6872a9..76f5352721df 100644 --- a/tests/wpt/web-platform-tests/wake-lock/idlharness-worker.https.window.js +++ b/tests/wpt/web-platform-tests/wake-lock/idlharness-worker.https.window.js @@ -7,7 +7,7 @@ promise_test(async t => { await test_driver.set_permission( - { name: 'wake-lock', type: 'system' }, 'granted', false); + { name: 'system-wake-lock' }, 'granted', false); await fetch_tests_from_worker(new Worker('resources/idlharness-worker.js')); }, 'Run idlharness tests in a worker.'); diff --git a/tests/wpt/web-platform-tests/wake-lock/idlharness.https.window.js b/tests/wpt/web-platform-tests/wake-lock/idlharness.https.window.js index f9e3c02175d5..60c25f3386ea 100644 --- a/tests/wpt/web-platform-tests/wake-lock/idlharness.https.window.js +++ b/tests/wpt/web-platform-tests/wake-lock/idlharness.https.window.js @@ -3,7 +3,7 @@ // META: script=/resources/testdriver.js // META: script=/resources/testdriver-vendor.js -// https://w3c.github.io/wake-lock/ +// https://w3c.github.io/screen-wake-lock/ 'use strict'; @@ -19,7 +19,7 @@ idl_test( }); await test_driver.set_permission( - { name: 'wake-lock', type: 'screen' }, 'granted', false); + { name: 'screen-wake-lock' }, 'granted', false); self.sentinel = await navigator.wakeLock.request('screen'); self.sentinel.release(); } diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy.https.sub.html b/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy.https.sub.html index 376359e888d6..f908717ff410 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy.https.sub.html +++ b/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-by-feature-policy.https.sub.html @@ -15,7 +15,7 @@ promise_test(async t => { await test_driver.set_permission( - { name: 'wake-lock', type: 'screen' }, 'granted', false); + { name: 'screen-wake-lock' }, 'granted', false); await navigator.wakeLock.request('screen').then(lock => lock.release()); }, 'Feature-Policy header {"screen-wake-lock" : ["*"]} allows the top-level document.'); diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html b/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html index a2d3725857be..b15289beff48 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html +++ b/tests/wpt/web-platform-tests/wake-lock/wakelock-enabled-on-self-origin-by-feature-policy.https.sub.html @@ -16,7 +16,7 @@ promise_test(async t => { await test_driver.set_permission( - { name: 'wake-lock', type: 'screen' }, 'granted', false); + { name: 'screen-wake-lock' }, 'granted', false); await navigator.wakeLock.request('screen').then(lock => lock.release()); }, 'Feature-Policy header screen-wake-lock "self" allows the top-level document.'); diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-onrelease.https.html b/tests/wpt/web-platform-tests/wake-lock/wakelock-onrelease.https.html index 3506c8ae82b9..88c0cdb654c8 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-onrelease.https.html +++ b/tests/wpt/web-platform-tests/wake-lock/wakelock-onrelease.https.html @@ -1,12 +1,12 @@ - + diff --git a/tests/wpt/web-platform-tests/wake-lock/wakelock-supported-by-feature-policy.html b/tests/wpt/web-platform-tests/wake-lock/wakelock-supported-by-feature-policy.html index e7f9c8cb283c..a55eb54ba1c4 100644 --- a/tests/wpt/web-platform-tests/wake-lock/wakelock-supported-by-feature-policy.html +++ b/tests/wpt/web-platform-tests/wake-lock/wakelock-supported-by-feature-policy.html @@ -1,7 +1,7 @@ Test that wake-lock is advertised in the feature list - + diff --git a/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-codecs.html b/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-codecs.html index fdb584460f86..f5fa65e2ac9b 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-codecs.html +++ b/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-codecs.html @@ -28,7 +28,6 @@ sequence headerExtensions; RTCRtcpParameters rtcp; sequence codecs; - RTCDegradationPreference degradationPreference; }; dictionary RTCRtpCodecParameters { diff --git a/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-degradationPreference.html b/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-degradationPreference.html deleted file mode 100644 index e2c92bc1c081..000000000000 --- a/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-degradationPreference.html +++ /dev/null @@ -1,87 +0,0 @@ - - -RTCRtpParameters degradationPreference - - - - - diff --git a/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-encodings.html b/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-encodings.html index 2f94186fe1e7..00e80885cff3 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-encodings.html +++ b/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-encodings.html @@ -41,7 +41,6 @@ sequence headerExtensions; RTCRtcpParameters rtcp; sequence codecs; - RTCDegradationPreference degradationPreference; }; dictionary RTCRtpEncodingParameters { diff --git a/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-headerExtensions.html b/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-headerExtensions.html index 85c3338dd62b..7de2b75f4ee8 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-headerExtensions.html +++ b/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-headerExtensions.html @@ -27,7 +27,6 @@ sequence headerExtensions; RTCRtcpParameters rtcp; sequence codecs; - RTCDegradationPreference degradationPreference; }; dictionary RTCRtpHeaderExtensionParameters { diff --git a/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-helper.js b/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-helper.js index d61d8e149329..17ecfbaf99e8 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-helper.js +++ b/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-helper.js @@ -46,9 +46,6 @@ async function doOfferAnswerExchange(t, caller) { - rtcp.cname is set to the CNAME of the associated RTCPeerConnection. rtcp.reducedSize is set to true if reduced-size RTCP has been negotiated for sending, and false otherwise. - - - degradationPreference is set to the last value passed into setParameters, or the - default value of "balanced" if setParameters hasn't been called. */ function validateSenderRtpParameters(param) { validateRtpParameters(param); @@ -80,7 +77,7 @@ function validateSenderRtpParameters(param) { - rtcp.reducedSize is set to true if the receiver is currently prepared to receive reduced-size RTCP packets, and false otherwise. rtcp.cname is left undefined. - - transactionId and degradationPreference are left undefined. + - transactionId is left undefined. */ function validateReceiverRtpParameters(param) { validateRtpParameters(param); @@ -93,9 +90,6 @@ function validateReceiverRtpParameters(param) { assert_equals(param.rtcp.cname, undefined, 'Expect receiver param.rtcp.cname to be unset'); - - assert_equals(param.degradationPreference, undefined, - 'Expect receiver param.degradationPreference to be unset'); } /* @@ -105,7 +99,6 @@ function validateReceiverRtpParameters(param) { sequence headerExtensions; RTCRtcpParameters rtcp; sequence codecs; - RTCDegradationPreference degradationPreference; }; enum RTCDegradationPreference { @@ -134,9 +127,6 @@ function validateRtpParameters(param) { for(const codec of param.codecs) { validateCodecParameters(codec); } - - assert_optional_enum_field(param, 'degradationPreference', - ['maintain-framerate', 'maintain-resolution', 'balanced']); } /* @@ -307,4 +297,4 @@ function test_modified_encoding(kind, field, value1, value2, desc) { const encoding2 = getFirstEncoding(param2); assert_equals(encoding2[field], value2); }, desc + ' without RTCRtpTransceiverInit'); -} \ No newline at end of file +} diff --git a/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-rtcp.html b/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-rtcp.html index 82fb49be7dea..79653045200e 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-rtcp.html +++ b/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-rtcp.html @@ -27,7 +27,6 @@ sequence headerExtensions; RTCRtcpParameters rtcp; sequence codecs; - RTCDegradationPreference degradationPreference; }; dictionary RTCRtcpParameters { diff --git a/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-transactionId.html b/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-transactionId.html index ae56fb401f44..a7b7865532b8 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-transactionId.html +++ b/tests/wpt/web-platform-tests/webrtc/RTCRtpParameters-transactionId.html @@ -48,7 +48,6 @@ sequence headerExtensions; RTCRtcpParameters rtcp; sequence codecs; - RTCDegradationPreference degradationPreference; }; getParameters diff --git a/tests/wpt/web-platform-tests/webrtc/RTCRtpReceiver-getParameters.html b/tests/wpt/web-platform-tests/webrtc/RTCRtpReceiver-getParameters.html index 7f8ac673a60c..4be0e3b95ec4 100644 --- a/tests/wpt/web-platform-tests/webrtc/RTCRtpReceiver-getParameters.html +++ b/tests/wpt/web-platform-tests/webrtc/RTCRtpReceiver-getParameters.html @@ -30,9 +30,7 @@ - rtcp.reducedSize is set to true if the receiver is currently prepared to receive reduced-size RTCP packets, and false otherwise. rtcp.cname is left undefined. - - - transactionId and degradationPreference are left undefined. - */ + */ promise_test(async t => { const pc = new RTCPeerConnection(); t.add_cleanup(() => pc.close());