Bug 231618

Summary: [ iOS ] fast/mediastream/apply-constraints-video.html is a flaky failure
Product: WebKit Reporter: ayumi_kojima
Component: MediaAssignee: Nobody <webkit-unassigned>
Status: RESOLVED CONFIGURATION CHANGED    
Severity: Normal CC: eric.carlson, hhjalmarsson, webkit-bot-watchers-bugzilla, webkit-bug-importer, youennf
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: iPhone / iPad   
OS: Unspecified   

Description ayumi_kojima 2021-10-12 14:22:26 PDT
fast/mediastream/apply-constraints-video.html 

Is a flaky failure on iOS 15 Release.

History: https://results.webkit.org/?suite=layout-tests&test=fast%2Fmediastream%2Fapply-constraints-video.html

Result page: https://build.webkit.org/results/Apple-iPadOS-15-Simulator-Release-WK2-Tests/r283983%20(128)/results.html

Diff:

--- /Volumes/Data/worker/ipados-simulator-15-release-tests-wk2/build/layout-test-results/fast/mediastream/apply-constraints-video-expected.txt
+++ /Volumes/Data/worker/ipados-simulator-15-release-tests-wk2/build/layout-test-results/fast/mediastream/apply-constraints-video-actual.txt
@@ -1,76 +1,5 @@
-Tests applyConstraints on a video stream track.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS stream.getVideoTracks().length is 1
-PASS stream.getAudioTracks().length is 0
-PASS video.videoTracks.length is 1
-PASS video.audioTracks.length is 0
-
-** Constraint: {"width":640,"height":480,"frameRate":30} - set width, height, and frame rate to valid values.
-PASS settings['width'] is 640
-PASS settings['height'] is 480
-PASS settings['frameRate'] is 30
-
-** Constraint: {"width":320,"height":240} - change width and height, frame rate should remain unchanged.
-PASS settings['width'] is 320
-PASS settings['height'] is 240
-PASS settings['frameRate'] is 30
-
-** Constraint: {"width":{"exact":3000}} - the 'exact' constraint can't be satisfied, promise should reject and no settings should change.
-PASS Promise was rejected
-PASS error.constraint is "width"
-PASS settings['width'] is 320
-PASS settings['height'] is 240
-PASS settings['frameRate'] is 30
-
-** Constraint: {"width":640,"height":{"min":3000}} - the 'min' constraint can't be satisfied, promise should reject and no settings should change.
-PASS Promise was rejected
-PASS error.constraint is "height"
-PASS settings['width'] is 320
-PASS settings['height'] is 240
-PASS settings['frameRate'] is 30
-
-** Constraint: {"frameRate":{"max":8}} - the 'max' constraint can't be satisfied, promise should reject and no settings should change.
-PASS Promise was rejected
-PASS error.constraint is "frameRate"
-PASS settings['frameRate'] is 30
-
-** Constraint: {"width":{"exact":640}} - the 'exact' constraint can be satisfied.
-PASS settings['width'] is 640
-PASS settings['height'] is 480
-
-** Constraint: {"width":{"min":300,"ideal":5000}} - the 'ideal' constraint can't be satisfied but the 'min' can, maximum value should be chosen.
-PASS settings['width'] is 2560
-PASS settings['height'] is 1440
-
-** Constraint: {"width":{"min":320,"ideal":640},"height":{"min":480,"ideal":720}} - 'ideal' and 'min' constraints can be satisfied, 'ideal' should be chosen.
-PASS settings['width'] is 640
-PASS settings['height'] is 720
-
-** Constraint: {"width":5000} - ideal width is greater than track capability, should be clamped to the maximum value.
-PASS settings['width'] is 2560
-
-** Constraint: {"width":100,"height":100,"frameRate":0.5} - frameRate value is less than track capabilities, should be clamped to the minimum values.
-PASS settings['width'] is 100
-PASS settings['height'] is 100
-PASS settings['frameRate'] is 1
-
-** Constraint: {"frameRate":20} - set frame rate, width and height should remain unchanged
-PASS settings['width'] is 100
-PASS settings['height'] is 100
-PASS settings['frameRate'] is 20
-
-** Constraint: {"facingMode":"xnvironment","height":720} - illegal facing mode value should be ignored, height should change.
-PASS settings['facingMode'] is "user"
-PASS settings['width'] is 1280
-PASS settings['height'] is 720
-
-** Constraint: {"WITDH":400,"frameRate":30} - unknown constraint should be ignored, frame rate should change.
-PASS settings['width'] is 1280
-PASS settings['frameRate'] is 30
-
+CONSOLE MESSAGE: Failed to create MediaStream video source: Request is not allowed
+FAIL Stream setup failed with error: NotReadableError: The I/O read operation failed.
 PASS successfullyParsed is true
 
 TEST COMPLETE
Comment 1 Radar WebKit Bug Importer 2021-10-12 14:22:43 PDT
<rdar://problem/84166237>
Comment 2 ayumi_kojima 2021-10-12 14:28:47 PDT
Updated test expectations https://trac.webkit.org/changeset/284030/webkit
Comment 3 ayumi_kojima 2021-10-15 16:48:06 PDT
I was not albe to reproduce the failure locally on iOS 15 simulator using run-webkit-tests --ios-simulator --iterations 500 --exit-after-n-failures 1 fast/mediastream/apply-constraints-video.html
Comment 4 Ryan Haddad 2022-05-19 11:44:39 PDT
This test is consistently passing now, let's remove the flaky expectation.
Comment 5 EWS 2022-07-01 12:22:13 PDT
Test gardening commit 252061@main (ca4d6e3ace33): <https://commits.webkit.org/252061@main>

Reviewed commits have been landed. Closing PR #2005 and removing active labels.
Comment 6 Hercules Hjalmarsson 2022-07-01 12:22:39 PDT
(In reply to EWS from comment #5)
> Test gardening commit 252061@main (ca4d6e3ace33):
> <https://commits.webkit.org/252061@main>
> 
> Reviewed commits have been landed. Closing PR #2005 and removing active
> labels.

Removed expectations in above commit.