Bug 1242682 - Separate dom/media into its own subsuite. r=kmoir
authorJoel Maher <jmaher@mozilla.com>
Fri, 04 Mar 2016 04:35:31 -0800 (2016-03-04)
changeset 13894 ad171d57880d53d1e1a74dfb00cef56cfdeaca3e
parent 13892 858343665d9451a5a8c5537ed0bf91d43f4b2e98
child 13895 f65f8e566a686132b32bab64955dad59236f2ac1
push id9757
push userjmaher@mozilla.com
push dateFri, 04 Mar 2016 12:35:57 +0000 (2016-03-04)
reviewerskmoir
bugs1242682
Bug 1242682 - Separate dom/media into its own subsuite. r=kmoir
mozilla-tests/config.py
mozilla-tests/mobile_config.py
--- a/mozilla-tests/config.py
+++ b/mozilla-tests/config.py
@@ -650,16 +650,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-10s': {
                     'config_files': ["unittests/linux_unittest.py"],
                 },
+                'mochitest-media': {
+                    'config_files': ["unittests/linux_unittest.py"],
+                },
+                'mochitest-media-10s': {
+                    '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"],
@@ -1044,16 +1070,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-10s': {
+                    '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"],
@@ -1172,16 +1204,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-10s': {
+                    '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"],
@@ -1293,16 +1331,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-10s': {
+                    '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"],
@@ -1414,16 +1458,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-10s': {
+                    '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"],
@@ -1539,16 +1589,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"],
@@ -1653,16 +1709,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"],
@@ -1773,16 +1835,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"],
@@ -1904,16 +1972,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"],
@@ -2018,16 +2092,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"],
@@ -2132,16 +2212,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"],
@@ -2241,16 +2327,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"],
@@ -2350,16 +2442,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"],
@@ -2716,16 +2814,34 @@ 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 47+ ###
+
+# Bug 1242682 - Split out mochitest-media in 47+
+for platform in PLATFORMS.keys():
+    for name, branch in items_at_least(BRANCHES, 'gecko_version', 47):
+        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
+
+            # excluding linux64 due to builder limits and it will be in taskcluster soon
+            if platform in ('linux', 'linux64-asan') and platform in BRANCHES[name]['platforms']:
+                BRANCHES[name]['platforms'][platform][slave_platform]['opt_unittest_suites'] += MOCHITEST_MEDIA_E10S
+            if platform in ('linux') 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]:
@@ -2843,17 +2959,17 @@ for name, branch in items_at_least(BRANC
                 if name not in TWIGS:
                     branch['platforms'][platform][slave_platform]['debug_unittest_suites'] += \
                         MOCHITEST_WEBGL_E10S + MOCHITEST_DT_8_E10S + REFTEST_E10S + CRASHTEST_E10S + \
                         JSREFTEST_E10S + MOCHITEST_PUSH_E10S + WEB_PLATFORM_TESTS_CHUNKED_MORE_E10S + \
                         WEB_PLATFORM_REFTESTS_E10S
                     branch['platforms'][platform][slave_platform]['opt_unittest_suites'] += \
                         MOCHITEST_WEBGL_E10S + MOCHITEST_DT_8_E10S + MOCHITEST_E10S + REFTEST_E10S + \
                         CRASHTEST_E10S + JSREFTEST_E10S + MOCHITEST_PUSH_E10S + WEB_PLATFORM_TESTS_CHUNKED_E10S + \
-                        WEB_PLATFORM_REFTESTS_E10S
+                        WEB_PLATFORM_REFTESTS_E10S + MOCHITEST_MEDIA_E10S
 
 # Bug 1200437
 # Use 7 chunks for m-bc on branches > trunk, excluding twigs, 3 chunks elsewhere
 # Bug 1203227
 # Use 9 chunks for m-dt on branches > trunk, excluding twigs, 2 or 4 chunks elsewhere
 for branch in BRANCHES.keys():
     for platform in PLATFORMS.keys():
         if platform not in BRANCHES[branch]['platforms']:
--- 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,35 @@ 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', 47):
+    # 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 +3480,48 @@ 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', 47):
+    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'):