[wpt-sync] Sync PR 20036 - [testharness.js] Require single-page test opt-in
Categories
(Testing :: web-platform-tests, task, P4)
Tracking
(firefox72 fixed)
| Tracking | Status | |
|---|---|---|
| firefox72 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 20036 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/20036
Details from upstream follow.
Mike Pennisi <mike@mikepennisi.com> wrote:
[testharness.js] Require single-page test opt-in
This enacts the change specified by WPT RFC 28.
https://github.com/web-platform-tests/rfcs/blob/master/rfcs/single_test.md
Overall, this patch appears to be safe to land, though we may want to wait for gh-19904 and gh-20031 before doing so.
In gh-19578, we aimed to extend all of WPT's single-page tests with the new implicit opt-in pattern. Once we completed that, I created this patch and ran it in Chrome Dev and Firefox Nightly.
Most of the discrepancies are due to flaky tests (listed below). The second most common cause comes from references to the API under test outside of a subtest (also listed below). In
mastertoday, the resultingReferenceErrorcauses the test to be reported as a failing single-page test, even though in most cases, it was authored to define multiple sub-tests. The new result is a harness error, and that's more appropriate for these cases.There are a handful of tests whose results changed for other reasons:
- these tests are being fixed via https://github.com/web-platform-tests/wpt/pull/19904
WebCryptoAPI/derive_bits_keys/- these tests rely on new ECMAScript language features that are not yet supported in Firefox. The harness error is a more appropriate status
IndexedDB/structured-clone.any.htmlIndexedDB/structured-clone.any.worker.html- these tests includes an unresolvable reference. The harness error is a more appropriate status
fetch/metadata/sec-fetch-dest/redirect/multiple-redirect-https-downgrade-upgrade.tentative.sub.htmlfetch/metadata/sec-fetch-dest/redirect/redirect-http-upgrade.tentative.sub.html- this test includes a syntax error. The harness error is a more appropriate status
fetch/metadata/sec-fetch-dest/redirect/redirect-https-downgrade.tentative.sub.html-- this test references an internal API which is not defined. The harness error is a more appropriate status
idle-detection/interceptor.https.html- these errors describe the intended effect of the patch
infrastructure/expected-fail/uncaught-exception.htmlinfrastructure/expected-fail/unhandled-rejection.html- these tests are single-page tests which we failed to identify initially; we're updating them via https://github.com/web-platform-tests/wpt/pull/20031
preload/preload-csp.sub.htmlpreload/preload-default-csp.sub.html<details>
<summary>flaky tests</summary>
- detected by Chrome
background-fetch/content-security-policy/css/- flakyhtml/semantics/links/links-created-by-a-and-area-elements/intersection-observer/cross-origin-iframe.sub.htmllongtask-timing/longtask-in-sibling-iframe-crossorigin.htmloffscreen-canvas/scroll-to-text-fragment/scroll-to-text-fragment.htmlwebaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/cors-check.https.htmlwebmessaging/broadcastchannel/basics.htmlwebmessaging/broadcastchannel/workers.html- detected by Firefox
css/css-animations/CSSAnimation-startTime.tentative.htmlcss/css-backgrounds/background-334.htmlcss/css-multicol/animation/column-rule-color-interpolation.htmlcss/css-properties-values-api/property-cascade.htmlcss/css-transitions/events-007.htmlcss/css-writing-modes/text-combine-upright-parsing-valid-001.htmlhtml/cross-origin-embedder-policy/require-corp.https.htmlhtml/semantics/scripting-1/the-script-element/load-error-events-3.htmlhtml/semantics/scripting-1/the-script-element/script-onerror-insertion-point-1.htmlhtml/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-refresh-immediate.window.htmloffscreen-canvas/the-offscreen-canvas/offscreencanvas.commit.w.htmlperformance-timeline/case-sensitivity.any.htmlpointerevents/pointerevent_setpointercapture_inactive_button_mouse.htmlreferrer-policy/gen/req.attr/same-origin/img-tag/cross-https.swap-origin.http.htmlresource-timing/resource_connection_reuse.htmlresource-timing/resource_timing_buffer_full_eventually.htmlservice-workers/service-worker/ready.https.htmlupgrade-insecure-requests/gen/worker-classic-data.meta/upgrade/fetch/cross-http-downgrade.downgrade.https.htmlwebaudio/the-audio-api/the-scriptprocessornode-interface/simple-input-output.htmlwebdriver/webvtt/</details>
<details>
<summary>unsafe API references</summary>
- detected by Chrome
streams/readable-byte-streams/construct-byob-request.any.htmlstreams/readable-byte-streams/construct-byob-request.any.serviceworker.htmlstreams/readable-byte-streams/construct-byob-request.any.sharedworker.htmlstreams/readable-byte-streams/construct-byob-request.any.worker.htmltrusted-types/- detected by Firefox
2dcontext/wide-gamut-canvas/imageData-colorManagedBehavior.htmlanimation-worklet/worklet-animation-pause.https.htmlanimation-worklet/worklet-animation-without-target.https.htmlcss/css-properties-values-api/conditional-rules.htmlcss/css-properties-values-api/unit-cycles.htmlcss/css-properties-values-api/url-resolution.htmlcss/css-typed-om/custom-elements/form-associated/ElementInternals-accessibility.htmlcustom-elements/form-associated/form-associated-callback.htmlencoding/streams/decode-utf8.any.serviceworker.htmlencoding/streams/realms.window.htmlstreams/piping/pipe-through.any.serviceworker.htmlstreams/readable-byte-streams/construct-byob-request.any.htmlstreams/readable-byte-streams/construct-byob-request.any.serviceworker.htmlstreams/readable-byte-streams/construct-byob-request.any.worker.htmlstreams/transform-streams/brand-checks.any.htmlstreams/transform-streams/brand-checks.any.serviceworker.htmlstreams/transform-streams/brand-checks.any.worker.htmlstreams/transform-streams/properties.any.serviceworker.htmlstreams/writable-streams/brand-checks.any.htmlstreams/writable-streams/brand-checks.any.serviceworker.htmlstreams/writable-streams/brand-checks.any.worker.htmlstreams/writable-streams/properties.any.serviceworker.htmltrusted-types/GlobalEventHandlers-onclick.tentative.htmltrusted-types/Node-multiple-arguments.tentative.htmltrusted-types/TrustedTypePolicyFactory-metadata.tentative.htmltrusted-types/WorkerGlobalScope-importScripts.https.htmltrusted-types/block-Node-multiple-arguments.tentative.htmltrusted-types/block-eval.tentative.htmltrusted-types/block-string-assignment-to-Document-write.tentative.htmltrusted-types/block-string-assignment-to-Element-setAttribute.tentative.htmltrusted-types/eval-with-permissive-csp.tentative.htmltrusted-types/trusted-types-eval-reporting-no-unsafe-eval.tentative.https.htmltrusted-types/trusted-types-eval-reporting-report-only.tentative.https.htmltrusted-types/trusted-types-eval-reporting.tentative.https.htmltrusted-types/trusted-types-report-only.tentative.https.htmltrusted-types/trusted-types-reporting-check-report.https.htmlwebaudio/the-audio-api/the-audioworklet-interface/audioworklet-messageport.https.htmlwebaudio/the-audio-api/the-audioworklet-interface/audioworklet-postmessage-sharedarraybuffer.https.htmlwebaudio/the-audio-api/the-audioworklet-interface/audioworkletglobalscope-sample-rate.https.htmlwebaudio/the-audio-api/the-audioworklet-interface/audioworkletglobalscope-timing-info.https.htmlwebaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-onerror.https.htmlwebaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-output-channel-count.https.htmlwebaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/cors-check.https.htmlwebaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/no-cors.https.html</details>
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Comment 1•6 years ago
|
||
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Updated•6 years ago
|
| Assignee | ||
Comment 2•6 years ago
|
||
| Assignee | ||
Comment 3•6 years ago
|
||
Comment 5•6 years ago
|
||
| bugherder | ||
Description
•