зеркало из https://github.com/mozilla/gecko-dev.git
Backed out 8 changesets (bug 1286900) for win7vm wpt timeouts a=backout
Backed out changeset 3fff88de2f2d (bug 1286900) Backed out changeset 748abfe6748e (bug 1286900) Backed out changeset b4844ee1e542 (bug 1286900) Backed out changeset bde587e47d00 (bug 1286900) Backed out changeset a1311218621b (bug 1286900) Backed out changeset 2de97e3cfcb3 (bug 1286900) Backed out changeset 43df1e962f8e (bug 1286900) Backed out changeset 6ed46e8ac86c (bug 1286900)
This commit is contained in:
Родитель
eaa695580b
Коммит
e1ade7ef8a
|
@ -16,6 +16,7 @@ ALL_HARNESSES = [
|
|||
'cppunittest',
|
||||
'jittest',
|
||||
'mozbase',
|
||||
'web-platform',
|
||||
'talos',
|
||||
'gtest',
|
||||
]
|
||||
|
@ -25,6 +26,7 @@ PACKAGE_SPECIFIED_HARNESSES = [
|
|||
'mochitest',
|
||||
'reftest',
|
||||
'xpcshell',
|
||||
'web-platform',
|
||||
'talos',
|
||||
]
|
||||
|
||||
|
|
|
@ -364,6 +364,34 @@ ARCHIVE_FILES = {
|
|||
'pattern': 'talos/**',
|
||||
},
|
||||
],
|
||||
'web-platform': [
|
||||
{
|
||||
'source': buildconfig.topsrcdir,
|
||||
'base': 'testing',
|
||||
'pattern': 'web-platform/meta/**',
|
||||
},
|
||||
{
|
||||
'source': buildconfig.topsrcdir,
|
||||
'base': 'testing',
|
||||
'pattern': 'web-platform/mozilla/**',
|
||||
},
|
||||
{
|
||||
'source': buildconfig.topsrcdir,
|
||||
'base': 'testing',
|
||||
'pattern': 'web-platform/tests/**',
|
||||
},
|
||||
{
|
||||
'source': buildconfig.topobjdir,
|
||||
'base': '_tests',
|
||||
'pattern': 'web-platform/**',
|
||||
},
|
||||
{
|
||||
'source': buildconfig.topobjdir,
|
||||
'base': '',
|
||||
'pattern': 'mozinfo.json',
|
||||
'dest': 'web-platform',
|
||||
},
|
||||
],
|
||||
'xpcshell': [
|
||||
{
|
||||
'source': buildconfig.topobjdir,
|
||||
|
|
|
@ -201,20 +201,13 @@ def find_and_update_from_json(*dirs):
|
|||
Find a mozinfo.json file, load it, and update the info with the
|
||||
contents.
|
||||
|
||||
The search strategy is as follows. The first available file is used.
|
||||
|
||||
1) MOZINFO_PATH environment variable.
|
||||
2) objdir (via a build system context)
|
||||
3) Traversing directories ``dirs`` for a mozinfo.json file.
|
||||
:param dirs: Directories in which to look for the file. They will be
|
||||
searched after first looking in the root of the objdir
|
||||
if the current script is being run from a Mozilla objdir.
|
||||
|
||||
Returns the full path to mozinfo.json if it was found, or None otherwise.
|
||||
"""
|
||||
env_path = _os.environ.get('MOZINFO_PATH', None)
|
||||
if env_path:
|
||||
# Will raise if path does not exist or can't be loaded.
|
||||
update(env_path)
|
||||
return env_path
|
||||
|
||||
# First, see if we're in an objdir
|
||||
try:
|
||||
from mozbuild.base import MozbuildObject, BuildEnvironmentNotFoundException
|
||||
build = MozbuildObject.from_environment()
|
||||
|
|
|
@ -53,21 +53,6 @@ class TestMozinfo(unittest.TestCase):
|
|||
f.write('invalid{"json":')
|
||||
self.assertRaises(ValueError,mozinfo.update,[j])
|
||||
|
||||
def test_find_and_update_file_env(self):
|
||||
"""mozinfo.find_and_update_json finds path from environment variable."""
|
||||
j = os.path.join(self.tempdir, 'explicit_mozinfo.json')
|
||||
with open(j, 'w') as fh:
|
||||
json.dump({'foo': 'environment'}, fh)
|
||||
|
||||
old_env = dict(os.environ)
|
||||
try:
|
||||
os.environ['MOZINFO_PATH'] = j
|
||||
self.assertEqual(mozinfo.find_and_update_from_json(), j)
|
||||
self.assertEqual(mozinfo.info['foo'], 'environment')
|
||||
finally:
|
||||
os.environ.clear()
|
||||
os.environ.update(old_env)
|
||||
|
||||
def test_find_and_update_file(self):
|
||||
"""Test that mozinfo.find_and_update_from_json can
|
||||
find mozinfo.json in a directory passed to it."""
|
||||
|
|
|
@ -6,6 +6,16 @@
|
|||
import os
|
||||
|
||||
config = {
|
||||
"options": [
|
||||
"--prefs-root=%(test_path)s/prefs",
|
||||
"--processes=1",
|
||||
"--config=%(test_path)s/wptrunner.ini",
|
||||
"--ca-cert-path=%(test_path)s/certs/cacert.pem",
|
||||
"--host-key-path=%(test_path)s/certs/web-platform.test.key",
|
||||
"--host-cert-path=%(test_path)s/certs/web-platform.test.pem",
|
||||
"--certutil-binary=%(test_install_path)s/bin/certutil",
|
||||
],
|
||||
|
||||
"exes": {
|
||||
'python': '/tools/buildbot/bin/python',
|
||||
'virtualenv': ['/tools/buildbot/bin/python', '/tools/misc-python/virtualenv.py'],
|
||||
|
|
|
@ -10,6 +10,16 @@ import os
|
|||
import sys
|
||||
|
||||
config = {
|
||||
"options": [
|
||||
"--prefs-root=%(test_path)s/prefs",
|
||||
"--processes=1",
|
||||
"--config=%(test_path)s/wptrunner.ini",
|
||||
"--ca-cert-path=%(test_path)s/certs/cacert.pem",
|
||||
"--host-key-path=%(test_path)s/certs/web-platform.test.key",
|
||||
"--host-cert-path=%(test_path)s/certs/web-platform.test.pem",
|
||||
"--certutil-binary=%(test_install_path)s/bin/certutil",
|
||||
],
|
||||
|
||||
"exes": {
|
||||
'python': sys.executable,
|
||||
'virtualenv': [sys.executable, 'c:/mozilla-build/buildbotve/virtualenv.py'],
|
||||
|
|
|
@ -5,6 +5,16 @@
|
|||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
config = {
|
||||
"options": [
|
||||
"--prefs-root=%(test_path)s/prefs",
|
||||
"--processes=1",
|
||||
"--config=%(test_path)s/wptrunner.ini",
|
||||
"--ca-cert-path=%(test_path)s/certs/cacert.pem",
|
||||
"--host-key-path=%(test_path)s/certs/web-platform.test.key",
|
||||
"--host-cert-path=%(test_path)s/certs/web-platform.test.pem",
|
||||
"--certutil-binary=%(test_install_path)s/bin/certutil",
|
||||
],
|
||||
|
||||
"default_actions": [
|
||||
'clobber',
|
||||
'download-and-extract',
|
||||
|
|
|
@ -8,6 +8,16 @@ import os
|
|||
import sys
|
||||
|
||||
config = {
|
||||
"options": [
|
||||
"--prefs-root=%(test_path)s/prefs",
|
||||
"--processes=1",
|
||||
"--config=%(test_path)s/wptrunner.ini",
|
||||
"--ca-cert-path=%(test_path)s/certs/cacert.pem",
|
||||
"--host-key-path=%(test_path)s/certs/web-platform.test.key",
|
||||
"--host-cert-path=%(test_path)s/certs/web-platform.test.pem",
|
||||
"--certutil-binary=%(test_install_path)s/bin/certutil",
|
||||
],
|
||||
|
||||
"exes": {
|
||||
'python': sys.executable,
|
||||
'virtualenv': [sys.executable, 'c:/mozilla-source/cedar/python/virtualenv/virtualenv.py'], #'c:/mozilla-build/buildbotve/virtualenv.py'],
|
||||
|
|
|
@ -388,9 +388,7 @@ class MercurialVCS(ScriptMixin, LogMixin, TransferMixin):
|
|||
|
||||
parser = RepositoryUpdateRevisionParser(config=self.config,
|
||||
log_obj=self.log_obj)
|
||||
env = dict(os.environ)
|
||||
env[b'PYTHONUNBUFFERED'] = b'1'
|
||||
if self.run_command(args, output_parser=parser, env=env):
|
||||
if self.run_command(args, output_parser=parser):
|
||||
raise VCSException('repo checkout failed!')
|
||||
|
||||
if not parser.revision:
|
||||
|
|
|
@ -9,6 +9,7 @@ import copy
|
|||
import os
|
||||
import platform
|
||||
import pprint
|
||||
import re
|
||||
import urllib2
|
||||
import json
|
||||
import socket
|
||||
|
@ -20,9 +21,6 @@ from mozharness.base.python import (
|
|||
VirtualenvMixin,
|
||||
virtualenv_config_options,
|
||||
)
|
||||
from mozharness.base.vcs.vcsbase import (
|
||||
VCSMixin,
|
||||
)
|
||||
from mozharness.mozilla.buildbot import BuildbotMixin, TBPL_WARNING
|
||||
from mozharness.mozilla.proxxy import Proxxy
|
||||
from mozharness.mozilla.structuredlog import StructuredOutputParser
|
||||
|
@ -104,8 +102,7 @@ testing_config_options = [
|
|||
|
||||
# TestingMixin {{{1
|
||||
class TestingMixin(VirtualenvMixin, BuildbotMixin, ResourceMonitoringMixin,
|
||||
TaskClusterArtifactFinderMixin, TooltoolMixin, TryToolsMixin,
|
||||
VCSMixin):
|
||||
TaskClusterArtifactFinderMixin, TooltoolMixin, TryToolsMixin):
|
||||
"""
|
||||
The steps to identify + download the proper bits for [browser] unit
|
||||
tests and Talos.
|
||||
|
@ -123,55 +120,6 @@ class TestingMixin(VirtualenvMixin, BuildbotMixin, ResourceMonitoringMixin,
|
|||
default_tools_repo = 'https://hg.mozilla.org/build/tools'
|
||||
proxxy = None
|
||||
|
||||
def query_abs_dirs(self):
|
||||
dirs = super(TestingMixin, self).query_abs_dirs()
|
||||
|
||||
if self.topsrcdir:
|
||||
dirs['checkout'] = self.topsrcdir
|
||||
else:
|
||||
dirs['checkout'] = os.path.join(dirs['base_work_dir'], 'checkout')
|
||||
|
||||
if 'HG_SHARE_BASE_DIR' in os.environ:
|
||||
dirs['hg_shared'] = os.environ['HG_SHARE_BASE_DIR']
|
||||
else:
|
||||
dirs['hg_shared'] = os.path.join(dirs['base_work_dir'], 'hg-shared')
|
||||
|
||||
return dirs
|
||||
|
||||
def ensure_firefox_checkout(self):
|
||||
"""Action that ensures we have a source checkout available.
|
||||
|
||||
If a source checkout is not available, we create one.
|
||||
"""
|
||||
if self.topsrcdir:
|
||||
self.info('already running from a source checkout; nothing to do')
|
||||
return
|
||||
|
||||
self.info('not running from source checkout')
|
||||
|
||||
bb_config = getattr(self, 'buildbot_config', None)
|
||||
if not bb_config:
|
||||
self.fatal('buildbot config not loaded; unable to proceed '
|
||||
'(a buildbot config must be loaded to obtain VCS info)')
|
||||
|
||||
bb_props = bb_config['properties']
|
||||
|
||||
dirs = self.query_abs_dirs()
|
||||
|
||||
args = {
|
||||
'repo': 'https://hg.mozilla.org/%s' % bb_props['repo_path'],
|
||||
'dest': dirs['checkout'],
|
||||
'vcs_share_base': dirs['hg_shared'],
|
||||
'revision': bb_props['revision'],
|
||||
'clone_with_purge': True,
|
||||
# Always use the unified repo as the upstream because it is
|
||||
# stored more efficiently.
|
||||
'clone_upstream_url': 'https://hg.mozilla.org/mozilla-unified',
|
||||
}
|
||||
|
||||
self.vcs_checkout(vcs='hg', **args)
|
||||
self.topsrcdir = dirs['checkout']
|
||||
|
||||
def _query_proxxy(self):
|
||||
"""manages the proxxy"""
|
||||
if not self.proxxy:
|
||||
|
|
|
@ -58,7 +58,6 @@ class WebPlatformTest(TestingMixin, MercurialScript, BlobUploadMixin):
|
|||
all_actions=[
|
||||
'clobber',
|
||||
'read-buildbot-config',
|
||||
'ensure-firefox-checkout',
|
||||
'download-and-extract',
|
||||
'fetch-geckodriver',
|
||||
'create-virtualenv',
|
||||
|
@ -98,7 +97,7 @@ class WebPlatformTest(TestingMixin, MercurialScript, BlobUploadMixin):
|
|||
dirs = {}
|
||||
dirs['abs_app_install_dir'] = os.path.join(abs_dirs['abs_work_dir'], 'application')
|
||||
dirs['abs_test_install_dir'] = os.path.join(abs_dirs['abs_work_dir'], 'tests')
|
||||
dirs['abs_wpttest_dir'] = os.path.join(abs_dirs['checkout'], 'testing', 'web-platform')
|
||||
dirs["abs_wpttest_dir"] = os.path.join(dirs['abs_test_install_dir'], "web-platform")
|
||||
dirs['abs_blob_upload_dir'] = os.path.join(abs_dirs['abs_work_dir'], 'blobber_upload_dir')
|
||||
|
||||
abs_dirs.update(dirs)
|
||||
|
@ -135,25 +134,14 @@ class WebPlatformTest(TestingMixin, MercurialScript, BlobUploadMixin):
|
|||
self.fatal("Could not create blobber upload directory")
|
||||
# Exit
|
||||
|
||||
blob_upload_dir = dirs['abs_blob_upload_dir']
|
||||
wpt_dir = dirs['abs_wpttest_dir']
|
||||
|
||||
cmd.extend([
|
||||
'--log-raw=-',
|
||||
'--log-raw=%s' % os.path.join(blob_upload_dir, 'wpt_raw.log'),
|
||||
'--log-errorsummary=%s' % os.path.join(blob_upload_dir,
|
||||
'wpt_errorsummary.log'),
|
||||
'--binary=%s' % self.binary_path,
|
||||
'--symbols-path=%s' % self.query_symbols_url(),
|
||||
'--stackwalk-binary=%s' % self.query_minidump_stackwalk(),
|
||||
'--processes=1',
|
||||
'--prefs-root=%s' % os.path.join(dirs['checkout'], 'testing', 'profiles'),
|
||||
'--config=%s/wptrunner.ini' % wpt_dir,
|
||||
'--ca-cert-path=%s/certs/cacert.pem' % wpt_dir,
|
||||
'--host-key-path=%s/certs/web-platform.test.key' % wpt_dir,
|
||||
'--host-cert-path=%s/certs/web-platform.test.pem' % wpt_dir,
|
||||
'--certutil-binary=%s/bin/certutil' % dirs['abs_test_install_dir'],
|
||||
])
|
||||
cmd += ["--log-raw=-",
|
||||
"--log-raw=%s" % os.path.join(dirs["abs_blob_upload_dir"],
|
||||
"wpt_raw.log"),
|
||||
"--log-errorsummary=%s" % os.path.join(dirs["abs_blob_upload_dir"],
|
||||
"wpt_errorsummary.log"),
|
||||
"--binary=%s" % self.binary_path,
|
||||
"--symbols-path=%s" % self.query_symbols_url(),
|
||||
"--stackwalk-binary=%s" % self.query_minidump_stackwalk()]
|
||||
|
||||
for test_type in c.get("test_type", []):
|
||||
cmd.append("--test-type=%s" % test_type)
|
||||
|
@ -197,8 +185,7 @@ class WebPlatformTest(TestingMixin, MercurialScript, BlobUploadMixin):
|
|||
"mozbase/*",
|
||||
"marionette/*",
|
||||
"tools/wptserve/*",
|
||||
"web-platform/*",
|
||||
"mozinfo.json"],
|
||||
"web-platform/*"],
|
||||
suite_categories=["web-platform"])
|
||||
|
||||
def fetch_geckodriver(self):
|
||||
|
@ -246,11 +233,7 @@ class WebPlatformTest(TestingMixin, MercurialScript, BlobUploadMixin):
|
|||
log_obj=self.log_obj,
|
||||
log_compact=True)
|
||||
|
||||
env = {
|
||||
'MINIDUMP_SAVE_PATH': dirs['abs_blob_upload_dir'],
|
||||
'MOZINFO_PATH': os.path.join(dirs['abs_test_install_dir'],
|
||||
'mozinfo.json'),
|
||||
}
|
||||
env = {'MINIDUMP_SAVE_PATH': dirs['abs_blob_upload_dir']}
|
||||
|
||||
if self.config['allow_software_gl_layers']:
|
||||
env['MOZ_LAYERS_ALLOW_SOFTWARE_GL'] = '1'
|
||||
|
|
|
@ -198,6 +198,7 @@ TEST_PKGS := \
|
|||
mochitest \
|
||||
reftest \
|
||||
talos \
|
||||
web-platform \
|
||||
xpcshell \
|
||||
$(NULL)
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче