[wpt-sync] Sync PR 42575 - usb: Validate isochronous transfer packet lengths
Categories
(Core :: DOM: Device Interfaces, task, P4)
Tracking
()
Tracking | Status | |
---|---|---|
firefox121 | --- | fixed |
People
(Reporter: wpt-sync, Unassigned)
References
()
Details
(Whiteboard: [wptsync downstream])
Sync web-platform-tests PR 42575 into mozilla-central (this bug is closed when the sync is complete).
PR: https://github.com/web-platform-tests/wpt/pull/42575
Details from upstream follow.
Matt Reynolds <mattreynolds@google.com> wrote:
usb: Validate isochronous transfer packet lengths
USBDevice.isochronousTransferIn and
USBDevice.isochronousTransferOut take a parameter containing
a list of packet lengths. This CL adds validation that the
total packet length does not exceed the maximum buffer size.
For isochronousTransferOut, it also checks that the total
length of all packets in bytes is equal to the size of the
data buffer.Passing invalid packet lengths causes the promise to be
rejected with a DataError.Bug: 1492381, 1492384
Change-Id: Id9ae16c7e6f1c417e0fc4f21d53e9de11560b2b7
Reviewed-on: https://chromium-review.googlesource.com/4944690
WPT-Export-Revision: fc265e12b367e71c7199452602148f79c769ae66
Assignee | ||
Updated•1 year ago
|
Assignee | ||
Comment 1•1 year ago
|
||
Assignee | ||
Comment 2•1 year ago
|
||
CI Results
Ran 9 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI
Total 2 tests and 62 subtests
Status Summary
Firefox
OK
: 2
FAIL
: 124
Chrome
PASS
: 116
FAIL
: 4
TIMEOUT
: 2
ERROR
: 2
NOTRUN
: 2
Safari
OK
: 2
FAIL
: 124
Links
Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base
Details
New Tests That Don't Pass
- /webusb/usbDevice.https.any.html [wpt.fyi]:
OK
[GitHub
],SKIP
[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
,Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:ERROR
, Safari:OK
)- open rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - disconnection closes the device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - a device can be opened and closed:
FAIL
(Chrome:PASS
, Safari:FAIL
) - open and close can be called multiple times:
FAIL
(Chrome:PASS
, Safari:FAIL
) - open and close cannot be called again while open or close are in progress:
FAIL
(Chrome:PASS
, Safari:FAIL
) - device operations reject if an device state change is in progress:
FAIL
(Chrome:PASS
, Safari:FAIL
) - close rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - selectConfiguration rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - methods requiring it reject when the device is not open:
FAIL
(Chrome:PASS
, Safari:FAIL
) - device configuration can be set and queried:
FAIL
(Chrome:PASS
, Safari:FAIL
) - a device configuration value can be set again:
FAIL
(Chrome:PASS
, Safari:FAIL
) - selectConfiguration rejects on invalid configurations:
FAIL
(Chrome:PASS
, Safari:FAIL
) - methods requiring it reject when the device is unconfigured:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interfaces can be claimed and released:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interfaces can be claimed and released in parallel:
FAIL
(Chrome:PASS
, Safari:FAIL
) - an interface can be claimed multiple times:
FAIL
(Chrome:PASS
, Safari:FAIL
) - an interface can be released multiple times:
FAIL
(Chrome:PASS
, Safari:FAIL
) - device operations reject if an interface state change is in progress:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interfaces are released on close:
FAIL
(Chrome:PASS
, Safari:FAIL
) - a non-existent interface cannot be claimed or released:
FAIL
(Chrome:PASS
, Safari:FAIL
) - claimInterface rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - releaseInterface rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can select an alternate interface:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can select an alternate interface on a setting with non-sequential interface number:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can select an alternate interface on a setting with non-sequential alternative setting value:
FAIL
(Chrome:PASS
, Safari:FAIL
) - cannot select a non-existent alternate interface:
FAIL
(Chrome:PASS
, Safari:FAIL
) - selectAlternateInterface rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue all types of IN control transfers:
FAIL
(Chrome:PASS
, Safari:FAIL
) - device-scope IN control transfers don't require configuration:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interface-scope IN control transfers require configuration:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interface-scope IN control transfers require claiming the interface:
FAIL
(Chrome:PASS
, Safari:FAIL
) - controlTransferIn rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue all types of OUT control transfers:
FAIL
(Chrome:PASS
, Safari:FAIL
) - device-scope OUT control transfers don't require configuration:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interface-scope OUT control transfers require configuration:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interface-scope OUT control transfers an interface claim:
FAIL
(Chrome:PASS
, Safari:FAIL
) - controlTransferOut rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - control transfers with a invalid request type reject:
FAIL
(Chrome:PASS
, Safari:FAIL
) - control transfers with a invalid recipient type reject:
FAIL
(Chrome:PASS
, Safari:FAIL
) - control transfers to a non-existant interface reject:
FAIL
(Chrome:PASS
, Safari:FAIL
) - requests to interfaces and endpoint require an interface claim:
FAIL
(Chrome:PASS
, Safari:FAIL
) - controlTransferOut rejects if called with a detached buffer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can clear a halt condition:
FAIL
(Chrome:PASS
, Safari:FAIL
) - clearHalt rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - transfers to unavailable endpoints are rejected:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue IN interrupt transfer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue IN bulk transfer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - transferIn rejects if called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue OUT bulk transfer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - transferOut rejects if called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - transferOut rejects if called with a detached buffer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue IN isochronous transfer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - isochronousTransferIn rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue OUT isochronous transfer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - isochronousTransferOut rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - isochronousTransferOut rejects when called with a detached buffer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can reset the device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - resetDevice rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - isochronousTransferOut rejects when buffer size exceeds packet lengths:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - isochronousTransferOut rejects when packet lengths exceed buffer size:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - isochronousTransferIn rejects when packet lengths exceed maximum size:
FAIL
(Chrome:TIMEOUT
, Safari:FAIL
) - isochronousTransferOut rejects when packet lengths exceed maximum size:
FAIL
(Chrome:NOTRUN
, Safari:FAIL
)
- open rejects when called on a disconnected device:
- /webusb/usbDevice.https.any.worker.html [wpt.fyi]:
OK
[GitHub
],SKIP
[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
,Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:ERROR
, Safari:OK
)- open rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - disconnection closes the device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - a device can be opened and closed:
FAIL
(Chrome:PASS
, Safari:FAIL
) - open and close can be called multiple times:
FAIL
(Chrome:PASS
, Safari:FAIL
) - open and close cannot be called again while open or close are in progress:
FAIL
(Chrome:PASS
, Safari:FAIL
) - device operations reject if an device state change is in progress:
FAIL
(Chrome:PASS
, Safari:FAIL
) - close rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - selectConfiguration rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - methods requiring it reject when the device is not open:
FAIL
(Chrome:PASS
, Safari:FAIL
) - device configuration can be set and queried:
FAIL
(Chrome:PASS
, Safari:FAIL
) - a device configuration value can be set again:
FAIL
(Chrome:PASS
, Safari:FAIL
) - selectConfiguration rejects on invalid configurations:
FAIL
(Chrome:PASS
, Safari:FAIL
) - methods requiring it reject when the device is unconfigured:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interfaces can be claimed and released:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interfaces can be claimed and released in parallel:
FAIL
(Chrome:PASS
, Safari:FAIL
) - an interface can be claimed multiple times:
FAIL
(Chrome:PASS
, Safari:FAIL
) - an interface can be released multiple times:
FAIL
(Chrome:PASS
, Safari:FAIL
) - device operations reject if an interface state change is in progress:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interfaces are released on close:
FAIL
(Chrome:PASS
, Safari:FAIL
) - a non-existent interface cannot be claimed or released:
FAIL
(Chrome:PASS
, Safari:FAIL
) - claimInterface rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - releaseInterface rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can select an alternate interface:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can select an alternate interface on a setting with non-sequential interface number:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can select an alternate interface on a setting with non-sequential alternative setting value:
FAIL
(Chrome:PASS
, Safari:FAIL
) - cannot select a non-existent alternate interface:
FAIL
(Chrome:PASS
, Safari:FAIL
) - selectAlternateInterface rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue all types of IN control transfers:
FAIL
(Chrome:PASS
, Safari:FAIL
) - device-scope IN control transfers don't require configuration:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interface-scope IN control transfers require configuration:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interface-scope IN control transfers require claiming the interface:
FAIL
(Chrome:PASS
, Safari:FAIL
) - controlTransferIn rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue all types of OUT control transfers:
FAIL
(Chrome:PASS
, Safari:FAIL
) - device-scope OUT control transfers don't require configuration:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interface-scope OUT control transfers require configuration:
FAIL
(Chrome:PASS
, Safari:FAIL
) - interface-scope OUT control transfers an interface claim:
FAIL
(Chrome:PASS
, Safari:FAIL
) - controlTransferOut rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - control transfers with a invalid request type reject:
FAIL
(Chrome:PASS
, Safari:FAIL
) - control transfers with a invalid recipient type reject:
FAIL
(Chrome:PASS
, Safari:FAIL
) - control transfers to a non-existant interface reject:
FAIL
(Chrome:PASS
, Safari:FAIL
) - requests to interfaces and endpoint require an interface claim:
FAIL
(Chrome:PASS
, Safari:FAIL
) - controlTransferOut rejects if called with a detached buffer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can clear a halt condition:
FAIL
(Chrome:PASS
, Safari:FAIL
) - clearHalt rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - transfers to unavailable endpoints are rejected:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue IN interrupt transfer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue IN bulk transfer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - transferIn rejects if called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue OUT bulk transfer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - transferOut rejects if called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - transferOut rejects if called with a detached buffer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue IN isochronous transfer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - isochronousTransferIn rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can issue OUT isochronous transfer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - isochronousTransferOut rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - isochronousTransferOut rejects when called with a detached buffer:
FAIL
(Chrome:PASS
, Safari:FAIL
) - can reset the device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - resetDevice rejects when called on a disconnected device:
FAIL
(Chrome:PASS
, Safari:FAIL
) - isochronousTransferOut rejects when buffer size exceeds packet lengths:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - isochronousTransferOut rejects when packet lengths exceed buffer size:
FAIL
(Chrome:FAIL
, Safari:FAIL
) - isochronousTransferIn rejects when packet lengths exceed maximum size:
FAIL
(Chrome:TIMEOUT
, Safari:FAIL
) - isochronousTransferOut rejects when packet lengths exceed maximum size:
FAIL
(Chrome:NOTRUN
, Safari:FAIL
)
- open rejects when called on a disconnected device:
Tests Disabled in Gecko Infrastructure
- /webusb/usbDevice.https.any.html [wpt.fyi]:
OK
[GitHub
],SKIP
[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
,Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:ERROR
, Safari:OK
) - /webusb/usbDevice.https.any.worker.html [wpt.fyi]:
OK
[GitHub
],SKIP
[Gecko-android-em-7.0-x86_64-lite-qr-opt-geckoview
,Gecko-android-em-7.0-x86_64-qr-debug-geckoview
,Gecko-android-em-7.0-x86_64-qr-opt-geckoview
,Gecko-linux1804-64-qr-debug
,Gecko-linux1804-64-qr-opt
,Gecko-windows11-32-2009-qr-debug
,Gecko-windows11-32-2009-qr-opt
,Gecko-windows11-64-2009-qr-debug
,Gecko-windows11-64-2009-qr-opt
] (Chrome:ERROR
, Safari:OK
)
Comment 4•1 year ago
|
||
bugherder |
Description
•