Bug 1280474 - enable tc win cpp; r=dustin

MozReview-Commit-ID: 36rmfGExOx8

--HG--
extra : rebase_source : 252e75485d2de667e5ccf751a6c6c596be374b75
This commit is contained in:
Rob Thijssen 2016-10-20 10:51:48 +01:00
Родитель f4fd53fea5
Коммит 3adfc86e1c
12 изменённых файлов: 828 добавлений и 42 удалений

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

@ -25,9 +25,42 @@ linux64-pgo/opt:
linux64-asan/opt:
build-platform: linux64-asan/opt
test-set: asan-tests
linux64-ccov/opt:
build-platform: linux64-ccov/opt
test-set: ccov-code-coverage-tests
linux64-jsdcov/opt:
build-platform: linux64-jsdcov/opt
test-set: jsdcov-code-coverage-tests
test-set: jsdcov-code-coverage-tests
# win32 vm
windows7-32-vm/debug:
build-platform: win32/debug
test-set: windows-vm-tests
windows7-32-vm/opt:
build-platform: win32/opt
test-set: windows-vm-tests
# win32 gpu
#windows7-32/debug:
# build-platform: win32/debug
# test-set: windows-gpu-tests
#windows7-32/opt:
# build-platform: win32/opt
# test-set: windows-gpu-tests
# win64 vm
windows10-64-vm/debug:
build-platform: win64/debug
test-set: windows-vm-tests
windows10-64-vm/opt:
build-platform: win64/opt
test-set: windows-vm-tests
# win64 gpu
#windows10-64/debug:
# build-platform: win64/debug
# test-set: windows-gpu-tests
#windows10-64/opt:
# build-platform: win64/opt
# test-set: windows-gpu-tests

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

@ -58,6 +58,35 @@ asan-tests:
- reftest-no-accel
- xpcshell
windows-vm-tests:
- cppunit
#- crashtest
#- external-media-tests
#- gtest
#- jittest
#- jsreftest
#- marionette
#- mochitest
#- mochitest-browser-chrome
#- mochitest-devtools-chrome
#- mochitest-jetpack
#- mochitest-media
#- web-platform-tests
#- web-platform-tests-reftests
#- xpcshell
# windows-gpu-tests:
# - reftest
# - reftest-no-accel
# - mochitest-webgl
# these tests currently run on hardware, but may migrate above when validated
# note: on win, mochitest-a11y and mochitest-chrome come under mochitest-other
# windows-hw-tests:
# - mochitest-clipboard
# - mochitest-gpu
# - mochitest-other
ccov-code-coverage-tests:
- mochitest-browser-chrome

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

@ -15,11 +15,8 @@ cppunit:
no-read-buildbot-config: true
config:
by-test-platform:
# Coming soon:
# win.*:
# - unittests/win_unittest.py
# - remove_executables.py
# ...
win.*:
- unittests/win_taskcluster_unittest.py
default:
- unittests/linux_unittest.py
- remove_executables.py
@ -31,12 +28,19 @@ crashtest:
suite: reftest/crashtest
treeherder-symbol: tc-R(C)
docker-image: {"in-tree": "desktop1604-test"}
e10s:
by-test-platform:
# Bug 1304435
win.*: false
default: both
mozharness:
script: desktop_unittest.py
chunked: true
no-read-buildbot-config: true
config:
by-test-platform:
win.*:
- unittests/win_taskcluster_unittest.py
default:
- unittests/linux_unittest.py
- remove_executables.py
@ -54,8 +58,12 @@ external-media-tests:
script: firefox_media_tests_buildbot.py
no-read-buildbot-config: true
config:
- mediatests/buildbot_posix_config.py
- remove_executables.py
by-test-platform:
win.*:
- mediatests/taskcluster_windows_config.py
default:
- mediatests/buildbot_posix_config.py
- remove_executables.py
firefox-ui-functional-local:
description: "Firefox-ui-tests functional run"
@ -98,6 +106,8 @@ gtest:
no-read-buildbot-config: true
config:
by-test-platform:
win.*:
- unittests/win_taskcluster_unittest.py
default:
- unittests/linux_unittest.py
- remove_executables.py
@ -109,12 +119,17 @@ jittest:
suite: jittest/jittest-chunked
treeherder-symbol: tc(Jit)
e10s: false
chunks: 6
chunks:
by-test-platform:
win.*: 1
default: 6
mozharness:
script: desktop_unittest.py
no-read-buildbot-config: true
config:
by-test-platform:
win.*:
- unittests/win_taskcluster_unittest.py
default:
- unittests/linux_unittest.py
- remove_executables.py
@ -125,12 +140,17 @@ jsreftest:
description: "JS Reftest run"
suite: reftest/jsreftest
treeherder-symbol: tc-R(J)
chunks: 2
chunks:
by-test-platform:
win.*: 1
default: 2
mozharness:
script: desktop_unittest.py
no-read-buildbot-config: true
config:
by-test-platform:
win.*:
- unittests/win_taskcluster_unittest.py
default:
- unittests/linux_unittest.py
- remove_executables.py
@ -146,15 +166,22 @@ marionette:
script: marionette.py
no-read-buildbot-config: true
config:
- marionette/prod_config.py
- remove_executables.py
by-test-platform:
win.*:
- marionette/windows_taskcluster_config.py
default:
- marionette/prod_config.py
- remove_executables.py
mochitest:
description: "Mochitest plain run"
suite: mochitest/plain-chunked
treeherder-symbol: tc-M()
loopback-video: true
chunks: 10
chunks:
by-test-platform:
win.*: 5
default: 10
max-run-time: 5400
mozharness:
script: desktop_unittest.py
@ -162,6 +189,8 @@ mochitest:
chunked: true
config:
by-test-platform:
win.*:
- unittests/win_taskcluster_unittest.py
default:
- unittests/linux_unittest.py
- remove_executables.py
@ -183,6 +212,8 @@ mochitest-a11y:
chunked: true
config:
by-test-platform:
win.*:
- unittests/win_taskcluster_unittest.py
default:
- unittests/linux_unittest.py
- remove_executables.py
@ -222,6 +253,8 @@ mochitest-browser-chrome:
no-read-buildbot-config: true
config:
by-test-platform:
win.*:
- unittests/win_taskcluster_unittest.py
default:
- unittests/linux_unittest.py
- remove_executables.py
@ -254,6 +287,8 @@ mochitest-chrome:
no-read-buildbot-config: true
config:
by-test-platform:
win.*:
- unittests/win_taskcluster_unittest.py
default:
- unittests/linux_unittest.py
- remove_executables.py
@ -272,6 +307,8 @@ mochitest-clipboard:
chunked: true
config:
by-test-platform:
win.*:
- unittests/win_taskcluster_unittest.py
default:
- unittests/linux_unittest.py
- remove_executables.py
@ -284,7 +321,10 @@ mochitest-devtools-chrome:
treeherder-symbol: tc-M(dt)
loopback-video: true
max-run-time: 5400
chunks: 10
chunks:
by-test-platform:
win.*: 8
default: 10
e10s:
by-test-platform:
# Bug 1242986: linux64/debug mochitest-devtools-chrome e10s is not greened up yet
@ -295,6 +335,8 @@ mochitest-devtools-chrome:
no-read-buildbot-config: true
config:
by-test-platform:
win.*:
- unittests/win_taskcluster_unittest.py
default:
- unittests/linux_unittest.py
- remove_executables.py
@ -313,12 +355,18 @@ mochitest-gpu:
suite: mochitest/plain-gpu,chrome-gpu,browser-chrome-gpu
treeherder-symbol: tc-M(gpu)
loopback-video: true
e10s:
by-test-platform:
win.*: both
default: true
mozharness:
script: desktop_unittest.py
no-read-buildbot-config: true
chunked: true
config:
by-test-platform:
win.*:
- unittests/win_taskcluster_unittest.py
default:
- unittests/linux_unittest.py
- remove_executables.py
@ -338,11 +386,14 @@ mochitest-jetpack:
chunked: true
config:
by-test-platform:
win.*:
- unittests/win_taskcluster_unittest.py
default:
- unittests/linux_unittest.py
- remove_executables.py
extra-options:
- --mochitest-suite=jetpack-package
- --mochitest-suite=jetpack-addon
mochitest-media:
description: "Mochitest media run"
@ -358,6 +409,8 @@ mochitest-media:
chunked: true
config:
by-test-platform:
win.*:
- unittests/win_taskcluster_unittest.py
default:
- unittests/linux_unittest.py
- remove_executables.py
@ -376,6 +429,8 @@ mochitest-webgl:
chunked: true
config:
by-test-platform:
win.*:
- unittests/win_taskcluster_unittest.py
default:
- unittests/linux_unittest.py
- remove_executables.py
@ -395,6 +450,8 @@ reftest:
no-read-buildbot-config: true
config:
by-test-platform:
win.*:
- unittests/win_taskcluster_unittest.py
default:
- unittests/linux_unittest.py
- remove_executables.py
@ -412,6 +469,8 @@ reftest-no-accel:
no-read-buildbot-config: true
config:
by-test-platform:
win.*:
- unittests/win_taskcluster_unittest.py
default:
- unittests/linux_unittest.py
- remove_executables.py
@ -431,8 +490,12 @@ web-platform-tests:
script: web_platform_tests.py
no-read-buildbot-config: true
config:
- web_platform_tests/prod_config.py
- remove_executables.py
by-test-platform:
win.*:
- web_platform_tests/prod_config_windows_taskcluster.py
default:
- web_platform_tests/prod_config.py
- remove_executables.py
extra-options:
- --test-type=testharness
@ -448,8 +511,12 @@ web-platform-tests-reftests:
script: web_platform_tests.py
no-read-buildbot-config: true
config:
- web_platform_tests/prod_config.py
- remove_executables.py
by-test-platform:
win.*:
- web_platform_tests/prod_config_windows_taskcluster.py
default:
- web_platform_tests/prod_config.py
- remove_executables.py
extra-options:
- --test-type=reftest
@ -465,8 +532,12 @@ web-platform-tests-wdspec:
script: web_platform_tests.py
no-read-buildbot-config: true
config:
- web_platform_tests/prod_config.py
- remove_executables.py
by-test-platform:
win.*:
- web_platform_tests/prod_config_windows_taskcluster.py
default:
- web_platform_tests/prod_config.py
- remove_executables.py
extra-options:
- --test-type=wdspec
@ -476,6 +547,7 @@ xpcshell:
treeherder-symbol: tc-X()
chunks:
by-test-platform:
# win.*: 1
linux64/debug: 10
default: 8
max-run-time: 5400
@ -485,6 +557,8 @@ xpcshell:
no-read-buildbot-config: true
config:
by-test-platform:
win.*:
- unittests/win_taskcluster_unittest.py
default:
- unittests/linux_unittest.py
- remove_executables.py

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

@ -205,7 +205,7 @@ task_description_schema = Schema({
Required('implementation'): 'generic-worker',
# command is a list of commands to run, sequentially
'command': [basestring],
'command': [taskref_or_string],
# artifacts to extract from the task image after completion; note that artifacts
# for the generic worker cannot have names
@ -222,6 +222,9 @@ task_description_schema = Schema({
# the maximum time to run, in seconds
'max-run-time': int,
# os user groups for test task workers
Optional('os-groups', default=[]): [basestring],
}, {
Required('implementation'): 'buildbot-bridge',
@ -400,8 +403,9 @@ def build_generic_worker_payload(config, task, task_def):
task_def['payload'] = {
'command': worker['command'],
'artifacts': artifacts,
'env': worker['env'],
'env': worker.get('env', {}),
'maxRunTime': worker['max-run-time'],
'osGroups': worker.get('os-groups', []),
}
if 'retry-exit-status' in worker:

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

@ -24,8 +24,10 @@ transforms = TransformSequence()
def set_worker_implementation(config, tests):
"""Set the worker implementation based on the test platform."""
for test in tests:
# this is simple for now, but soon will not be!
test['worker-implementation'] = 'docker-worker'
if test['test-platform'].startswith('win'):
test['worker-implementation'] = 'generic-worker'
else:
test['worker-implementation'] = 'docker-worker'
yield test

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

@ -35,11 +35,12 @@ def set_treeherder_machine_platform(config, tests):
# platforms
translation = {
'linux64-asan/opt': 'linux64/asan',
'linux64-pgo/opt': 'linux64/pgo',
'linux64-pgo/opt': 'linux64/pgo'
}
for test in tests:
build_platform = test['build-platform']
test['treeherder-machine-platform'] = translation.get(build_platform, build_platform)
test_platform = test['test-platform']
test['treeherder-machine-platform'] = translation.get(build_platform, test_platform)
yield test
@ -83,7 +84,11 @@ def split_e10s(config, tests):
@transforms.add
def allow_software_gl_layers(config, tests):
for test in tests:
allow = get_keyed_by(item=test, field='allow-software-gl-layers',
# since this value defaults to true, but is not applicable on windows,
# it's overriden for that platform here.
allow = not test['test-platform'].startswith('win') \
and get_keyed_by(item=test, field='allow-software-gl-layers',
item_name=test['test-name'])
if allow:
assert test['instance-size'] != 'legacy',\
@ -94,3 +99,13 @@ def allow_software_gl_layers(config, tests):
.append("--allow-software-gl-layers")
yield test
@transforms.add
def add_os_groups(config, tests):
for test in tests:
if test['test-platform'].startswith('win'):
groups = get_keyed_by(item=test, field='os-groups', item_name=test['test-name'])
if groups:
test['os-groups'] = groups
yield test

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

@ -27,13 +27,18 @@ from taskgraph.transforms.job.common import (
import logging
ARTIFACT_URL = 'https://queue.taskcluster.net/v1/task/{}/artifacts/{}'
ARTIFACTS = [
# (artifact name prefix, in-image path)
("public/logs/", "/home/worker/workspace/build/upload/logs/"),
("public/test", "/home/worker/artifacts/"),
("public/test_info/", "/home/worker/workspace/build/blobber_upload_dir/"),
]
WORKER_TYPE = {
# default worker types keyed by instance-size
'large': 'aws-provisioner-v1/desktop-test-large',
'xlarge': 'aws-provisioner-v1/desktop-test-xlarge',
'legacy': 'aws-provisioner-v1/desktop-test',
'default': 'aws-provisioner-v1/desktop-test-large',
# windows worker types keyed by test-platform
'windows7-32-vm': 'aws-provisioner-v1/gecko-t-win7-32',
'windows7-32': 'aws-provisioner-v1/gecko-t-win7-32-gpu',
'windows10-64-vm': 'aws-provisioner-v1/gecko-t-win10-64',
'windows10-64': 'aws-provisioner-v1/gecko-t-win10-64-gpu'
}
logger = logging.getLogger(__name__)
@ -122,6 +127,13 @@ def worker_setup_function(name):
@worker_setup_function("docker-engine")
@worker_setup_function("docker-worker")
def docker_worker_setup(config, test, taskdesc):
artifacts = [
# (artifact name prefix, in-image path)
("public/logs/", "/home/worker/workspace/build/upload/logs/"),
("public/test", "/home/worker/artifacts/"),
("public/test_info/", "/home/worker/workspace/build/blobber_upload_dir/"),
]
mozharness = test['mozharness']
installer_url = ARTIFACT_URL.format('<build>', mozharness['build-artifact-name'])
@ -130,12 +142,7 @@ def docker_worker_setup(config, test, taskdesc):
mozharness_url = ARTIFACT_URL.format('<build>',
'public/build/mozharness.zip')
taskdesc['worker-type'] = {
'default': 'aws-provisioner-v1/desktop-test-large',
'large': 'aws-provisioner-v1/desktop-test-large',
'xlarge': 'aws-provisioner-v1/desktop-test-xlarge',
'legacy': 'aws-provisioner-v1/desktop-test',
}[test['instance-size']]
taskdesc['worker-type'] = WORKER_TYPE[test['instance-size']]
worker = taskdesc['worker'] = {}
worker['implementation'] = test['worker-implementation']
@ -152,7 +159,7 @@ def docker_worker_setup(config, test, taskdesc):
'name': prefix,
'path': path,
'type': 'directory',
} for (prefix, path) in ARTIFACTS]
} for (prefix, path) in artifacts]
worker['caches'] = [{
'type': 'persistent',
@ -242,3 +249,111 @@ def docker_worker_setup(config, test, taskdesc):
command.append('--download-symbols=' + download_symbols)
worker['command'] = command
def normpath(path):
return path.replace('/', '\\')
def get_firefox_version():
with open('browser/config/version.txt', 'r') as f:
return f.readline().strip()
@worker_setup_function('generic-worker')
def generic_worker_setup(config, test, taskdesc):
artifacts = [
{
'path': 'public\\logs\\localconfig.json',
'type': 'file'
},
{
'path': 'public\\logs\\log_critical.log',
'type': 'file'
},
{
'path': 'public\\logs\\log_error.log',
'type': 'file'
},
{
'path': 'public\\logs\\log_fatal.log',
'type': 'file'
},
{
'path': 'public\\logs\\log_info.log',
'type': 'file'
},
{
'path': 'public\\logs\\log_raw.log',
'type': 'file'
},
{
'path': 'public\\logs\\log_warning.log',
'type': 'file'
},
{
'path': 'public\\test_info',
'type': 'directory'
}
]
mozharness = test['mozharness']
build_platform = taskdesc['attributes']['build_platform']
test_platform = test['test-platform'].split('/')[0]
target = 'firefox-{}.en-US.{}'.format(get_firefox_version(), build_platform)
installer_url = ARTIFACT_URL.format(
'<build>', 'public/build/{}.zip'.format(target))
test_packages_url = ARTIFACT_URL.format(
'<build>', 'public/build/{}.test_packages.json'.format(target))
mozharness_url = ARTIFACT_URL.format(
'<build>', 'public/build/mozharness.zip')
taskdesc['worker-type'] = WORKER_TYPE[test_platform]
taskdesc['scopes'].extend(
['generic-worker:os-group:{}'.format(group) for group in test['os-groups']])
worker = taskdesc['worker'] = {}
worker['os-groups'] = test['os-groups']
worker['implementation'] = test['worker-implementation']
worker['max-run-time'] = test['max-run-time']
worker['artifacts'] = artifacts
env = worker['env'] = {
# Bug 1306989
'APPDATA': '%cd%\\AppData\\Roaming',
'LOCALAPPDATA': '%cd%\\AppData\\Local',
'TEMP': '%cd%\\AppData\\Local\\Temp',
'TMP': '%cd%\\AppData\\Local\\Temp',
'USERPROFILE': '%cd%',
}
# assemble the command line
mh_command = [
'c:\\mozilla-build\\python\\python.exe',
'-u',
'mozharness\\scripts\\' + normpath(mozharness['script'])
]
for mh_config in mozharness['config']:
mh_command.extend(['--cfg', 'mozharness\\configs\\' + normpath(mh_config)])
mh_command.extend(mozharness.get('extra-options', []))
if mozharness.get('no-read-buildbot-config'):
mh_command.append('--no-read-buildbot-config')
mh_command.extend(['--installer-url', installer_url])
mh_command.extend(['--test-packages-url', test_packages_url])
if mozharness.get('download-symbols'):
if isinstance(mozharness['download-symbols'], basestring):
mh_command.extend(['--download-symbols', mozharness['download-symbols']])
else:
mh_command.extend(['--download-symbols', 'true'])
worker['command'] = [
'mkdir {} {}'.format(env['APPDATA'], env['TMP']),
{'task-reference': 'c:\\mozilla-build\\wget\\wget.exe {}'.format(mozharness_url)},
'c:\\mozilla-build\\info-zip\\unzip.exe mozharness.zip',
{'task-reference': ' '.join(mh_command)},
'xcopy build\\blobber_upload_dir public\\test_info /e /i',
'copy /y logs\\*.* public\\logs\\'
]

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

@ -106,8 +106,8 @@ test_description_schema = Schema({
# test platform.
Optional('worker-implementation'): Any(
'docker-worker',
# coming soon:
'generic-worker',
# coming soon:
'docker-engine',
'buildbot-bridge',
),
@ -199,6 +199,14 @@ test_description_schema = Schema({
# The current chunk; this is filled in by `all_kinds.py`
Optional('this-chunk'): int,
# os user groups for test task workers; required scopes, will be
# added automatically
Optional('os-groups', default=[]): Any(
[basestring],
# todo: create a dedicated elevated worker group and name here
{'by-test-platform': {basestring: [basestring]}},
),
# -- values supplied by the task-generation infrastructure
# the platform of the build this task is testing

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

@ -0,0 +1,122 @@
# This is a template config file for marionette production on Windows.
import os
import sys
config = {
# marionette options
"marionette_address": "localhost:2828",
"test_manifest": "unit-tests.ini",
"virtualenv_python_dll": os.path.join(os.path.dirname(sys.executable), 'python27.dll'),
"virtualenv_path": 'venv',
"exes": {
'python': sys.executable,
'virtualenv': [
sys.executable,
os.path.join(os.path.dirname(sys.executable), 'Lib', 'site-packages', 'virtualenv.py')
],
'mozinstall': ['build/venv/scripts/python', 'build/venv/scripts/mozinstall-script.py'],
'tooltool.py': [sys.executable, os.path.join(os.environ['MOZILLABUILD'], 'tooltool.py')],
'hg': os.path.join(os.environ['PROGRAMFILES'], 'Mercurial', 'hg')
},
"find_links": [
"http://pypi.pvt.build.mozilla.org/pub",
"http://pypi.pub.build.mozilla.org/pub",
],
"pip_index": False,
"default_actions": [
'clobber',
'download-and-extract',
'create-virtualenv',
'install',
'run-tests',
],
"default_blob_upload_servers": [
"https://blobupload.elasticbeanstalk.com",
],
"blob_uploader_auth_file" : 'C:/builds/oauth.txt',
"download_minidump_stackwalk": True,
"download_symbols": "ondemand",
"suite_definitions": {
"gaiatest_desktop": {
"options": [
"--restart",
"--timeout=%(timeout)s",
"--testvars=%(testvars)s",
"--profile=%(profile)s",
"--symbols-path=%(symbols_path)s",
"--gecko-log=%(gecko_log)s",
"--log-xunit=%(xml_output)s",
"--html-output=%(html_output)s",
"--log-raw=%(raw_log_file)s",
"--log-errorsummary=%(error_summary_file)s",
"--binary=%(binary)s",
"--address=%(address)s",
"--total-chunks=%(total_chunks)s",
"--this-chunk=%(this_chunk)s"
],
"run_filename": "",
"testsdir": ""
},
"gaiatest_emulator": {
"options": [
"--restart",
"--timeout=%(timeout)s",
"--testvars=%(testvars)s",
"--profile=%(profile)s",
"--symbols-path=%(symbols_path)s",
"--log-xunit=%(xml_output)s",
"--html-output=%(html_output)s",
"--log-raw=%(raw_log_file)s",
"--log-errorsummary=%(error_summary_file)s",
"--logcat-dir=%(logcat_dir)s",
"--emulator=%(emulator)s",
"--homedir=%(homedir)s"
],
"run_filename": "",
"testsdir": ""
},
"marionette_desktop": {
"options": [
"--log-raw=%(raw_log_file)s",
"--log-errorsummary=%(error_summary_file)s",
"--binary=%(binary)s",
"--address=%(address)s",
"--symbols-path=%(symbols_path)s"
],
"run_filename": "",
"testsdir": ""
},
"marionette_emulator": {
"options": [
"--log-raw=%(raw_log_file)s",
"--log-errorsummary=%(error_summary_file)s",
"--logcat-dir=%(logcat_dir)s",
"--emulator=%(emulator)s",
"--homedir=%(homedir)s",
"--symbols-path=%(symbols_path)s"
],
"run_filename": "",
"testsdir": ""
},
"webapi_desktop": {
"options": [],
"run_filename": "",
"testsdir": ""
},
"webapi_emulator": {
"options": [
"--log-raw=%(raw_log_file)s",
"--log-errorsummary=%(error_summary_file)s",
"--symbols-path=%(symbols_path)s",
"--logcat-dir=%(logcat_dir)s",
"--emulator=%(emulator)s",
"--homedir=%(homedir)s"
],
"run_filename": "",
"testsdir": ""
}
},
}

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

@ -0,0 +1,54 @@
import os
import sys
import mozharness
external_tools_path = os.path.join(
os.path.abspath(os.path.dirname(os.path.dirname(mozharness.__file__))),
'external_tools',
)
config = {
"virtualenv_python_dll": os.path.join(os.path.dirname(sys.executable), 'python27.dll'),
"virtualenv_path": 'venv',
"exes": {
'python': sys.executable,
'virtualenv': [
sys.executable,
os.path.join(os.path.dirname(sys.executable), 'Lib', 'site-packages', 'virtualenv.py')
],
'mozinstall': ['build/venv/scripts/python', 'build/venv/scripts/mozinstall-script.py'],
'tooltool.py': [sys.executable, os.path.join(os.environ['MOZILLABUILD'], 'tooltool.py')],
'hg': os.path.join(os.environ['PROGRAMFILES'], 'Mercurial', 'hg')
},
"find_links": [
"http://pypi.pvt.build.mozilla.org/pub",
"http://pypi.pub.build.mozilla.org/pub",
],
"pip_index": False,
"default_actions": [
'clobber',
'download-and-extract',
'create-virtualenv',
'install',
'run-media-tests',
],
"default_blob_upload_servers": [
"https://blobupload.elasticbeanstalk.com",
],
"blob_uploader_auth_file" : 'C:/builds/oauth.txt',
"in_tree_config": "config/mozharness/marionette.py",
"download_minidump_stackwalk": True,
"download_symbols": "ondemand",
"suite_definitions": {
"media-tests": {
"options": [],
},
"media-youtube-tests": {
"options": [
"%(test_manifest)s"
],
},
},
}

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

@ -0,0 +1,282 @@
import os
import sys
# OS Specifics
ABS_WORK_DIR = os.path.join(os.getcwd(), "build")
BINARY_PATH = os.path.join(ABS_WORK_DIR, "firefox", "firefox.exe")
INSTALLER_PATH = os.path.join(ABS_WORK_DIR, "installer.zip")
XPCSHELL_NAME = 'xpcshell.exe'
EXE_SUFFIX = '.exe'
DISABLE_SCREEN_SAVER = False
ADJUST_MOUSE_AND_SCREEN = True
#####
config = {
"exes": {
'python': sys.executable,
'virtualenv': [
sys.executable,
os.path.join(os.path.dirname(sys.executable), 'Lib', 'site-packages', 'virtualenv.py')
],
'mozinstall': ['build/venv/scripts/python', 'build/venv/scripts/mozinstall-script.py'],
'tooltool.py': [sys.executable, os.path.join(os.environ['MOZILLABUILD'], 'tooltool.py')],
'hg': os.path.join(os.environ['PROGRAMFILES'], 'Mercurial', 'hg')
},
###
"installer_path": INSTALLER_PATH,
"binary_path": BINARY_PATH,
"xpcshell_name": XPCSHELL_NAME,
"virtualenv_path": 'venv',
"virtualenv_python_dll": os.path.join(os.path.dirname(sys.executable), "python27.dll"),
"find_links": [
"http://pypi.pvt.build.mozilla.org/pub",
"http://pypi.pub.build.mozilla.org/pub",
],
"pip_index": False,
"exe_suffix": EXE_SUFFIX,
"run_file_names": {
"mochitest": "runtests.py",
"reftest": "runreftest.py",
"xpcshell": "runxpcshelltests.py",
"cppunittest": "runcppunittests.py",
"gtest": "rungtests.py",
"jittest": "jit_test.py",
"mozbase": "test.py",
"mozmill": "runtestlist.py",
},
"minimum_tests_zip_dirs": [
"bin/*",
"certs/*",
"config/*",
"mach",
"marionette/*",
"modules/*",
"mozbase/*",
"tools/*",
],
"specific_tests_zip_dirs": {
"mochitest": ["mochitest/*"],
"reftest": ["reftest/*", "jsreftest/*"],
"xpcshell": ["xpcshell/*"],
"cppunittest": ["cppunittest/*"],
"gtest": ["gtest/*"],
"jittest": ["jit-test/*"],
"mozbase": ["mozbase/*"],
"mozmill": ["mozmill/*"],
},
"suite_definitions": {
"cppunittest": {
"options": [
"--symbols-path=%(symbols_path)s",
"--xre-path=%(abs_app_dir)s"
],
"run_filename": "runcppunittests.py",
"testsdir": "cppunittest"
},
"jittest": {
"options": [
"tests/bin/js",
"--no-slow",
"--no-progress",
"--format=automation",
"--jitflags=all",
"--timeout=970" # Keep in sync with run_timeout below.
],
"run_filename": "jit_test.py",
"testsdir": "jit-test/jit-test",
"run_timeout": 1000 # Keep in sync with --timeout above.
},
"mochitest": {
"options": [
"--appname=%(binary_path)s",
"--utility-path=tests/bin",
"--extra-profile-file=tests/bin/plugins",
"--symbols-path=%(symbols_path)s",
"--certificate-path=tests/certs",
"--quiet",
"--log-raw=%(raw_log_file)s",
"--log-errorsummary=%(error_summary_file)s",
"--screenshot-on-fail",
"--cleanup-crashes",
],
"run_filename": "runtests.py",
"testsdir": "mochitest"
},
"mozbase": {
"options": [
"-b",
"%(binary_path)s"
],
"run_filename": "test.py",
"testsdir": "mozbase"
},
"mozmill": {
"options": [
"--binary=%(binary_path)s",
"--testing-modules-dir=test/modules",
"--plugins-path=%(test_plugin_path)s",
"--symbols-path=%(symbols_path)s"
],
"run_filename": "runtestlist.py",
"testsdir": "mozmill"
},
"reftest": {
"options": [
"--appname=%(binary_path)s",
"--utility-path=tests/bin",
"--extra-profile-file=tests/bin/plugins",
"--symbols-path=%(symbols_path)s",
"--log-raw=%(raw_log_file)s",
"--log-errorsummary=%(error_summary_file)s",
"--cleanup-crashes",
],
"run_filename": "runreftest.py",
"testsdir": "reftest"
},
"xpcshell": {
"options": [
"--symbols-path=%(symbols_path)s",
"--test-plugin-path=%(test_plugin_path)s",
"--log-raw=%(raw_log_file)s",
"--log-errorsummary=%(error_summary_file)s",
"--utility-path=tests/bin",
],
"run_filename": "runxpcshelltests.py",
"testsdir": "xpcshell"
},
"gtest": {
"options": [
"--xre-path=%(abs_res_dir)s",
"--cwd=%(gtest_dir)s",
"--symbols-path=%(symbols_path)s",
"--utility-path=tests/bin",
"%(binary_path)s",
],
"run_filename": "rungtests.py",
},
},
# local mochi suites
"all_mochitest_suites":
{
"plain": [],
"plain-gpu": ["--subsuite=gpu"],
"plain-clipboard": ["--subsuite=clipboard"],
"plain-chunked": ["--chunk-by-dir=4"],
"mochitest-media": ["--subsuite=media"],
"chrome": ["--flavor=chrome"],
"chrome-gpu": ["--flavor=chrome", "--subsuite=gpu"],
"chrome-clipboard": ["--flavor=chrome", "--subsuite=clipboard"],
"chrome-chunked": ["--flavor=chrome", "--chunk-by-dir=4"],
"browser-chrome": ["--flavor=browser"],
"browser-chrome-gpu": ["--flavor=browser", "--subsuite=gpu"],
"browser-chrome-clipboard": ["--flavor=browser", "--subsuite=clipboard"],
"browser-chrome-chunked": ["--flavor=browser", "--chunk-by-runtime"],
"browser-chrome-addons": ["--flavor=browser", "--chunk-by-runtime", "--tag=addons"],
"browser-chrome-screenshots": ["--flavor=browser", "--subsuite=screenshots"],
"mochitest-gl": ["--subsuite=webgl"],
"mochitest-devtools-chrome": ["--flavor=browser", "--subsuite=devtools"],
"mochitest-devtools-chrome-chunked": ["--flavor=browser", "--subsuite=devtools", "--chunk-by-runtime"],
"mochitest-metro-chrome": ["--flavor=browser", "--metro-immersive"],
"jetpack-package": ["--flavor=jetpack-package"],
"jetpack-package-clipboard": ["--flavor=jetpack-package", "--subsuite=clipboard"],
"jetpack-addon": ["--flavor=jetpack-addon"],
"a11y": ["--flavor=a11y"],
},
# local reftest suites
"all_reftest_suites": {
"reftest": {
'options': ["--suite=reftest"],
'tests': ["tests/reftest/tests/layout/reftests/reftest.list"]
},
"crashtest": {
'options': ["--suite=crashtest"],
'tests': ["tests/reftest/tests/testing/crashtest/crashtests.list"]
},
"jsreftest": {
'options':["--extra-profile-file=tests/jsreftest/tests/user.js"],
'tests': ["tests/jsreftest/tests/jstests.list"]
},
"reftest-ipc": {
'options': ['--suite=reftest',
'--setpref=browser.tabs.remote=true',
'--setpref=browser.tabs.remote.autostart=true',
'--setpref=extensions.e10sBlocksEnabling=false',
'--setpref=layers.async-pan-zoom.enabled=true'],
'tests': ['tests/reftest/tests/layout/reftests/reftest-sanity/reftest.list']
},
"reftest-no-accel": {
"options": ["--suite=reftest",
"--setpref=gfx.direct2d.disabled=true",
"--setpref=layers.acceleration.disabled=true"],
"tests": ["tests/reftest/tests/layout/reftests/reftest.list"]
},
"crashtest-ipc": {
"options": ["--suite=crashtest",
'--setpref=browser.tabs.remote=true',
'--setpref=browser.tabs.remote.autostart=true',
'--setpref=extensions.e10sBlocksEnabling=false',
'--setpref=layers.async-pan-zoom.enabled=true'],
"tests": ['tests/reftest/tests/testing/crashtest/crashtests.list'],
},
},
"all_xpcshell_suites": {
"xpcshell": {
'options': ["--xpcshell=%(abs_app_dir)s/" + XPCSHELL_NAME,
"--manifest=tests/xpcshell/tests/xpcshell.ini"],
'tests': []
},
"xpcshell-addons": {
'options': ["--xpcshell=%(abs_app_dir)s/" + XPCSHELL_NAME,
"--tag=addons",
"--manifest=tests/xpcshell/tests/xpcshell.ini"],
'tests': []
},
},
"all_cppunittest_suites": {
"cppunittest": ['tests/cppunittest']
},
"all_gtest_suites": {
"gtest": []
},
"all_jittest_suites": {
"jittest": []
},
"all_mozbase_suites": {
"mozbase": []
},
"run_cmd_checks_enabled": True,
"preflight_run_cmd_suites": [
{
'name': 'disable_screen_saver',
'cmd': ['xset', 's', 'off', 's', 'reset'],
'architectures': ['32bit', '64bit'],
'halt_on_failure': False,
'enabled': DISABLE_SCREEN_SAVER
},
{
'name': 'run mouse & screen adjustment script',
'cmd': [
sys.executable,
os.path.join(os.getcwd(),
'mozharness', 'external_tools', 'mouse_and_screen_resolution.py'),
'--configuration-file',
os.path.join(os.getcwd(),
'mozharness', 'external_tools', 'machine-configuration.json')
],
'architectures': ['32bit'],
'halt_on_failure': True,
'enabled': ADJUST_MOUSE_AND_SCREEN
}
],
"vcs_output_timeout": 1000,
"minidump_save_path": "%(abs_work_dir)s/../minidumps",
"buildbot_max_log_size": 52428800,
"default_blob_upload_servers": [
"https://blobupload.elasticbeanstalk.com",
],
"structured_suites": ["reftest"],
'blob_uploader_auth_file': 'C:/builds/oauth.txt',
"download_minidump_stackwalk": True,
"minidump_stackwalk_path": "win32-minidump_stackwalk.exe",
"minidump_tooltool_manifest_path": "config/tooltool-manifests/win32/releng.manifest"
}

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

@ -0,0 +1,48 @@
# ***** BEGIN LICENSE BLOCK *****
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
# You can obtain one at http://mozilla.org/MPL/2.0/.
# ***** END LICENSE BLOCK *****
# This is a template config file for web-platform-tests test.
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,
os.path.join(os.path.dirname(sys.executable), 'Lib', 'site-packages', 'virtualenv.py')
],
'mozinstall': ['build/venv/scripts/python', 'build/venv/scripts/mozinstall-script.py'],
'tooltool.py': [sys.executable, os.path.join(os.environ['MOZILLABUILD'], 'tooltool.py')],
'hg': os.path.join(os.environ['PROGRAMFILES'], 'Mercurial', 'hg')
},
"find_links": [
"http://pypi.pvt.build.mozilla.org/pub",
"http://pypi.pub.build.mozilla.org/pub",
],
"pip_index": False,
"default_blob_upload_servers": [
"https://blobupload.elasticbeanstalk.com",
],
"blob_uploader_auth_file" : 'C:/builds/oauth.txt',
"download_minidump_stackwalk": True,
}