Bug 1403322: Switch jsreftests, jittests, test-verify to SCHEDULES; r=ahal

..and remove support for when.files-changed in the test kind.  It is still used
for other kinds, and that will be addressed in other bugs.

This is re-landing of this bug, now without running test-verify excessively.

MozReview-Commit-ID: GBilXAktICZ

--HG--
extra : rebase_source : 6cc9a3b5a365d74689946bfa0296f51bc08c2113
This commit is contained in:
Dustin J. Mitchell 2017-12-20 00:39:21 +00:00
parent ad99e0a30b
commit 46f2dcd06b
9 changed files with 42 additions and 42 deletions

View File

@ -11,3 +11,9 @@ for header in ('GCAnnotations.h', 'GCAPI.h', 'HeapAPI.h', 'RootingAPI.h', 'Slice
with Files('public/TrackedOptimizationInfo.h'):
BUG_COMPONENT = component_jit
with Files("src/**"):
SCHEDULES.inclusive += ['jittest', 'jsreftest']
with Files("public/**"):
SCHEDULES.inclusive += ['jittest', 'jsreftest']

View File

@ -55,6 +55,18 @@ with Files('**/Makefile.in'):
BUG_COMPONENT = ('Core', 'Build Config')
FINAL = True
with Files("**/*.js"):
SCHEDULES.inclusive += ['test-verify']
with Files("**/*.html"):
SCHEDULES.inclusive += ['test-verify']
with Files("**/*.xhtml"):
SCHEDULES.inclusive += ['test-verify']
with Files("**/*.xul"):
SCHEDULES.inclusive += ['test-verify']
CONFIGURE_SUBST_FILES += [
'config/autoconf.mk',
'config/emptyvars.mk',

View File

@ -15,6 +15,11 @@ INCLUSIVE_COMPONENTS = [
'py-lint',
'js-lint',
'yaml-lint',
# inclusive test suites -- these *only* run when certain files have changed
'jittest',
'test-verify',
'test-verify-wpt',
'jsreftest',
]
INCLUSIVE_COMPONENTS = sorted(INCLUSIVE_COMPONENTS)
@ -30,7 +35,6 @@ EXCLUSIVE_COMPONENTS = [
'firefox-ui',
'geckoview',
'gtest',
'jittest',
'marionette',
'mochitest',
'reftest',

View File

@ -75,10 +75,6 @@ jittest:
windows.*: false
macosx.*: false
default: true
when:
files-changed:
- js/src/**
- js/public/**
tier:
by-test-platform:
windows10-64-asan.*: 3

View File

@ -54,7 +54,7 @@ telemetry-tests-client:
test-verify:
description: "Extra verification of tests modified on this push"
suite: test-verification
suite: test-verify
treeherder-symbol: tc(TV)
loopback-video: true
instance-size:
@ -92,9 +92,3 @@ test-verify:
no-read-buildbot-config: true
extra-options:
- --verify
when:
files-changed:
- '**/*.js'
- '**/*.html'
- '**/*.xhtml'
- '**/*.xul'

View File

@ -75,10 +75,6 @@ jsreftest:
by-test-platform:
android.*: 7200
default: 3600
when:
files-changed:
- js/src/**
- js/public/**
tier:
by-test-platform:
linux64-qr/.*: 1

View File

@ -144,6 +144,3 @@ test-verify-wpt:
mozharness:
extra-options:
- --verify
when:
files-changed:
- 'testing/web-platform/tests/**'

View File

@ -378,11 +378,6 @@ test_description_schema = Schema({
# the product name, defaults to firefox
Optional('product'): basestring,
# conditional files to determine when these tests should be run
Optional('when'): Any({
Optional('files-changed'): [basestring],
}),
Optional('worker-type'): optionally_keyed_by(
'test-platform',
Any(basestring, None),
@ -671,7 +666,7 @@ def handle_suite_category(config, tests):
script = test['mozharness']['script']
category_arg = None
if suite == 'test-verification':
if suite == 'test-verify':
pass
elif script == 'android_emulator_unittest.py':
category_arg = '--test-suite'
@ -694,7 +689,6 @@ def enable_code_coverage(config, tests):
for test in tests:
if 'ccov' in test['build-platform'] and not test['test-name'].startswith('test-verify'):
test['mozharness'].setdefault('extra-options', []).append('--code-coverage')
test['when'] = {}
test['instance-size'] = 'xlarge'
# Ensure we don't run on inbound/autoland/beta, but if the test is try only, ignore it
if 'mozilla-central' in test['run-on-projects'] or \
@ -1008,24 +1002,21 @@ def make_job_description(config, tests):
'platform': test.get('treeherder-machine-platform', test['build-platform']),
}
if test.get('when'):
jobdesc['when'] = test['when']
suite = attributes['unittest_suite']
if suite in INCLUSIVE_COMPONENTS:
# if this is an "inclusive" test, then all files which might
# cause it to run are annotated with SCHEDULES in moz.build,
# so do not include the platform or any other components here
schedules = [suite]
else:
suite = attributes['unittest_suite']
if suite in INCLUSIVE_COMPONENTS:
# if this is an "inclusive" test, then all files which might
# cause it to run are annotated with SCHEDULES in moz.build,
# so do not include the platform or any other components here
schedules = [suite]
else:
schedules = [suite, 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}
else:
# otherwise just use skip-unless-schedules
jobdesc['optimization'] = {'skip-unless-schedules': schedules}
if config.params['project'] != 'try':
# for non-try branches, include SETA
jobdesc['optimization'] = {'skip-unless-schedules-or-seta': schedules}
else:
# otherwise just use skip-unless-schedules
jobdesc['optimization'] = {'skip-unless-schedules': schedules}
run = jobdesc['run'] = {}
run['using'] = 'mozharness-test'

View File

@ -99,6 +99,10 @@ with Files("*.py"):
with Files("tests/*.md"):
BUG_COMPONENT = ("Testing", "web-platform-tests")
with Files("tests/**"):
BUG_COMPONENT = ("Testing", "web-platform-tests")
SCHEDULES.inclusive += ['test-verify-wpt']
with Files("tests/LICENSE"):
BUG_COMPONENT = ("Testing", "web-platform-tests")