Bug 1470266 - [ci] Schedule serviceworker-e10s mochitest tasks with linux64/debug on mozilla-central, r=jmaher

This duplicates all the mochitest, based tests except with
dom.serviceWorkers.parent_intercept set to true. For now they are only run on
mozilla-central with linux64/debug.

Differential Revision: https://phabricator.services.mozilla.com/D7641

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Andrew Halberstadt 2018-10-05 19:12:27 +00:00
Родитель 148577fc45
Коммит 26da3328fb
10 изменённых файлов: 39 добавлений и 10 удалений

Просмотреть файл

@ -1,6 +1,7 @@
[DEFAULT]
tags = devtools
subsuite = devtools
skip-if = serviceworker_e10s
support-files =
head.js
service-workers/debug-sw.js

Просмотреть файл

@ -25,5 +25,6 @@ skip-if = os == "win" # Bug 1373346
[test_try_registering_offline_disabled.html]
skip-if = os == "win" # Bug 1373346
[test_serviceworker_lifetime.html]
skip-if = !e10s || os == "win" # e10s: Bug 1433689, Windows: Bug 1373346
skip-if = serviceworker_e10s || !e10s || os == "win" # e10s: Bug 1433689, Windows: Bug 1373346
[test_error_reporting.html]
skip-if = serviceworker_e10s

Просмотреть файл

@ -16,6 +16,7 @@ support-files =
utils.js
[browser_devtools_serviceworker_interception.js]
skip-if = serviceworker_e10s
[browser_force_refresh.js]
[browser_download.js]
[browser_download_canceled.js]
@ -23,6 +24,7 @@ skip-if = verify
[browser_storage_permission.js]
skip-if = (verify && debug && (os == 'win' || os == 'mac'))
[browser_storage_recovery.js]
skip-if = serviceworker_e10s
[browser_unregister_with_containers.js]
[browser_userContextId_openWindow.js]
skip-if = !e10s
skip-if = !e10s || serviceworker_e10s

Просмотреть файл

@ -1,5 +1,6 @@
[DEFAULT]
skip-if = serviceworker_e10s
support-files =
worker.js
worker2.js

Просмотреть файл

@ -16,7 +16,9 @@ treeherder:
'Fxfn-r': 'Firefox functional tests (remote)'
'Fxfn-r-e10s': 'Firefox functional tests (remote) with e10s'
'M': 'Mochitests'
'M-sw': 'Mochitests with serviceworker redesign'
'M-e10s': 'Mochitests with e10s'
'M-sw-e10s': 'Mochitests with serviceworker redesign and e10s'
'M-V': 'Mochitests on Valgrind'
'R': 'Reftests'
'R-sw': 'Reftests with serviceworker redesign enabled'

Просмотреть файл

@ -7,6 +7,10 @@ job-defaults:
by-test-platform:
android-em-7.0-x86/opt: 3
default: default
serviceworker-e10s:
by-test-platform:
linux64/debug: both
default: false
mozharness:
script:
by-test-platform:
@ -356,6 +360,7 @@ mochitest-valgrind:
# We could re-enable e10s later.
# There's no intrinsic reason not to use it.
e10s: false
serviceworker-e10s: false
allow-software-gl-layers: false
mozharness:
mochitest-flavor: plain

Просмотреть файл

@ -241,6 +241,7 @@ class RobocopTestRunner(MochitestDesktop):
'mochikit@mozilla.org',
])
self.extraPrefs = self.parseExtraPrefs(self.options.extraPrefs)
manifest = MochitestDesktop.buildProfile(self, self.options)
self.localProfile = self.options.profilePath
self.log.debug("Profile created at %s" % self.localProfile)

Просмотреть файл

@ -908,7 +908,7 @@ class MochitestDesktop(object):
kwargs['log'] = self.log
return test_environment(**kwargs)
def extraPrefs(self, prefs):
def parseExtraPrefs(self, prefs):
"""Interpolate extra preferences from option strings"""
try:
@ -1936,7 +1936,7 @@ toolbar#nav-bar {
self.profile.set_preferences(prefs)
# Extra prefs from --setpref
self.profile.set_preferences(self.extraPrefs(options.extraPrefs))
self.profile.set_preferences(self.extraPrefs)
return manifest
def getGMPPluginPath(self, options):
@ -2559,13 +2559,20 @@ toolbar#nav-bar {
def runTests(self, options):
""" Prepare, configure, run tests and cleanup """
self.extraPrefs = self.parseExtraPrefs(options.extraPrefs)
# a11y and chrome tests don't run with e10s enabled in CI. Need to set
# this here since |mach mochitest| sets the flavor after argument parsing.
if options.flavor in ('a11y', 'chrome'):
options.e10s = False
mozinfo.update({"e10s": options.e10s}) # for test manifest parsing.
mozinfo.update({"headless": options.headless}) # for test manifest parsing.
# for test manifest parsing.
mozinfo.update({
"e10s": options.e10s,
"headless": options.headless,
"serviceworker_e10s": self.extraPrefs.get(
'dom.serviceWorkers.parent_intercept', False),
})
if options.jscov_dir_prefix is not None:
mozinfo.update({'coverage': True})
@ -2594,17 +2601,18 @@ toolbar#nav-bar {
# code for --run-by-manifest
manifests = set(t['manifest'] for t in tests)
result = 0
origPrefs = options.extraPrefs[:]
origPrefs = self.extraPrefs.copy()
for m in sorted(manifests):
self.log.info("Running manifest: {}".format(m))
prefs = list(self.prefs_by_manifest[m])[0]
options.extraPrefs = origPrefs[:]
self.extraPrefs = origPrefs.copy()
if prefs:
prefs = prefs.strip().split()
self.log.info("The following extra prefs will be set:\n {}".format(
'\n '.join(prefs)))
options.extraPrefs.extend(prefs)
self.extraPrefs.update(self.parseExtraPrefs(prefs))
# If we are using --run-by-manifest, we should not use the profile path (if) provided
# by the user, since we need to create a new directory for each run. We would face
@ -2791,6 +2799,8 @@ toolbar#nav-bar {
testURL += "?" + "&".join(self.urlOpts)
self.log.info("runtests.py | Running with e10s: {}".format(options.e10s))
self.log.info("runtests.py | Running with serviceworker_e10s: {}".format(
mozinfo.info.get('serviceworker_e10s', False)))
self.log.info("runtests.py | Running tests: start.\n")
ret, _ = self.runApp(
testURL,

Просмотреть файл

@ -10,9 +10,10 @@ support-files = importtesting_chromescript.js
[test_sanityException2.html]
[test_sanityParams.html]
[test_sanityRegisteredServiceWorker.html]
skip-if = serviceworker_e10s
support-files = empty.js
[test_sanityRegisteredServiceWorker2.html]
skip-if = verify
skip-if = verify || serviceworker_e10s
support-files = empty.js
[test_sanityWindowSnapshot.html]
[test_SpecialPowersExtension.html]

Просмотреть файл

@ -19,6 +19,7 @@ support-files =
support-files = server.sjs
[browser_blockingIndexedDb.js]
[browser_blockingStorage.js]
skip-if = serviceworker_e10s
[browser_blockingWorkers.js]
skip-if = (os == "win" && os_version == "6.1" && bits == 32 && !debug) # Bug 1491937
[browser_blockingMessaging.js]
@ -56,12 +57,16 @@ skip-if = (os == "win" && os_version == "6.1" && bits == 32 && !debug) # Bug 149
[browser_onBeforeRequestNotificationForTrackingResources.js]
[browser_onModifyRequestNotificationForTrackingResources.js]
[browser_permissionInNormalWindows.js]
skip-if = serviceworker_e10s
[browser_permissionInPrivateWindows.js]
skip-if = serviceworker_e10s
[browser_subResources.js]
support-files = subResources.sjs
[browser_script.js]
support-files = tracker.js
[browser_userInteraction.js]
[browser_storageAccessPrivateWindow.js]
skip-if = serviceworker_e10s
[browser_storageAccessSandboxed.js]
skip-if = serviceworker_e10s
[browser_storageAccessWithHeuristics.js]