Bug 1305601 - Increase test_gUM_mediaElementCapture_tracks.html timeouts to 50 seconds. r?jib draft
authorAndreas Pehrson <pehrsons@gmail.com>
Tue, 11 Oct 2016 17:22:26 +0200
changeset 423678 a531f83a681e8663128bfb12053a79368893fb16
parent 423090 d72cf6ecebaf707c159f6697d9f5f6f6a6feb7e1
child 533508 2828c1a813a44bf7f0c470ca28fbdc323cbf34ee
push id31971
push userbmo:pehrson@telenordigital.com
push dateTue, 11 Oct 2016 15:23:53 +0000
reviewersjib
bugs1305601
milestone52.0a1
Bug 1305601 - Increase test_gUM_mediaElementCapture_tracks.html timeouts to 50 seconds. r?jib MozReview-Commit-ID: 1wY3Y3MxPGA
dom/media/tests/mochitest/test_getUserMedia_mediaElementCapture_tracks.html
--- a/dom/media/tests/mochitest/test_getUserMedia_mediaElementCapture_tracks.html
+++ b/dom/media/tests/mochitest/test_getUserMedia_mediaElementCapture_tracks.html
@@ -24,17 +24,17 @@ var tracks = [];
 runTest(() => getUserMedia({audio: true, video: true})
   .then(stream => {
     // We need to test with multiple tracks. We add an extra of each kind.
     stream.getTracks().forEach(t => stream.addTrack(t.clone()));
 
     audioElement = createMediaElement("gUMAudio", "local", "gUMAudio", true);
     audioElement.srcObject = stream;
 
-    return haveEvent(audioElement, "loadedmetadata", wait(5000, new Error("Timeout")));
+    return haveEvent(audioElement, "loadedmetadata", wait(50000, new Error("Timeout")));
   })
   .then(() => {
     info("Capturing audio element (loadedmetadata -> captureStream)");
     audioCaptureStream = audioElement.mozCaptureStream();
 
     is(audioCaptureStream.getAudioTracks().length, 2,
        "audio element should capture two audio tracks");
     is(audioCaptureStream.getVideoTracks().length, 0,
@@ -48,29 +48,29 @@ runTest(() => getUserMedia({audio: true,
     info("Capturing video element (captureStream -> loadedmetadata)");
     videoCaptureStream = videoElement.mozCaptureStream();
     videoElement.srcObject = audioElement.srcObject.clone();
 
     is(videoCaptureStream.getTracks().length, 0,
        "video element should have no tracks before metadata known");
 
     return haveEventsButNoMore(
-        videoCaptureStream, "addtrack", 3, wait(5000, new Error("No event")));
+        videoCaptureStream, "addtrack", 3, wait(50000, new Error("No event")));
   })
   .then(() => {
     is(videoCaptureStream.getAudioTracks().length, 2,
        "video element should capture two audio tracks");
     is(videoCaptureStream.getVideoTracks().length, 1,
        "video element should capture one video track at most");
 
     info("Testing dynamically adding audio track to audio element");
     audioElement.srcObject.addTrack(
         audioElement.srcObject.getAudioTracks()[0].clone());
     return haveEventsButNoMore(
-        audioCaptureStream, "addtrack", 1, wait(5000, new Error("No event")));
+        audioCaptureStream, "addtrack", 1, wait(50000, new Error("No event")));
   })
   .then(() => {
     is(audioCaptureStream.getAudioTracks().length, 3,
        "Audio element should have three audio tracks captured.");
 
     info("Testing dynamically adding video track to audio element");
     audioElement.srcObject.addTrack(
         audioElement.srcObject.getVideoTracks()[0].clone());
@@ -79,17 +79,17 @@ runTest(() => getUserMedia({audio: true,
   .then(() => {
     is(audioCaptureStream.getVideoTracks().length, 0,
        "Audio element should have no video tracks captured.");
 
     info("Testing dynamically adding audio track to video element");
     videoElement.srcObject.addTrack(
         videoElement.srcObject.getAudioTracks()[0].clone());
     return haveEventsButNoMore(
-        videoCaptureStream, "addtrack", 1, wait(5000, new Error("Timeout")));
+        videoCaptureStream, "addtrack", 1, wait(50000, new Error("Timeout")));
   })
   .then(() => {
     is(videoCaptureStream.getAudioTracks().length, 3,
        "Captured video stream should have three audio tracks captured.");
 
     info("Testing dynamically adding video track to video element");
     videoElement.srcObject.addTrack(
         videoElement.srcObject.getVideoTracks()[0].clone());
@@ -103,34 +103,34 @@ runTest(() => getUserMedia({audio: true,
     tracks.push(...videoElement.srcObject.getTracks());
     videoElement.srcObject.getVideoTracks().reverse().forEach(t =>
         videoElement.srcObject.removeTrack(t));
     is(videoCaptureStream.getVideoTracks()
                          .filter(t => t.readyState == "live").length, 1,
        "Captured video should have still have one video track captured.");
 
     return haveEvent(videoCaptureStream.getVideoTracks()[0], "ended",
-                     wait(5000, new Error("Timeout")));
+                     wait(50000, new Error("Timeout")));
   })
   .then(() => {
     is(videoCaptureStream.getVideoTracks()
                          .filter(t => t.readyState == "live").length, 0,
        "Captured video stream should have no video tracks captured after removal.");
 
     info("Testing source reset.");
   })
   .then(() => getUserMedia({audio: true, video: true}))
   .then(stream => {
     videoElement.srcObject = stream;
     return Promise.all(videoCaptureStream.getTracks()
         .filter(t => t.readyState == "live")
-        .map(t => haveEvent(t, "ended", wait(5000, new Error("Timeout")))));
+        .map(t => haveEvent(t, "ended", wait(50000, new Error("Timeout")))));
   })
   .then(() => haveEventsButNoMore(
-                  videoCaptureStream, "addtrack", 2, wait(5000, new Error("Timeout"))))
+                  videoCaptureStream, "addtrack", 2, wait(50000, new Error("Timeout"))))
   .then(() => {
     is(videoCaptureStream.getAudioTracks()
         .filter(t => t.readyState == "ended").length, 3,
        "Captured video stream should have three ended audio tracks");
     is(videoCaptureStream.getAudioTracks()
         .filter(t => t.readyState == "live").length, 1,
        "Captured video stream should have one live audio track");
 
@@ -142,41 +142,41 @@ runTest(() => getUserMedia({audio: true,
        "Captured video stream should have one live video track");
 
     info("Testing CaptureStreamUntilEnded");
     untilEndedElement =
       createMediaElement("gUMVideoUntilEnded", "local", "gUMVideoUntilEnded", false);
     untilEndedElement.srcObject = audioElement.srcObject;
 
     return haveEvent(untilEndedElement, "loadedmetadata",
-                     wait(5000, new Error("Timeout")));
+                     wait(50000, new Error("Timeout")));
   })
   .then(() => {
     streamUntilEnded = untilEndedElement.mozCaptureStreamUntilEnded();
 
     is(streamUntilEnded.getAudioTracks().length, 3,
        "video element should capture all 3 audio tracks until ended");
     is(streamUntilEnded.getVideoTracks().length, 1,
        "video element should capture only 1 video track until ended");
 
     untilEndedElement.srcObject.getTracks().forEach(t => t.stop());
     // TODO(1208316) We stop the stream to make the media element end.
     untilEndedElement.srcObject.stop();
 
     return Promise.all([
-      haveEvent(untilEndedElement, "ended", wait(5000, new Error("Timeout"))),
+      haveEvent(untilEndedElement, "ended", wait(50000, new Error("Timeout"))),
       ...streamUntilEnded.getTracks()
-           .map(t => haveEvent(t, "ended", wait(5000, new Error("Timeout"))))
+           .map(t => haveEvent(t, "ended", wait(50000, new Error("Timeout"))))
     ]);
   })
   .then(() => {
     info("Element and tracks ended. Ensuring that new tracks aren't created.");
     untilEndedElement.srcObject = videoElement.srcObject;
     return haveEventsButNoMore(
-        untilEndedElement, "loadedmetadata", 1, wait(5000, new Error("Timeout")));
+        untilEndedElement, "loadedmetadata", 1, wait(50000, new Error("Timeout")));
   })
   .then(() => is(streamUntilEnded.getTracks().length, 4,
                  "Should still have 4 tracks"))
   .catch(e => ok(false, "Test failed: " + e + (e && e.stack ? "\n" + e.stack : "")))
   .then(() => [...tracks,
                ...videoElement.srcObject.getTracks()].forEach(t => t.stop())));
 
 </script>