Bug 1242682 - Separate dom/media into its own subsuite. r=armenzg
authorJoel Maher <jmaher@mozilla.com>
Fri, 04 Mar 2016 04:35:31 -0800 (2016-03-04)
changeset 13938 dd518a784a4602e7e58d9cceefa21fc285996284
parent 13937 1ce5d30d8e7cb01e9b280caf010ce7b30acf0f2d
child 13939 ddf4c824ca46e8b1e37e245ba7395c4bd6d60fd4
push id9795
push userjmaher@mozilla.com
push dateWed, 09 Mar 2016 11:42:21 +0000 (2016-03-09)
reviewersarmenzg
bugs1242682
Bug 1242682 - Separate dom/media into its own subsuite. r=armenzg
mozilla-tests/config.py
mozilla-tests/mobile_config.py
--- a/mozilla-tests/config.py
+++ b/mozilla-tests/config.py
@@ -651,16 +651,36 @@ MOCHITEST_PUSH_E10S = [
         'use_mozharness': True,
         'script_path': 'scripts/desktop_unittest.py',
         'extra_args': ['--mochitest-suite', 'mochitest-push', '--e10s'],
         'blob_upload': True,
         'script_maxtime': 7200,
     }),
 ]
 
+MOCHITEST_MEDIA = [
+    ('mochitest-media', {
+        'use_mozharness': True,
+        'script_path': 'scripts/desktop_unittest.py',
+        'extra_args': ['--mochitest-suite', 'mochitest-media'],
+        'blob_upload': True,
+        'script_maxtime': 7200,
+    }),
+]
+
+MOCHITEST_MEDIA_E10S = [
+    ('mochitest-media-e10s', {
+        'use_mozharness': True,
+        'script_path': 'scripts/desktop_unittest.py',
+        'extra_args': ['--mochitest-suite', 'mochitest-media', '--e10s'],
+        'blob_upload': True,
+        'script_maxtime': 7200,
+    }),
+]
+
 MOCHITEST_WEBGL = [
     ('mochitest-gl', {
         'use_mozharness': True,
         'script_path': 'scripts/desktop_unittest.py',
         'extra_args': ['--mochitest-suite', 'mochitest-gl'],
         'blob_upload': True,
         'script_maxtime': 12000,
     }),
@@ -921,16 +941,22 @@ PLATFORM_UNITTEST_VARS = {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
                 'mochitest-push': {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
                 'mochitest-push-e10s': {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
+                'mochitest-media': {
+                    'config_files': ["unittests/linux_unittest.py"],
+                },
+                'mochitest-media-e10s': {
+                    'config_files': ["unittests/linux_unittest.py"],
+                },
                 'mochitest-e10s': {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
                 'mochitest-browser-chrome': {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
                 'mochitest-browser-screenshots': {
                     'config_files': ["unittests/linux_unittest.py"],
@@ -1048,16 +1074,22 @@ PLATFORM_UNITTEST_VARS = {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
                 'mochitest-push': {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
                 'mochitest-push-e10s': {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
+                'mochitest-media': {
+                    'config_files': ["unittests/linux_unittest.py"],
+                },
+                'mochitest-media-e10s': {
+                    'config_files': ["unittests/linux_unittest.py"],
+                },
                 'mochitest-e10s': {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
                 'mochitest-browser-chrome': {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
                 'mochitest-browser-screenshots': {
                     'config_files': ["unittests/linux_unittest.py"],
@@ -1182,16 +1214,22 @@ PLATFORM_UNITTEST_VARS = {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
                 'mochitest-push': {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
                 'mochitest-push-e10s': {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
+                'mochitest-media': {
+                    'config_files': ["unittests/linux_unittest.py"],
+                },
+                'mochitest-media-e10s': {
+                    'config_files': ["unittests/linux_unittest.py"],
+                },
                 'mochitest-e10s': {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
                 'mochitest-browser-chrome': {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
                 'mochitest-e10s-browser-chrome': {
                     'config_files': ["unittests/linux_unittest.py"],
@@ -1309,16 +1347,22 @@ PLATFORM_UNITTEST_VARS = {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
                 'mochitest-push': {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
                 'mochitest-push-e10s': {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
+                'mochitest-media': {
+                    'config_files': ["unittests/linux_unittest.py"],
+                },
+                'mochitest-media-e10s': {
+                    'config_files': ["unittests/linux_unittest.py"],
+                },
                 'mochitest-e10s': {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
                 'mochitest-browser-chrome': {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
                 'mochitest-e10s-browser-chrome': {
                     'config_files': ["unittests/linux_unittest.py"],
@@ -1430,16 +1474,22 @@ PLATFORM_UNITTEST_VARS = {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
                 'mochitest-push': {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
                 'mochitest-push-e10s': {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
+                'mochitest-media': {
+                    'config_files': ["unittests/linux_unittest.py"],
+                },
+                'mochitest-media-e10s': {
+                    'config_files': ["unittests/linux_unittest.py"],
+                },
                 'mochitest-e10s': {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
                 'mochitest-browser-chrome': {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
                 'mochitest-e10s-browser-chrome': {
                     'config_files': ["unittests/linux_unittest.py"],
@@ -1555,16 +1605,22 @@ PLATFORM_UNITTEST_VARS = {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-push': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-push-e10s': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
+                'mochitest-media': {
+                    'config_files': ["unittests/win_unittest.py"],
+                },
+                'mochitest-media-e10s': {
+                    'config_files': ["unittests/win_unittest.py"],
+                },
                 'mochitest-e10s': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-csb': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-browser-chrome': {
                     'config_files': ["unittests/win_unittest.py"],
@@ -1672,16 +1728,22 @@ PLATFORM_UNITTEST_VARS = {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-push': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-push-e10s': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
+                'mochitest-media': {
+                    'config_files': ["unittests/win_unittest.py"],
+                },
+                'mochitest-media-e10s': {
+                    'config_files': ["unittests/win_unittest.py"],
+                },
                 'mochitest-e10s': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-csb': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-browser-chrome': {
                     'config_files': ["unittests/win_unittest.py"],
@@ -1795,16 +1857,22 @@ PLATFORM_UNITTEST_VARS = {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-push': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-push-e10s': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
+                'mochitest-media': {
+                    'config_files': ["unittests/win_unittest.py"],
+                },
+                'mochitest-media-e10s': {
+                    'config_files': ["unittests/win_unittest.py"],
+                },
                 'mochitest-e10s': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-csb': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-browser-chrome': {
                     'config_files': ["unittests/win_unittest.py"],
@@ -1929,16 +1997,22 @@ PLATFORM_UNITTEST_VARS = {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-push': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-push-e10s': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
+                'mochitest-media': {
+                    'config_files': ["unittests/win_unittest.py"],
+                },
+                'mochitest-media-e10s': {
+                    'config_files': ["unittests/win_unittest.py"],
+                },
                 'mochitest-e10s': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-csb': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-browser-chrome': {
                     'config_files': ["unittests/win_unittest.py"],
@@ -2046,16 +2120,22 @@ PLATFORM_UNITTEST_VARS = {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-push': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-push-e10s': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
+                'mochitest-media': {
+                    'config_files': ["unittests/win_unittest.py"],
+                },
+                'mochitest-media-e10s': {
+                    'config_files': ["unittests/win_unittest.py"],
+                },
                 'mochitest-e10s': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-csb': {
                     'config_files': ["unittests/win_unittest.py"],
                 },
                 'mochitest-browser-chrome': {
                     'config_files': ["unittests/win_unittest.py"],
@@ -2163,16 +2243,22 @@ PLATFORM_UNITTEST_VARS = {
                     'config_files': ["unittests/mac_unittest.py"],
                 },
                 'mochitest-push': {
                     'config_files': ["unittests/mac_unittest.py"],
                 },
                 'mochitest-push-e10s': {
                     'config_files': ["unittests/mac_unittest.py"],
                 },
+                'mochitest-media': {
+                    'config_files': ["unittests/mac_unittest.py"],
+                },
+                'mochitest-media-e10s': {
+                    'config_files': ["unittests/mac_unittest.py"],
+                },
                 'mochitest-e10s': {
                     'config_files': ["unittests/mac_unittest.py"],
                 },
                 'mochitest-browser-chrome': {
                     'config_files': ["unittests/mac_unittest.py"],
                 },
                 'mochitest-browser-screenshots': {
                     'config_files': ["unittests/mac_unittest.py"],
@@ -2277,16 +2363,22 @@ PLATFORM_UNITTEST_VARS = {
                     'config_files': ["unittests/mac_unittest.py"],
                 },
                 'mochitest-push': {
                     'config_files': ["unittests/mac_unittest.py"],
                 },
                 'mochitest-push-e10s': {
                     'config_files': ["unittests/mac_unittest.py"],
                 },
+                'mochitest-media': {
+                    'config_files': ["unittests/mac_unittest.py"],
+                },
+                'mochitest-media-e10s': {
+                    'config_files': ["unittests/mac_unittest.py"],
+                },
                 'mochitest-e10s': {
                     'config_files': ["unittests/mac_unittest.py"],
                 },
                 'mochitest-browser-chrome': {
                     'config_files': ["unittests/mac_unittest.py"],
                 },
                 'mochitest-browser-screenshots': {
                     'config_files': ["unittests/mac_unittest.py"],
@@ -2385,16 +2477,22 @@ PLATFORM_UNITTEST_VARS = {
                     'config_files': ["unittests/mac_unittest.py"],
                 },
                 'mochitest-push': {
                     'config_files': ["unittests/mac_unittest.py"],
                 },
                 'mochitest-push-e10s': {
                     'config_files': ["unittests/mac_unittest.py"],
                 },
+                'mochitest-media': {
+                    'config_files': ["unittests/mac_unittest.py"],
+                },
+                'mochitest-media-e10s': {
+                    'config_files': ["unittests/mac_unittest.py"],
+                },
                 'mochitest-e10s': {
                     'config_files': ["unittests/mac_unittest.py"],
                 },
                 'mochitest-browser-chrome': {
                     'config_files': ["unittests/mac_unittest.py"],
                 },
                 'mochitest-browser-screenshots': {
                     'config_files': ["unittests/mac_unittest.py"],
@@ -2757,16 +2855,38 @@ for platform in PLATFORMS.keys():
                 continue
 
             if platform in BRANCHES[name]['platforms']:
                 if slave_platform in BRANCHES[name]['platforms'][platform]:
                     BRANCHES[name]['platforms'][platform][slave_platform]['opt_unittest_suites'] += \
                         WEB_PLATFORM_TESTS_CHUNKED + WEB_PLATFORM_REFTESTS
 
 
+### Tests Enabled in Gecko 48+ ###
+
+# Bug 1242682 - Split out mochitest-media in 48+
+for platform in PLATFORMS.keys():
+    for name, branch in items_at_least(BRANCHES, 'gecko_version', 48):
+        #TODO: remove when bug 1242682 has green running jobs on try
+        if name != 'try':
+            continue
+
+        for slave_platform in PLATFORMS[platform]['slave_platforms']:
+            if platform in BRANCHES[name]['platforms']:
+                if slave_platform in BRANCHES[name]['platforms'][platform]:
+                    BRANCHES[name]['platforms'][platform][slave_platform]['opt_unittest_suites'] += MOCHITEST_MEDIA
+                    BRANCHES[name]['platforms'][platform][slave_platform]['debug_unittest_suites']+= MOCHITEST_MEDIA
+
+            if platform in ('linux', 'linux64', 'linux64-asan') and platform in BRANCHES[name]['platforms'] or \
+               slave_platform in ('win7-ix', 'win7-all', 'yosemite_r7'):
+                BRANCHES[name]['platforms'][platform][slave_platform]['opt_unittest_suites'] += MOCHITEST_MEDIA_E10S
+            if platform in ('linux', 'linux64') and platform in BRANCHES[name]['platforms']:
+                BRANCHES[name]['platforms'][platform][slave_platform]['debug_unittest_suites'] += MOCHITEST_MEDIA_E10S
+
+
 ### Tests Enabled in Gecko 40+ ###
 
 # Bug 1156357 - Enable mochitest-push to ride the trains
 for platform in PLATFORMS.keys():
     for name, branch in items_at_least(BRANCHES, 'gecko_version', 40):
         for slave_platform in PLATFORMS[platform]['slave_platforms']:
             if platform in BRANCHES[name]['platforms']:
                 if slave_platform in BRANCHES[name]['platforms'][platform]:
--- a/mozilla-tests/mobile_config.py
+++ b/mozilla-tests/mobile_config.py
@@ -3054,16 +3054,70 @@ ANDROID_4_3_MOCHITEST_PUSH = [
         ],
         'blob_upload': True,
         'timeout': 2400,
         'script_maxtime': 14400,
         },
     ),
 ]
 
+# bug 1242682 - Enable DOM media Mochitests on Android Fennec
+ANDROID_4_3_MOCHITEST_MEDIA = [
+    ('mochitest-media-1', {
+        'use_mozharness': True,
+        'script_path': 'scripts/android_emulator_unittest.py',
+        'extra_args': [
+            '--cfg', 'android/androidarm_4_3.py',
+            '--test-suite', 'mochitest-media-1',
+        ],
+        'blob_upload': True,
+        'timeout': 2400,
+        'script_maxtime': 14400,
+        },
+    ),
+    ('mochitest-media-2', {
+        'use_mozharness': True,
+        'script_path': 'scripts/android_emulator_unittest.py',
+        'extra_args': [
+            '--cfg', 'android/androidarm_4_3.py',
+            '--test-suite', 'mochitest-media-2',
+        ],
+        'blob_upload': True,
+        'timeout': 2400,
+        'script_maxtime': 14400,
+        },
+    ),
+]
+ANDROID_2_3_MOCHITEST_MEDIA = [
+    ('mochitest-media-1', {
+        'use_mozharness': True,
+        'script_path': 'scripts/android_emulator_unittest.py',
+        'extra_args': [
+            '--cfg', 'android/androidarm.py',
+            '--test-suite', 'mochitest-media-1',
+        ],
+        'blob_upload': True,
+        'timeout': 2400,
+        'script_maxtime': 14400,
+        },
+    ),
+    ('mochitest-media-2', {
+        'use_mozharness': True,
+        'script_path': 'scripts/android_emulator_unittest.py',
+        'extra_args': [
+            '--cfg', 'android/androidarm.py',
+            '--test-suite', 'mochitest-media-2',
+        ],
+        'blob_upload': True,
+        'timeout': 2400,
+        'script_maxtime': 14400,
+        },
+    ),
+]
+
 for suite in ANDROID_2_3_MOZHARNESS_DICT:
     if suite[0].startswith('mochitest-gl'):
         continue
     elif suite[0].startswith('plain-reftest'):
         ANDROID_2_3_ARMV6_C3_DICT['opt_unittest_suites'].append(suite)
     elif suite[0].startswith('crashtest'):
         ANDROID_2_3_ARMV6_C3_DICT['opt_unittest_suites'].append(suite)
     elif suite[0].startswith('jsreftest'):
@@ -3299,16 +3353,39 @@ for name, branch in items_at_least(BRANC
             'opt_unittest_suites': deepcopy(ANDROID_2_3_C3_DICT['opt_unittest_suites']),
             'debug_unittest_suites': []
         }
         BRANCHES[name]['platforms'][platform]['ubuntu64_vm_mobile'] = {
             'opt_unittest_suites': deepcopy(ANDROID_2_3_AWS_DICT['opt_unittest_suites']),
             'debug_unittest_suites': []
         }
 
+# enable android 2.3 mochitest media to ride the trains (bug 1242682)
+for name, branch in items_at_least(BRANCHES, 'gecko_version', 48):
+    #TODO: remove when bug 1242682 has green running jobs on try
+    if name != 'try':
+        continue
+
+    # Loop removes it from any branch that gets beyond here
+    for platform in branch['platforms']:
+        if not platform in PLATFORMS:
+            continue
+        if platform not in ('android-api-9'):
+            continue
+        BRANCHES[name]['platforms'][platform]['ubuntu64_vm_large'] = {
+            'opt_unittest_suites': deepcopy(ANDROID_2_3_C3_DICT['opt_unittest_suites']),
+            'debug_unittest_suites': []
+        }
+        BRANCHES[name]['platforms'][platform]['ubuntu64_vm_mobile'] = {
+            'opt_unittest_suites': deepcopy(ANDROID_2_3_AWS_DICT['opt_unittest_suites']),
+            'debug_unittest_suites': []
+        }
+        BRANCHES[name]['platforms'][platform]['ubuntu64_vm_mobile']['opt_unittest_suites'] += ANDROID_2_3_MOCHITEST_MEDIA
+
+
 # bug 1133833 enable Android 4.3 on trunk for opt only
 # while disabling corresponding 4.0 tests
 for name, branch in items_at_least(BRANCHES, 'gecko_version', 40):
     # Loop removes it from any branch that gets beyond here
     for platform in branch['platforms']:
         if not platform in PLATFORMS:
             continue
         if platform not in ('android-api-11', 'android-api-15'):
@@ -3407,24 +3484,52 @@ for name, branch in items_at_least(BRANC
             'opt_unittest_suites': deepcopy(ANDROID_4_3_C3_DICT['opt_unittest_suites']),
             'debug_unittest_suites': deepcopy(ANDROID_4_3_C3_TRUNK_DICT['debug_unittest_suites'] + ANDROID_4_3_MOZHARNESS_DEBUG_TRUNK),}
             BRANCHES[name]['platforms'][platform]['ubuntu64_vm_armv7_mobile'] = {
                 'opt_unittest_suites': deepcopy(ANDROID_4_3_AWS_DICT['opt_unittest_suites']),
                 'debug_unittest_suites': deepcopy(ANDROID_4_3_AWS_TRUNK_DICT['debug_unittest_suites']),
             }
             BRANCHES[name]['platforms'][platform]['panda_android']['debug_unittest_suites'] = []
 
+
+# bug 1242682 add mochitest-media
+for name, branch in items_at_least(BRANCHES, 'gecko_version', 48):
+    #TODO: remove when bug 1242682 has green running jobs on try
+    if name != 'try':
+        continue
+
+    for platform in branch['platforms']:
+        if not platform in PLATFORMS:
+            continue
+        if platform not in ('android-api-11', 'android-api-15'):
+            continue
+        for slave_plat in PLATFORMS[platform]['slave_platforms']:
+            if not slave_plat in branch['platforms'][platform]:
+                continue
+            if not 'panda' in slave_plat:
+                continue
+            BRANCHES[name]['platforms'][platform]['ubuntu64_vm_armv7_large'] = {
+            'opt_unittest_suites': deepcopy(ANDROID_4_3_C3_DICT['opt_unittest_suites']),
+            'debug_unittest_suites': deepcopy(ANDROID_4_3_C3_TRUNK_DICT['debug_unittest_suites'] + ANDROID_4_3_MOZHARNESS_DEBUG_TRUNK),}
+            BRANCHES[name]['platforms'][platform]['ubuntu64_vm_armv7_mobile'] = {
+                'opt_unittest_suites': deepcopy(ANDROID_4_3_AWS_DICT['opt_unittest_suites']),
+                'debug_unittest_suites': deepcopy(ANDROID_4_3_AWS_TRUNK_DICT['debug_unittest_suites']),
+            }
+            BRANCHES[name]['platforms'][platform]['ubuntu64_vm_armv7_large']['opt_unittest_suites'] += ANDROID_4_3_MOCHITEST_MEDIA
+            BRANCHES[name]['platforms'][platform]['ubuntu64_vm_armv7_large']['debug_unittest_suites'] += ANDROID_4_3_MOCHITEST_MEDIA
+            BRANCHES[name]['platforms'][platform]['panda_android']['debug_unittest_suites'] = []
+
+
 def remove_suite_from_slave_platform(BRANCHES, PLATFORMS, suite_to_remove, slave_platform, branches_to_keep=[]):
     """Remove suites named like |suite_to_remove| from all branches on slave platforms named like |slave_platform|.
 
 Updates BRANCHES in place.  Consumes PLATFORMS without side
 effects. Does not remove any suites from the specified
 |branches_to_keep|."""
 
-    tuples_to_delete = []
     for branch in BRANCHES:
         # Loop removes it from any branch that gets beyond here.
         if branch in branches_to_keep:
             continue
         for platform in BRANCHES[branch]['platforms']:
             if not platform in PLATFORMS:
                 continue
             if not platform.startswith('android'):