Bug 1403222 - Add test suite families to SCHEDULES.exclusive r=dustin

MozReview-Commit-ID: JWKB7eOgfWc

--HG--
extra : rebase_source : b81ab806cd2455f4e4fc761863fe699feadd0bb5
This commit is contained in:
Andrew Halberstadt 2017-09-26 10:47:22 -04:00
parent 8caed77b97
commit 6b65448914
10 changed files with 48 additions and 7 deletions

View File

@ -6,6 +6,7 @@
with Files('**'):
BUG_COMPONENT = ('Testing', 'Reftest')
SCHEDULES.exclusive = ['reftest']
XPI_NAME = 'reftest'
USE_EXTENSION_MANIFEST = True

View File

@ -16,11 +16,32 @@ INCLUSIVE_COMPONENTS = [
'js-lint',
'yaml-lint',
]
INCLUSIVE_COMPONENTS = sorted(INCLUSIVE_COMPONENTS)
EXCLUSIVE_COMPONENTS = [
# os families
'android',
'linux',
'macosx',
'windows',
# test suites
'awsy',
'cppunittest',
'firefox-ui',
'geckoview',
'gtest',
'jittest',
'marionette',
'mochitest',
'reftest',
'robocop',
'talos',
'telemetry-tests-client',
'xpcshell',
'xpcshell-coverage',
'web-platform-tests',
'web-platform-tests-reftests',
'web-platform-tests-wdspec',
]
EXCLUSIVE_COMPONENTS = sorted(EXCLUSIVE_COMPONENTS)
ALL_COMPONENTS = INCLUSIVE_COMPONENTS + EXCLUSIVE_COMPONENTS

View File

@ -10,6 +10,7 @@ import unittest
from mozunit import main
from mozbuild import schedules
from mozbuild.frontend.context import BugzillaComponent
from mozbuild.frontend.reader import (
BuildReaderError,
@ -485,7 +486,7 @@ class TestBuildReader(unittest.TestCase):
info = reader.files_info(['somefile', 'foo.win', 'foo.osx', 'subd/aa.py', 'subd/yaml.py'])
# default: all exclusive, no inclusive
self.assertEqual(info['somefile']['SCHEDULES'].inclusive, [])
self.assertEqual(info['somefile']['SCHEDULES'].exclusive, ['android', 'linux', 'macosx', 'windows'])
self.assertEqual(info['somefile']['SCHEDULES'].exclusive, schedules.EXCLUSIVE_COMPONENTS)
# windows-only
self.assertEqual(info['foo.win']['SCHEDULES'].inclusive, [])
self.assertEqual(info['foo.win']['SCHEDULES'].exclusive, ['windows'])
@ -494,13 +495,13 @@ class TestBuildReader(unittest.TestCase):
self.assertEqual(info['foo.osx']['SCHEDULES'].exclusive, ['macosx'])
# top-level moz.build specifies subd/**.py with an inclusive option
self.assertEqual(info['subd/aa.py']['SCHEDULES'].inclusive, ['py-lint'])
self.assertEqual(info['subd/aa.py']['SCHEDULES'].exclusive, ['android', 'linux', 'macosx', 'windows'])
self.assertEqual(info['subd/aa.py']['SCHEDULES'].exclusive, schedules.EXCLUSIVE_COMPONENTS)
# Files('yaml.py') in subd/moz.build *overrides* Files('subdir/**.py')
self.assertEqual(info['subd/yaml.py']['SCHEDULES'].inclusive, ['yaml-lint'])
self.assertEqual(info['subd/yaml.py']['SCHEDULES'].exclusive, ['android', 'linux', 'macosx', 'windows'])
self.assertEqual(info['subd/yaml.py']['SCHEDULES'].exclusive, schedules.EXCLUSIVE_COMPONENTS)
self.assertEqual(info['subd/yaml.py']['SCHEDULES'].components,
['android', 'linux', 'macosx', 'windows', 'yaml-lint'])
self.assertEqual(set(info['subd/yaml.py']['SCHEDULES'].components),
set(schedules.EXCLUSIVE_COMPONENTS + ['yaml-lint']))
if __name__ == '__main__':
main()

View File

@ -939,7 +939,7 @@ def make_job_description(config, tests):
if test.get('when'):
jobdesc['when'] = test['when']
else:
schedules = [platform_family(test['build-platform'])]
schedules = [suite, platform_family(test['build-platform'])]
if config.params['project'] != 'try':
# for non-try branches, include SETA
jobdesc['optimization'] = {'skip-unless-schedules-or-seta': schedules}

View File

@ -9,3 +9,4 @@ PUPPETEER_FIREFOX_MANIFESTS += ["tests/puppeteer/manifest.ini"]
with Files("**"):
BUG_COMPONENT = ("Testing", "Firefox UI Tests")
SCHEDULES.exclusive = ["firefox-ui"]

View File

@ -13,3 +13,6 @@ XPCSHELL_TESTS_MANIFESTS += ["unit.ini"]
with Files("**"):
BUG_COMPONENT = ("Testing", "Marionette")
with Files("harness/**"):
SCHEDULES.exclusive = ["marionette", "firefox-ui"]

View File

@ -165,6 +165,7 @@ TEST_HARNESS_FILES.testing.mochitest.websocketprocessbridge += [
with Files("**"):
BUG_COMPONENT = ("Testing", "Mochitest")
SCHEDULES.exclusive = ['mochitest', 'robocop']
with Files("*remote*"):
BUG_COMPONENT = ("Firefox for Android", "Testing")

View File

@ -1,5 +1,6 @@
with Files("awsy/**"):
BUG_COMPONENT = ("Testing", "AWSY")
SCHEDULES.exclusive = ["awsy"]
with Files("config/**"):
BUG_COMPONENT = ("Testing", "General")
@ -18,6 +19,7 @@ with Files("README.txt"):
with Files("talos/**"):
BUG_COMPONENT = ("Testing", "Talos")
SCHEDULES.exclusive = ['talos']
with Files("talos/talos/tests/v8_7/**"):
BUG_COMPONENT = ("Core", "Javascript Engine")
@ -75,15 +77,18 @@ with Files("config/tooltool-manifests/**"):
with Files("*cppunittest*"):
BUG_COMPONENT = ("Testing", "General")
SCHEDULES.exclusive = ['cppunittest']
with Files("gtest/**"):
BUG_COMPONENT = ("Testing", "General")
SCHEDULES.exclusive = ['gtest']
with Files("specialpowers/**"):
BUG_COMPONENT = ("Testing", "Mochitest")
with Files("crashtest/**"):
BUG_COMPONENT = ("Testing", "Reftest")
SCHEDULES.exclusive = ['reftest']
with Files("config/marionette*"):
BUG_COMPONENT = ("Testing", "Marionette")

View File

@ -23,6 +23,13 @@ TEST_HARNESS_FILES['web-platform'].certs = [
'certs/web-platform.test.pem',
]
with Files("**"):
SCHEDULES.exclusive = [
'web-platform-tests',
'web-platform-tests-reftests',
'web-platform-tests-wdspec',
]
with Files("update/**"):
BUG_COMPONENT = ("Testing", "web-platform-tests")

View File

@ -15,4 +15,5 @@ TESTING_JS_MODULES += [
]
with Files("**"):
BUG_COMPONENT = ("Testing", "XPCShell Harness")
BUG_COMPONENT = ("Testing", "XPCShell Harness")
SCHEDULES.exclusive = ['xpcshell', 'xpcshell-coverage']