Closed Bug 1732017 Opened 1 year ago Closed 1 year ago

[wpt-sync] Sync PR 30789 - Add Echo Stream WPTs for WebTransport

Categories

(Testing :: web-platform-tests, task, P4)

task

Tracking

(firefox95 fixed)

RESOLVED FIXED
95 Branch
Tracking Status
firefox95 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 30789 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/30789
Details from upstream follow.

Nidhi Jaju <nidhijaju@chromium.org> wrote:

Add Echo Stream WPTs for WebTransport

This CL adds 3 test cases:

  • echo data on client-initiated bidirectional streams
  • echo data on server-initiated bidirectional streams
  • echo data using client and server-initiated unidirectional streams

The echo server handler has also been modified to add support for
creating server-initiated bidirectional streams when a WebTransport
session is established. Furthermore, when stream data is received
from a client-initiated unidirectional stream, the handler now keeps
a record of incoming and outgoing unidirectional streams, and creates
a new unidirectional stream when needed to echo back data to the
client. The unidirectional streams are mapped using the session's id
and incoming stream id as keys.

Bug: 1201569
Change-Id: Iaa7d412d090be96c2ad42da2cad416e5cc60a659
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3159808
Reviewed-by: Kenichi Ishibashi \<bashi@chromium.org>
Reviewed-by: Adam Rice \<ricea@chromium.org>
Reviewed-by: Yutaka Hirano \<yhirano@chromium.org>
Commit-Queue: Nidhi Jaju \<nidhijaju@chromium.org>
Cr-Commit-Position: refs/heads/main@{#922452}

CI Results

Ran 7 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 18 tests and 3 subtests

Status Summary

Firefox

OK : 18
FAIL : 82

Chrome

OK : 9
PASS : 37
FAIL : 45
ERROR: 9

Safari

OK : 14
FAIL : 62
ERROR: 4

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/infrastructure/server/webtransport-h3.sub.any.html
WebTransport server should be running and should handle a bidirectional stream: FAIL (Chrome: FAIL, Safari: FAIL)
/infrastructure/server/webtransport-h3.sub.any.sharedworker.html
WebTransport server should be running and should handle a bidirectional stream: FAIL (Chrome: FAIL)
/infrastructure/server/webtransport-h3.sub.any.serviceworker.html
WebTransport server should be running and should handle a bidirectional stream: FAIL (Chrome: FAIL, Safari: FAIL)
/infrastructure/server/webtransport-h3.sub.any.worker.html
WebTransport server should be running and should handle a bidirectional stream: FAIL (Chrome: FAIL, Safari: FAIL)
/webtransport/connect.any.sharedworker.html
WebTransport connection succeeds with status code 200: FAIL
WebTransport connection succeeds with status code 204: FAIL
WebTransport connection fails with status code 301: FAIL
WebTransport connection fails with status code 401: FAIL
WebTransport connection fails with status code 404: FAIL
Echo back request headers: FAIL (Chrome: FAIL)
Cookie header is not echoed back: FAIL (Chrome: FAIL)
WebTransport session is established with status code 200: FAIL (Chrome: FAIL)
WebTransport session is established with status code 204: FAIL (Chrome: FAIL)
WebTransport session establishment fails with status code 301: FAIL (Chrome: FAIL)
WebTransport session establishment with status code 401: FAIL (Chrome: FAIL)
WebTransport session establishment fails with status code 404: FAIL (Chrome: FAIL)
/webtransport/connect.any.serviceworker.html
WebTransport connection succeeds with status code 200: FAIL
WebTransport connection succeeds with status code 204: FAIL
WebTransport connection fails with status code 301: FAIL
WebTransport connection fails with status code 401: FAIL
WebTransport connection fails with status code 404: FAIL
Echo back request headers: FAIL (Chrome: FAIL, Safari: FAIL)
Cookie header is not echoed back: FAIL (Chrome: FAIL, Safari: FAIL)
WebTransport session is established with status code 200: FAIL (Chrome: FAIL, Safari: FAIL)
WebTransport session is established with status code 204: FAIL (Chrome: FAIL, Safari: FAIL)
WebTransport session establishment fails with status code 301: FAIL (Chrome: FAIL, Safari: FAIL)
WebTransport session establishment with status code 401: FAIL (Chrome: FAIL, Safari: FAIL)
WebTransport session establishment fails with status code 404: FAIL (Chrome: FAIL, Safari: FAIL)
/webtransport/connect.any.worker.html
WebTransport connection succeeds with status code 200: FAIL
WebTransport connection succeeds with status code 204: FAIL
WebTransport connection fails with status code 301: FAIL
WebTransport connection fails with status code 401: FAIL
WebTransport connection fails with status code 404: FAIL
Echo back request headers: FAIL (Chrome: FAIL, Safari: FAIL)
Cookie header is not echoed back: FAIL (Chrome: FAIL, Safari: FAIL)
WebTransport session is established with status code 200: FAIL (Chrome: FAIL, Safari: FAIL)
WebTransport session is established with status code 204: FAIL (Chrome: FAIL, Safari: FAIL)
WebTransport session establishment fails with status code 301: FAIL (Chrome: FAIL, Safari: FAIL)
WebTransport session establishment with status code 401: FAIL (Chrome: FAIL, Safari: FAIL)
WebTransport session establishment fails with status code 404: FAIL (Chrome: FAIL, Safari: FAIL)
/webtransport/connect.any.html
WebTransport connection succeeds with status code 200: FAIL
WebTransport connection succeeds with status code 204: FAIL
WebTransport connection fails with status code 301: FAIL
WebTransport connection fails with status code 401: FAIL
WebTransport connection fails with status code 404: FAIL
Echo back request headers: FAIL (Chrome: FAIL, Safari: FAIL)
Cookie header is not echoed back: FAIL (Chrome: FAIL, Safari: FAIL)
WebTransport session is established with status code 200: FAIL (Chrome: FAIL, Safari: FAIL)
WebTransport session is established with status code 204: FAIL (Chrome: FAIL, Safari: FAIL)
WebTransport session establishment fails with status code 301: FAIL (Chrome: FAIL, Safari: FAIL)
WebTransport session establishment with status code 401: FAIL (Chrome: FAIL, Safari: FAIL)
WebTransport session establishment fails with status code 404: FAIL (Chrome: FAIL, Safari: FAIL)
/webtransport/constructor.any.html
WebTransport constructor should reject URL 'null': FAIL (Chrome: PASS, Safari: FAIL)
WebTransport constructor should reject URL '': FAIL (Chrome: PASS, Safari: FAIL)
WebTransport constructor should reject URL 'no-scheme': FAIL (Chrome: PASS, Safari: FAIL)
WebTransport constructor should reject URL 'http://example.com/': FAIL (Chrome: PASS, Safari: FAIL)
WebTransport constructor should reject URL 'quic-transport://example.com/': FAIL (Chrome: PASS, Safari: FAIL)
WebTransport constructor should reject URL 'https:///': FAIL (Chrome: PASS, Safari: FAIL)
WebTransport constructor should reject URL 'https://example.com/#failing': FAIL (Chrome: PASS, Safari: FAIL)
WebTransport constructor should reject URL 'https://web-platform.test:999999/': FAIL (Chrome: PASS, Safari: FAIL)
Connection to port 0 should fail: FAIL (Chrome: PASS, Safari: FAIL)
/webtransport/constructor.any.worker.html
WebTransport constructor should reject URL 'null': FAIL (Chrome: PASS, Safari: FAIL)
WebTransport constructor should reject URL '': FAIL (Chrome: PASS, Safari: FAIL)
WebTransport constructor should reject URL 'no-scheme': FAIL (Chrome: PASS, Safari: FAIL)
WebTransport constructor should reject URL 'http://example.com/': FAIL (Chrome: PASS, Safari: FAIL)
WebTransport constructor should reject URL 'quic-transport://example.com/': FAIL (Chrome: PASS, Safari: FAIL)
WebTransport constructor should reject URL 'https:///': FAIL (Chrome: PASS, Safari: FAIL)
WebTransport constructor should reject URL 'https://example.com/#failing': FAIL (Chrome: PASS, Safari: FAIL)
WebTransport constructor should reject URL 'https://web-platform.test:999999/': FAIL (Chrome: PASS, Safari: FAIL)
Connection to port 0 should fail: FAIL (Chrome: PASS, Safari: FAIL)
/webtransport/constructor.any.serviceworker.html
WebTransport constructor should reject URL 'null': FAIL (Chrome: PASS, Safari: FAIL)
WebTransport constructor should reject URL '': FAIL (Chrome: PASS, Safari: FAIL)
WebTransport constructor should reject URL 'no-scheme': FAIL (Chrome: PASS, Safari: FAIL)
WebTransport constructor should reject URL 'http://example.com/': FAIL (Chrome: PASS, Safari: FAIL)
WebTransport constructor should reject URL 'quic-transport://example.com/': FAIL (Chrome: PASS, Safari: FAIL)
WebTransport constructor should reject URL 'https:///': FAIL (Chrome: PASS, Safari: FAIL)
WebTransport constructor should reject URL 'https://example.com/#failing': FAIL (Chrome: PASS, Safari: FAIL)
WebTransport constructor should reject URL 'https://web-platform.test:999999/': FAIL (Chrome: PASS, Safari: FAIL)
Connection to port 0 should fail: FAIL (Chrome: PASS, Safari: FAIL)
/webtransport/constructor.any.sharedworker.html
WebTransport constructor should reject URL 'null': FAIL (Chrome: PASS)
WebTransport constructor should reject URL '': FAIL (Chrome: PASS)
WebTransport constructor should reject URL 'no-scheme': FAIL (Chrome: PASS)
WebTransport constructor should reject URL 'http://example.com/': FAIL (Chrome: PASS)
WebTransport constructor should reject URL 'quic-transport://example.com/': FAIL (Chrome: PASS)
WebTransport constructor should reject URL 'https:///': FAIL (Chrome: PASS)
WebTransport constructor should reject URL 'https://example.com/#failing': FAIL (Chrome: PASS)
WebTransport constructor should reject URL 'https://web-platform.test:999999/': FAIL (Chrome: PASS)
Connection to port 0 should fail: FAIL (Chrome: PASS)
/webtransport/csp-fail.window.html
WebTransport connection should fail when CSP connect-src is set to none and reject the promises: FAIL (Chrome: PASS, Safari: FAIL)
/webtransport/csp-pass.window.html
WebTransport connection should succeed when CSP connect-src destination is set to the page: FAIL (Chrome: FAIL, Safari: FAIL)
/webtransport/streams-echo.any.html
WebTransport server should be able to create and handle a bidirectional stream: FAIL (Chrome: FAIL, Safari: FAIL)
WebTransport server should be able to accept and handle a bidirectional stream: FAIL (Chrome: FAIL, Safari: FAIL)
WebTransport server should be able to create, accept, and handle a unidirectional stream: FAIL (Chrome: FAIL, Safari: FAIL)
/webtransport/streams-echo.any.serviceworker.html
WebTransport server should be able to create and handle a bidirectional stream: FAIL (Chrome: FAIL, Safari: FAIL)
WebTransport server should be able to accept and handle a bidirectional stream: FAIL (Chrome: FAIL, Safari: FAIL)
WebTransport server should be able to create, accept, and handle a unidirectional stream: FAIL (Chrome: FAIL, Safari: FAIL)
/webtransport/streams-echo.any.worker.html
WebTransport server should be able to create and handle a bidirectional stream: FAIL (Chrome: FAIL, Safari: FAIL)
WebTransport server should be able to accept and handle a bidirectional stream: FAIL (Chrome: FAIL, Safari: FAIL)
WebTransport server should be able to create, accept, and handle a unidirectional stream: FAIL (Chrome: FAIL, Safari: FAIL)
/webtransport/streams-echo.any.sharedworker.html
WebTransport server should be able to create and handle a bidirectional stream: FAIL (Chrome: FAIL)
WebTransport server should be able to accept and handle a bidirectional stream: FAIL (Chrome: FAIL)
WebTransport server should be able to create, accept, and handle a unidirectional stream: FAIL (Chrome: FAIL)

Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/09dab0189bd8
[wpt PR 30789] - Add Echo Stream WPTs for WebTransport, a=testonly
https://hg.mozilla.org/integration/autoland/rev/62b632400e8b
[wpt PR 30789] - Update wpt metadata, a=testonly
Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/961964649964
[wpt PR 30789] - Add Echo Stream WPTs for WebTransport, a=testonly
https://hg.mozilla.org/integration/autoland/rev/40e44974b9e5
[wpt PR 30789] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 95 Branch
You need to log in before you can comment on or make changes to this bug.