Title: [282824] trunk/LayoutTests/imported/w3c
- Revision
- 282824
- Author
- [email protected]
- Date
- 2021-09-21 09:47:36 -0700 (Tue, 21 Sep 2021)
Log Message
RTCPeerConnection perfect negotiation tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=230344
Reviewed by Alex Christensen.
Helper function checks that adding candidates only fails for candidates related to ignored descriptions.
But the flag that sets whther descriptions are ignored is set synchronously while it should be set once the description is applied.
Otherwise, errors related to the candidates that are in the operation queue related to the previously ignored description will not be ignored.
* web-platform-tests/webrtc/RTCPeerConnection-perfect-negotiation-helper.js:
(try.async try):
(string_appeared_here.peer):
* web-platform-tests/webrtc/RTCPeerConnection-perfect-negotiation.https-expected.txt:
Modified Paths
Diff
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (282823 => 282824)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2021-09-21 16:39:54 UTC (rev 282823)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-09-21 16:47:36 UTC (rev 282824)
@@ -1,3 +1,19 @@
+2021-09-21 Youenn Fablet <[email protected]>
+
+ RTCPeerConnection perfect negotiation tests are flaky
+ https://bugs.webkit.org/show_bug.cgi?id=230344
+
+ Reviewed by Alex Christensen.
+
+ Helper function checks that adding candidates only fails for candidates related to ignored descriptions.
+ But the flag that sets whther descriptions are ignored is set synchronously while it should be set once the description is applied.
+ Otherwise, errors related to the candidates that are in the operation queue related to the previously ignored description will not be ignored.
+
+ * web-platform-tests/webrtc/RTCPeerConnection-perfect-negotiation-helper.js:
+ (try.async try):
+ (string_appeared_here.peer):
+ * web-platform-tests/webrtc/RTCPeerConnection-perfect-negotiation.https-expected.txt:
+
2021-09-21 Chris Dumez <[email protected]>
Resync web-platform-tests/tools from upstream
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-perfect-negotiation-helper.js (282823 => 282824)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-perfect-negotiation-helper.js 2021-09-21 16:39:54 UTC (rev 282823)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-perfect-negotiation-helper.js 2021-09-21 16:47:36 UTC (rev 282824)
@@ -36,7 +36,7 @@
try {
pc.addEventListener("icecandidate", ({candidate}) => send(other,
{candidate}));
- let makingOffer = false, ignoreOffer = false;
+ let makingOffer = false, ignoreIceCandidateFailures = false;
let srdAnswerPending = false;
pc.addEventListener("negotiationneeded", async () => {
try {
@@ -63,14 +63,16 @@
let isStable =
pc.signalingState == "stable" ||
(pc.signalingState == "have-local-offer" && srdAnswerPending);
- ignoreOffer = description.type == "offer" && !polite &&
+ const ignoreOffer = description.type == "offer" && !polite &&
(makingOffer || !isStable);
if (ignoreOffer) {
+ ignoreIceCandidateFailures = true;
return;
}
if (description.type == "answer")
srdAnswerPending = true;
await pc.setRemoteDescription(description);
+ ignoreIceCandidateFailures = false;
srdAnswerPending = false;
if (description.type == "offer") {
assert_equals(pc.signalingState, "have-remote-offer", "Remote offer");
@@ -88,7 +90,7 @@
try {
await pc.addIceCandidate(candidate);
} catch (e) {
- if (!ignoreOffer) throw e;
+ if (!ignoreIceCandidateFailures) throw e;
}
} else if (run) {
send(window.parent, {[run.id]: await commands[run.cmd]() || 0});
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes