Bug 1242682 - Separate dom/media into its own subsuite. r?gbrown draft dommedia
authorJoel Maher <jmaher@mozilla.com>
Thu, 10 Mar 2016 11:03:52 -0800
changeset 339210 4e234fad3092f8b3366b8c95060361828e3ab8ea
parent 339208 c3d3f68a26e3a1553e961d0ac8bf92d825d7a76b
child 515931 68035d6f7260fcfa3ba112c368dfe8b3a844a36a
push id12663
push userjmaher@mozilla.com
push dateThu, 10 Mar 2016 19:04:09 +0000
reviewersgbrown
bugs1242682
milestone48.0a1
Bug 1242682 - Separate dom/media into its own subsuite. r?gbrown MozReview-Commit-ID: ERgFe60aJF8
dom/media/mediasource/test/mochitest.ini
dom/media/test/mochitest.ini
dom/media/tests/mochitest/identity/mochitest.ini
dom/media/tests/mochitest/ipc/mochitest.ini
dom/media/tests/mochitest/mochitest.ini
dom/media/webaudio/test/mochitest.ini
dom/media/webspeech/recognition/test/mochitest.ini
dom/media/webspeech/synth/test/mochitest.ini
testing/mozharness/configs/android/androidarm.py
testing/mozharness/configs/android/androidarm_4_3.py
testing/mozharness/configs/unittests/linux_unittest.py
testing/mozharness/configs/unittests/mac_unittest.py
testing/mozharness/configs/unittests/win_unittest.py
testing/mozharness/mozharness/mozilla/testing/errors.py
testing/mozharness/mozharness/mozilla/testing/testbase.py
testing/taskcluster/tasks/branches/base_job_flags.yml
testing/taskcluster/tasks/branches/base_jobs.yml
testing/taskcluster/tasks/branches/try/job_flags.yml
testing/taskcluster/tasks/tests/fx_linux64_mochitest_media.yml
testing/taskcluster/tasks/tests/fx_linux64_mochitest_media_e10s.yml
--- a/dom/media/mediasource/test/mochitest.ini
+++ b/dom/media/mediasource/test/mochitest.ini
@@ -1,10 +1,11 @@
 [DEFAULT]
 skip-if = buildapp == 'b2g' # b2g( ReferenceError: MediaSource is not defined)
+subsuite = media
 support-files =
   mediasource.js
   seek.webm seek.webm^headers^
   seek_lowres.webm seek_lowres.webm^headers^
   bipbop/bipbop2s.mp4 bipbop/bipbop2s.mp4^headers^
   bipbop/bipbopinit.mp4 bipbop/bipbop_audioinit.mp4 bipbop/bipbop_videoinit.mp4
   bipbop/bipbop1.m4s bipbop/bipbop_audio1.m4s bipbop/bipbop_video1.m4s
   bipbop/bipbop2.m4s bipbop/bipbop_audio2.m4s bipbop/bipbop_video2.m4s
--- a/dom/media/test/mochitest.ini
+++ b/dom/media/test/mochitest.ini
@@ -18,16 +18,17 @@
 # gErrorTests in manifest.js.
 
 # To test for a specific bug in handling a specific resource type, make the
 # test first check canPlayType for the type, and if it's not supported, just
 # do ok(true, "Type not supported") and stop the test.
 
 [DEFAULT]
 skip-if = buildapp == 'mulet' || android_version == '18'
+subsuite = media
 support-files =
   16bit_wave_extrametadata.wav
   16bit_wave_extrametadata.wav^headers^
   320x240.ogv
   320x240.ogv^headers^
   448636.ogv
   448636.ogv^headers^
   VID_0001.ogg
--- a/dom/media/tests/mochitest/identity/mochitest.ini
+++ b/dom/media/tests/mochitest/identity/mochitest.ini
@@ -1,13 +1,14 @@
 [DEFAULT]
 # Android 2.3 - bug 981881
 # won't run on b2g desktop tests - bug 1119993
 # broken HTTPS on b2g emulator - bug 1135339
 skip-if = android_version == '10' || android_version == '18' || (buildapp == 'b2g' && toolkit != 'gonk') || (buildapp == 'b2g' && toolkit == 'gonk') || buildapp == 'mulet'
+subsuite = media
 support-files =
   /.well-known/idp-proxy/idp.js
   identityPcTest.js
 tags = msg
 
 [test_idpproxy.html]
 support-files =
   /.well-known/idp-proxy/idp-redirect-http.js
--- a/dom/media/tests/mochitest/ipc/mochitest.ini
+++ b/dom/media/tests/mochitest/ipc/mochitest.ini
@@ -1,9 +1,10 @@
 [DEFAULT]
 tags=msg
+subsuite=media
 support-files =
   ipc.json
 
 skip-if = e10s
 
 [test_ipc.html]
 skip-if =  buildapp == 'b2g' || buildapp == 'mulet' || toolkit == 'android' #bug 910661 # b2g(nested ipc not working) b2g-debug(debug-only failure) b2g-desktop(nested ipc not working)
--- a/dom/media/tests/mochitest/mochitest.ini
+++ b/dom/media/tests/mochitest/mochitest.ini
@@ -1,11 +1,12 @@
 [DEFAULT]
 # Android 2.3 - bug 981881
 tags = msg webrtc
+subsuite = media
 skip-if = android_version == '10' || (buildapp == 'mulet') || (toolkit == 'gonk' && debug) # b2g(Either bug 1171118 or bug 1169838, take your pick)
 support-files =
   head.js
   dataChannel.js
   mediaStreamPlayback.js
   network.js
   nonTrickleIce.js
   pc.js
--- a/dom/media/webaudio/test/mochitest.ini
+++ b/dom/media/webaudio/test/mochitest.ini
@@ -1,11 +1,12 @@
 [DEFAULT]
 tags=msg
 tags = webaudio
+subsuite = media
 skip-if = ((buildapp == 'b2g') && (toolkit != 'gonk' || debug)) #b2g-debug,b2g-desktop(bug 916135)
 support-files =
   audio-expected.wav
   audio-mono-expected-2.wav
   audio-mono-expected.wav
   audio-quad.wav
   audio.ogv
   audioBufferSourceNodeDetached_worker.js
--- a/dom/media/webspeech/recognition/test/mochitest.ini
+++ b/dom/media/webspeech/recognition/test/mochitest.ini
@@ -1,11 +1,12 @@
 [DEFAULT]
 tags=msg
 skip-if = buildapp == 'b2g' || (e10s && debug && os == 'win') # Bug 1191270, bug 1037287, bug 967606, bug 1096400, bug 1238542 etc
+subsuite = media
 support-files =
   head.js
   hello.ogg
   hello.ogg^headers^
   silence.ogg
   silence.ogg^headers^
 [test_abort.html]
 skip-if = toolkit == 'android' # bug 1037287
--- a/dom/media/webspeech/synth/test/mochitest.ini
+++ b/dom/media/webspeech/synth/test/mochitest.ini
@@ -1,10 +1,11 @@
 [DEFAULT]
 tags=msg
+subsuite = media
 support-files =
   common.js
   file_bfcache_frame.html
   file_setup.html
   file_speech_queue.html
   file_speech_simple.html
   file_speech_cancel.html
   file_speech_error.html
--- a/testing/mozharness/configs/android/androidarm.py
+++ b/testing/mozharness/configs/android/androidarm.py
@@ -95,16 +95,39 @@ config = {
                 "--quiet",
                 "--log-raw=%(raw_log_file)s",
                 "--log-errorsummary=%(error_summary_file)s",
                 "--screenshot-on-fail",
                 "--total-chunks=4",
                 "--subsuite=webgl",
             ],
         },
+        "mochitest-media": {
+            "run_filename": "runtestsremote.py",
+            "testsdir": "mochitest",
+            "options": [
+                "--dm_trans=sut",
+                "--app=%(app)s",
+                "--remote-webserver=%(remote_webserver)s",
+                "--xre-path=%(xre_path)s",
+                "--utility-path=%(utility_path)s",
+                "--deviceIP=%(device_ip)s",
+                "--devicePort=%(device_port)s",
+                "--http-port=%(http_port)s",
+                "--ssl-port=%(ssl_port)s",
+                "--certificate-path=%(certs_path)s",
+                "--symbols-path=%(symbols_path)s",
+                "--quiet",
+                "--log-raw=%(raw_log_file)s",
+                "--log-errorsummary=%(error_summary_file)s",
+                "--screenshot-on-fail",
+                "--total-chunks=2",
+                "--subsuite=media",
+            ],
+        },
         "robocop": {
             "run_filename": "runrobocop.py",
             "testsdir": "mochitest",
             "options": [
                 "--dm_trans=sut",
                 "--app=%(app)s",
                 "--remote-webserver=%(remote_webserver)s",
                 "--xre-path=%(xre_path)s",
@@ -300,16 +323,24 @@ config = {
         "mochitest-16": {
             "category": "mochitest",
             "extra_args": ["--total-chunks=16", "--this-chunk=16"],
         },
         "mochitest-chrome": {
             "category": "mochitest",
             "extra_args": ["--chrome"],
         },
+        "mochitest-media-1": {
+            "category": "mochitest-media",
+            "extra_args": ["--this-chunk=1"],
+        },
+        "mochitest-media-2": {
+            "category": "mochitest-media",
+            "extra_args": ["--this-chunk=2"],
+        },
         "mochitest-gl-1": {
             "category": "mochitest-gl",
             "extra_args": ["--this-chunk=1"],
         },
         "mochitest-gl-2": {
             "category": "mochitest-gl",
             "extra_args": ["--this-chunk=2"],
         },
--- a/testing/mozharness/configs/android/androidarm_4_3.py
+++ b/testing/mozharness/configs/android/androidarm_4_3.py
@@ -97,16 +97,37 @@ config = {
                 "--quiet",
                 "--log-raw=%(raw_log_file)s",
                 "--log-errorsummary=%(error_summary_file)s",
                 "--screenshot-on-fail",
                 "--total-chunks=4",
                 "--subsuite=webgl",
             ],
         },
+        "mochitest-media": {
+            "run_filename": "runtestsremote.py",
+            "testsdir": "mochitest",
+            "options": [
+                "--dm_trans=adb",
+                "--app=%(app)s",
+                "--remote-webserver=%(remote_webserver)s",
+                "--xre-path=%(xre_path)s",
+                "--utility-path=%(utility_path)s",
+                "--http-port=%(http_port)s",
+                "--ssl-port=%(ssl_port)s",
+                "--certificate-path=%(certs_path)s",
+                "--symbols-path=%(symbols_path)s",
+                "--quiet",
+                "--log-raw=%(raw_log_file)s",
+                "--log-errorsummary=%(error_summary_file)s",
+                "--screenshot-on-fail",
+                "--total-chunks=2",
+                "--subsuite=media",
+            ],
+        },
         "robocop": {
             "run_filename": "runrobocop.py",
             "testsdir": "mochitest",
             "options": [
                 "--dm_trans=adb",
                 "--app=%(app)s",
                 "--remote-webserver=%(remote_webserver)s",
                 "--xre-path=%(xre_path)s",
@@ -440,16 +461,24 @@ config = {
         "mochitest-16": {
             "category": "mochitest",
             "extra_args": ["--total-chunks=16", "--this-chunk=16"],
         },
         "mochitest-chrome": {
             "category": "mochitest",
             "extra_args": ["--chrome"],
         },
+        "mochitest-media-1": {
+            "category": "mochitest-media",
+            "extra_args": ["--this-chunk=1"],
+        },
+        "mochitest-media-2": {
+            "category": "mochitest-media",
+            "extra_args": ["--this-chunk=2"],
+        },
         "mochitest-gl-1": {
             "category": "mochitest-gl",
             "extra_args": ["--this-chunk=1"],
         },
         "mochitest-gl-2": {
             "category": "mochitest-gl",
             "extra_args": ["--this-chunk=2"],
         },
--- a/testing/mozharness/configs/unittests/linux_unittest.py
+++ b/testing/mozharness/configs/unittests/linux_unittest.py
@@ -189,16 +189,17 @@ config = {
     "all_mochitest_suites": {
         "valgrind-plain": ["--valgrind=/usr/bin/valgrind",
                            "--valgrind-supp-files=" + VALGRIND_SUPP_ARCH +
                                "," + VALGRIND_SUPP_CROSS_ARCH,
                            "--timeout=900", "--max-timeouts=50"],
          "plain": [],
         "plain-chunked": ["--chunk-by-dir=4"],
         "mochitest-push": ["--subsuite=push"],
+        "mochitest-media": ["--subsuite=media"],
         "chrome": ["--chrome"],
         "chrome-chunked": ["--chrome", "--chunk-by-dir=4"],
         "browser-chrome": ["--browser-chrome"],
         "browser-chrome-chunked": ["--browser-chrome", "--chunk-by-runtime"],
         "browser-chrome-addons": ["--browser-chrome", "--chunk-by-runtime", "--tag=addons"],
         "browser-chrome-coverage": ["--browser-chrome", "--chunk-by-runtime", "--timeout=1200"],
         "browser-chrome-screenshots": ["--browser-chrome", "--subsuite=screenshots"],
         "mochitest-gl": ["--subsuite=webgl"],
--- a/testing/mozharness/configs/unittests/mac_unittest.py
+++ b/testing/mozharness/configs/unittests/mac_unittest.py
@@ -137,16 +137,17 @@ config = {
             "run_filename": "rungtests.py",
         },
     },
     # local mochi suites
     "all_mochitest_suites": {
         "plain": [],
         "plain-chunked": ["--chunk-by-dir=4"],
         "mochitest-push": ["--subsuite=push"],
+        "mochitest-media": ["--subsuite=media"],
         "chrome": ["--chrome"],
         "chrome-chunked": ["--chrome", "--chunk-by-dir=4"],
         "browser-chrome": ["--browser-chrome"],
         "browser-chrome-chunked": ["--browser-chrome", "--chunk-by-runtime"],
         "browser-chrome-addons": ["--browser-chrome", "--chunk-by-runtime", "--tag=addons"],
         "browser-chrome-screenshots": ["--browser-chrome", "--subsuite=screenshots"],
         "mochitest-gl": ["--subsuite=webgl"],
         "mochitest-devtools-chrome": ["--browser-chrome", "--subsuite=devtools"],
--- a/testing/mozharness/configs/unittests/win_unittest.py
+++ b/testing/mozharness/configs/unittests/win_unittest.py
@@ -149,16 +149,17 @@ config = {
         },
     },
     # local mochi suites
     "all_mochitest_suites":
     {
         "plain": [],
         "plain-chunked": ["--chunk-by-dir=4"],
         "mochitest-push": ["--subsuite=push"],
+        "mochitest-media": ["--subsuite=media"],
         "chrome": ["--chrome"],
         "chrome-chunked": ["--chrome", "--chunk-by-dir=4"],
         "browser-chrome": ["--browser-chrome"],
         "browser-chrome-chunked": ["--browser-chrome", "--chunk-by-runtime"],
         "browser-chrome-addons": ["--browser-chrome", "--chunk-by-runtime", "--tag=addons"],
         "browser-chrome-screenshots": ["--browser-chrome", "--subsuite=screenshots"],
         "mochitest-gl": ["--subsuite=webgl"],
         "mochitest-devtools-chrome": ["--browser-chrome", "--subsuite=devtools"],
--- a/testing/mozharness/mozharness/mozilla/testing/errors.py
+++ b/testing/mozharness/mozharness/mozilla/testing/errors.py
@@ -23,16 +23,17 @@ from mozharness.base.log import INFO, WA
     'pass_group': "Passed",
     'fail_group': "Failed",
     'known_fail_group': "Todo",
 }
 
 TinderBoxPrintRe = {
     "mochitest_summary": _mochitest_summary,
     "mochitest-gl_summary": _mochitest_summary,
+    "mochitest-media_summary": _mochitest_summary,
     "reftest_summary": {
         'regex': re.compile(r'''REFTEST INFO \| (Successful|Unexpected|Known problems): (\d+) \('''),
         'pass_group': "Successful",
         'fail_group': "Unexpected",
         'known_fail_group': "Known problems",
     },
     "crashtest_summary": {
         'regex': re.compile(r'''REFTEST INFO \| (Successful|Unexpected|Known problems): (\d+) \('''),
--- a/testing/mozharness/mozharness/mozilla/testing/testbase.py
+++ b/testing/mozharness/mozharness/mozilla/testing/testbase.py
@@ -429,16 +429,17 @@ 2. running via buildbot and running the 
 
     def _download_test_packages(self, suite_categories, target_unzip_dirs):
         # Some platforms define more suite categories/names than others.
         # This is a difference in the convention of the configs more than
         # to how these tests are run, so we pave over these differences here.
         aliases = {
             'robocop': 'mochitest',
             'mochitest-chrome': 'mochitest',
+            'mochitest-media': 'mochitest',
             'mochitest-gl': 'mochitest',
             'jsreftest': 'reftest',
             'crashtest': 'reftest',
             'reftest-debug': 'reftest',
             'jsreftest-debug': 'reftest',
             'crashtest-debug': 'reftest',
         }
         suite_categories = [aliases.get(name, name) for name in suite_categories]
--- a/testing/taskcluster/tasks/branches/base_job_flags.yml
+++ b/testing/taskcluster/tasks/branches/base_job_flags.yml
@@ -52,16 +52,18 @@ flags:
     mochitest-browser-chrome: /mochitest-browser-chrome.*/
     mochitest-browser-chrome-e10s: /mochitest-browser-chrome-e10s.*/
     mochitest-chrome: /.*mochitest-chrome.*/
     mochitest-dt: /mochitest-devtools-chrome.*/
     mochitest-dt-e10s: /mochitest-devtools-chrome-e10s.*/
     mochitest-gl: /mochitest-webgl.*/
     mochitest-jetpack: /mochitest-jetpack.*/
     mochitest-push: /mochitest-push.*/
+    mochitest-media: /mochitest-media.*/
+    mochitest-media-e10s: /mochitest-media-e10s.*/
     mochitest-vg: /mochitest-valgrind.*/
     reftest: /(plain-)?reftest.*/
     reftest-no-accel: /(plain-)?reftest-no-accel.*/
     reftests: /(plain-)?reftest.*/
     reftests-e10s: /(plain-)?reftest-e10s.*/
     robocop: /robocop.*/
     web-platform-test: /web-platform-tests.*/
     web-platform-tests: /web-platform-tests.*/
@@ -138,16 +140,17 @@ flags:
     - mochitest-browser-chrome
     - mochitest-browser-chrome-e10s
     - mochitest-chrome
     - mochitest-devtools-chrome
     - mochitest-devtools-chrome-e10s
     - mochitest-e10s
     - mochitest-jetpack
     - mochitest-media
+    - mochitest-media-e10s
     - mochitest-oop
     - mochitest-push
     - mochitest-webgl
     - mochitest-valgrind
     - mozmill
     - reftest
     - reftest-e10s
     - reftest-ipc
--- a/testing/taskcluster/tasks/branches/base_jobs.yml
+++ b/testing/taskcluster/tasks/branches/base_jobs.yml
@@ -291,16 +291,24 @@ tests:
   mochitest-jetpack:
     allowed_build_tasks:
       tasks/builds/dbg_linux64.yml:
         task: tasks/tests/fx_linux64_mochitest_jetpack.yml
   mochitest-push:
     allowed_build_tasks:
       tasks/builds/dbg_linux64.yml:
         task: tasks/tests/fx_linux64_mochitest_push.yml
+  mochitest-media:
+    allowed_build_tasks:
+      tasks/builds/dbg_linux64.yml:
+        task: tasks/tests/fx_linux64_mochitest_media.yml
+  mochitest-media-e10s:
+    allowed_build_tasks:
+      tasks/builds/dbg_linux64.yml:
+        task: tasks/tests/fx_linux64_mochitest_media_e10s.yml
   mochitest-webgl:
     allowed_build_tasks:
       tasks/builds/dbg_linux64.yml:
         task: tasks/tests/fx_linux64_mochitest_gl.yml
   reftest:
     allowed_build_tasks:
       tasks/builds/mulet_linux.yml:
         task: tasks/tests/mulet_reftests.yml
--- a/testing/taskcluster/tasks/branches/try/job_flags.yml
+++ b/testing/taskcluster/tasks/branches/try/job_flags.yml
@@ -227,16 +227,24 @@ tests:
   mochitest-jetpack:
     allowed_build_tasks:
       tasks/builds/dbg_linux64_clobber.yml:
         task: tasks/tests/fx_linux64_mochitest_jetpack.yml
   mochitest-push:
     allowed_build_tasks:
       tasks/builds/dbg_linux64_clobber.yml:
         task: tasks/tests/fx_linux64_mochitest_push.yml
+  mochitest-media:
+    allowed_build_tasks:
+      tasks/builds/dbg_linux64_clobber.yml:
+        task: tasks/tests/fx_linux64_mochitest_media.yml
+  mochitest-media-e10s:
+    allowed_build_tasks:
+      tasks/builds/dbg_linux64_clobber.yml:
+        task: tasks/tests/fx_linux64_mochitest_media_e10s.yml
   mochitest-webgl:
     allowed_build_tasks:
       tasks/builds/dbg_linux64_clobber.yml:
         task: tasks/tests/fx_linux64_mochitest_gl.yml
   reftest:
     allowed_build_tasks:
       tasks/builds/b2g_emulator_x86_l_opt.yml:
         task: tasks/tests/b2g_emulator_reftest.yml
new file mode 100644
--- /dev/null
+++ b/testing/taskcluster/tasks/tests/fx_linux64_mochitest_media.yml
@@ -0,0 +1,20 @@
+$inherits:
+  from: 'tasks/tests/fx_desktop_unittest.yml'
+task:
+  scopes:
+    - 'docker-worker:capability:device:loopbackVideo'
+  metadata:
+    name: '[TC] Linux64 mochitest-media'
+    description: Mochitest media run
+  payload:
+    capabilities:
+      devices:
+        loopbackVideo: true
+  extra:
+    suite:
+      name: mochitest
+      flavor: mochitest-media
+    treeherder:
+      groupName: Desktop mochitests
+      groupSymbol: tc-M
+      symbol: mda
new file mode 100644
--- /dev/null
+++ b/testing/taskcluster/tasks/tests/fx_linux64_mochitest_media_e10s.yml
@@ -0,0 +1,22 @@
+$inherits:
+  from: 'tasks/tests/fx_desktop_unittest.yml'
+task:
+  scopes:
+    - 'docker-worker:capability:device:loopbackVideo'
+  metadata:
+    name: '[TC] Linux64 mochitest-media-e10s'
+    description: Mochitest media e10s run
+  payload:
+    command:
+      - --e10s
+    capabilities:
+      devices:
+        loopbackVideo: true
+  extra:
+    suite:
+      name: mochitest
+      flavor: mochitest-media
+    treeherder:
+      groupName: Desktop mochitests
+      groupSymbol: tc-M-e10s
+      symbol: mda