Bug 1231975 - Part 7: Disable trickle for the NAT tests, since trickle delays can cause lower priority pairs to get selected. r=drno
authorByron Campen [:bwc] <docfaraday@gmail.com>
Thu, 28 Apr 2016 09:47:08 -0500
changeset 295567 8dad9ad634a303a6dd5c4715ef348d095a4bf9e4
parent 295566 9384b3767131eee7a8ebedef4ef11c148077e904
child 295568 185040c7902134ebc35abdc8c987c2cdcb789d10
push id19015
push usercbook@mozilla.com
push dateMon, 02 May 2016 09:39:23 +0000
treeherderfx-team@2080375bc69d [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdrno
bugs1231975
milestone49.0a1
Bug 1231975 - Part 7: Disable trickle for the NAT tests, since trickle delays can cause lower priority pairs to get selected. r=drno MozReview-Commit-ID: GaqZQxJ7g2E
dom/media/tests/mochitest/test_peerConnection_basicAudioNATRelay.html
dom/media/tests/mochitest/test_peerConnection_basicAudioNATRelayTCP.html
dom/media/tests/mochitest/test_peerConnection_basicAudioNATSrflx.html
--- a/dom/media/tests/mochitest/test_peerConnection_basicAudioNATRelay.html
+++ b/dom/media/tests/mochitest/test_peerConnection_basicAudioNATRelay.html
@@ -1,11 +1,12 @@
 <!DOCTYPE HTML>
 <html>
 <head>
+  <script type="application/javascript" src="nonTrickleIce.js"></script>
   <script type="application/javascript" src="pc.js"></script>
 </head>
 <body>
 <pre id="test">
 <script type="application/javascript">
   createHTML({
     bug: "1231975",
     title: "Basic audio-only peer connection with port dependent NAT"
@@ -22,16 +23,22 @@
       }, function (options) {
         options = options || {};
         options.expectedLocalCandidateType = "serverreflexive";
         options.expectedRemoteCandidateType = "relayed";
         // If both have TURN, it is a toss-up which one will end up using a
         // relay.
         options.turn_disabled_local = true;
         test = new PeerConnectionTest(options);
+        // Make sure we don't end up choosing the wrong thing due to delays in
+        // trickle. Once we are willing to accept trickle after ICE success, we
+        // can maybe wait a bit to allow things to stabilize.
+        // TODO(bug 1238249)
+        makeOffererNonTrickle(test.chain);
+        makeAnswererNonTrickle(test.chain);
         test.setMediaConstraints([{audio: true}], [{audio: true}]);
         test.run();
       })
   }, { useIceServer: true });
 </script>
 </pre>
 </body>
 </html>
--- a/dom/media/tests/mochitest/test_peerConnection_basicAudioNATRelayTCP.html
+++ b/dom/media/tests/mochitest/test_peerConnection_basicAudioNATRelayTCP.html
@@ -19,16 +19,18 @@
           ['media.peerconnection.nat_simulator.filtering_type', 'PORT_DEPENDENT'],
           ['media.peerconnection.nat_simulator.mapping_type', 'PORT_DEPENDENT'],
           ['media.peerconnection.nat_simulator.block_udp', true]
         ]
       }, function (options) {
         options = options || {};
         options.expectedLocalCandidateType = "relayed-tcp";
         options.expectedRemoteCandidateType = "relayed-tcp";
+        // No reason to wait for gathering to complete like the other NAT tests,
+        // since relayed-tcp is the only thing that can work.
         test = new PeerConnectionTest(options);
         test.setMediaConstraints([{audio: true}], [{audio: true}]);
         test.run();
       })
   }, { useIceServer: true });
 </script>
 </pre>
 </body>
--- a/dom/media/tests/mochitest/test_peerConnection_basicAudioNATSrflx.html
+++ b/dom/media/tests/mochitest/test_peerConnection_basicAudioNATSrflx.html
@@ -1,11 +1,12 @@
 <!DOCTYPE HTML>
 <html>
 <head>
+  <script type="application/javascript" src="nonTrickleIce.js"></script>
   <script type="application/javascript" src="pc.js"></script>
 </head>
 <body>
 <pre id="test">
 <script type="application/javascript">
   createHTML({
     bug: "1231975",
     title: "Basic audio-only peer connection with endpoint independent NAT"
@@ -19,16 +20,22 @@
           ['media.peerconnection.nat_simulator.filtering_type', 'ENDPOINT_INDEPENDENT'],
           ['media.peerconnection.nat_simulator.mapping_type', 'ENDPOINT_INDEPENDENT']
         ]
       }, function (options) {
         options = options || {};
         options.expectedLocalCandidateType = "serverreflexive";
         options.expectedRemoteCandidateType = "serverreflexive";
         test = new PeerConnectionTest(options);
+        // Make sure we don't end up choosing the wrong thing due to delays in
+        // trickle. Once we are willing to accept trickle after ICE success, we
+        // can maybe wait a bit to allow things to stabilize.
+        // TODO(bug 1238249)
+        makeOffererNonTrickle(test.chain);
+        makeAnswererNonTrickle(test.chain);
         test.setMediaConstraints([{audio: true}], [{audio: true}]);
         test.run();
       })
   }, { useIceServer: true });
 </script>
 </pre>
 </body>
 </html>