Bug 1369537 - preparing for talos on tc win vm; r=jmaher

MozReview-Commit-ID: KZbPBClEzHI

--HG--
extra : rebase_source : f6f29f94f7fe9c017cd11b7465321a849b1da6ad
This commit is contained in:
Rob Wood 2017-10-19 16:24:48 -04:00
Родитель 6979ea37b4
Коммит e9cb9d391f
2 изменённых файлов: 70 добавлений и 3 удалений

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

@ -0,0 +1,59 @@
import os
import socket
import sys
PYTHON = sys.executable
PYTHON_DLL = 'c:/mozilla-build/python27/python27.dll'
VENV_PATH = os.path.join(os.getcwd(), 'build/venv')
config = {
"log_name": "talos",
"buildbot_json_path": "buildprops.json",
"installer_path": "installer.exe",
"virtualenv_path": VENV_PATH,
"virtualenv_python_dll": PYTHON_DLL,
"pip_index": False,
"find_links": [
"http://pypi.pvt.build.mozilla.org/pub",
"http://pypi.pub.build.mozilla.org/pub",
],
"virtualenv_modules": ['pywin32', 'talos', 'mozinstall'],
"exes": {
'python': PYTHON,
'virtualenv': [PYTHON, os.path.join(os.path.dirname(sys.executable), 'Lib', 'site-packages', 'virtualenv.py')],
'easy_install': ['%s/scripts/python' % VENV_PATH,
'%s/scripts/easy_install-2.7-script.py' % VENV_PATH],
'mozinstall': ['%s/scripts/python' % VENV_PATH,
'%s/scripts/mozinstall-script.py' % VENV_PATH],
'hg': os.path.join(os.environ['PROGRAMFILES'], 'Mercurial', 'hg'),
'tooltool.py': [PYTHON, os.path.join(os.environ['MOZILLABUILD'], 'tooltool.py')],
},
"title": socket.gethostname().split('.')[0],
"default_actions": [
"clobber",
"read-buildbot-config",
"download-and-extract",
"populate-webroot",
"create-virtualenv",
"install",
"setup-mitmproxy",
"run-tests",
],
"default_blob_upload_servers": [
"https://blobupload.elasticbeanstalk.com",
],
"blob_uploader_auth_file": os.path.join(os.getcwd(), "oauth.txt"),
"metro_harness_path_frmt": "%(metro_base_path)s/metro/metrotestharness.exe",
"download_minidump_stackwalk": True,
"tooltool_cache": os.path.join('c:\\', 'build', 'tooltool_cache'),
"minidump_stackwalk_path": "win32-minidump_stackwalk.exe",
"minidump_tooltool_manifest_path": "config/tooltool-manifests/win32/releng.manifest",
"python3_manifest": {
"win32": "python3.manifest",
"win64": "python3_x64.manifest",
},
"env": {
# python3 requires C runtime, found in firefox installation; see bug 1361732
"PATH": "%(PATH)s;c:\\slave\\test\\build\\application\\firefox;"
}
}

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

@ -142,6 +142,12 @@ class Talos(TestingMixin, MercurialScript, BlobUploadMixin, TooltoolMixin,
"default": 0,
"help": "The interval between samples taken by the profiler (milliseconds)"
}],
[["--e10s"], {
"dest": "e10s",
"action": "store_true",
"default": False,
"help": "we should have --disable-e10s, but instead we assume non-e10s and use --e10s to help"
}],
[["--enable-stylo"], {
"action": "store_true",
"dest": "enable_stylo",
@ -329,6 +335,8 @@ class Talos(TestingMixin, MercurialScript, BlobUploadMixin, TooltoolMixin,
kw_options = {'executablePath': binary_path}
if 'suite' in self.config:
kw_options['suite'] = self.config['suite']
if self.config.get('e10s', False):
kw_options['suite'] = "%s-e10s" % self.config['suite']
if self.config.get('title'):
kw_options['title'] = self.config['title']
if self.config.get('branch'):
@ -371,7 +379,7 @@ class Talos(TestingMixin, MercurialScript, BlobUploadMixin, TooltoolMixin,
)
# need to determine if talos pageset is required to be downloaded
if self.config.get('run_local'):
if self.config.get('run_local') and 'talos_extra_options' in self.config:
# talos initiated locally, get and verify test/suite from cmd line
self.talos_path = os.path.dirname(self.talos_json)
if '-a' in self.config['talos_extra_options'] or '--activeTests' in self.config['talos_extra_options']:
@ -392,7 +400,7 @@ class Talos(TestingMixin, MercurialScript, BlobUploadMixin, TooltoolMixin,
# now that have the suite name, check if pageset is required, if so download it
# the --no-download option will override this
if self.query_pagesets_name():
if '--no-download' not in self.config['talos_extra_options']:
if '--no-download' not in self.config.get('talos_extra_options', []):
self.info("Downloading pageset with tooltool...")
self.src_talos_webdir = os.path.join(self.talos_path, 'talos')
src_talos_pageset = os.path.join(self.src_talos_webdir, 'tests')
@ -449,8 +457,8 @@ class Talos(TestingMixin, MercurialScript, BlobUploadMixin, TooltoolMixin,
def install_mitmproxy(self):
"""Install the mitmproxy tool into the Python 3.x env"""
self.info("Installing mitmproxy")
if 'win' in self.platform_name():
self.info("Installing mitmproxy")
self.py3_install_modules(modules=['mitmproxy'])
self.mitmdump = os.path.join(self.py3_path_to_executables(), 'mitmdump')
else: