mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-25 19:25:43 +00:00
4fecf32869
I noticed that if you request a loaner for a non-e10s job then run mach, it will be run with e10s enabled. The mach command should accurately reflect the type of job that got requested. This patch grabs the 'e10s' argument from the mozharness localconfig.json and uses that. MozReview-Commit-ID: 4lsKGpizfH7 --HG-- extra : rebase_source : 6f7b45146bb7f3431c242d92b4206d41f7217c03
68 lines
2.0 KiB
Python
68 lines
2.0 KiB
Python
# 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/.
|
|
|
|
import argparse
|
|
import os
|
|
import sys
|
|
from functools import partial
|
|
|
|
from mach.decorators import (
|
|
CommandProvider,
|
|
Command,
|
|
)
|
|
|
|
parser = None
|
|
|
|
|
|
def run_marionette(context, **kwargs):
|
|
from marionette.runtests import (
|
|
MarionetteTestRunner,
|
|
MarionetteHarness
|
|
)
|
|
from mozlog.structured import commandline
|
|
|
|
|
|
args = argparse.Namespace(**kwargs)
|
|
args.binary = args.binary or context.firefox_bin
|
|
args.e10s = context.mozharness_config.get('e10s', args.e10s)
|
|
|
|
test_root = os.path.join(context.package_root, 'marionette', 'tests')
|
|
if not args.tests:
|
|
args.tests = [os.path.join(test_root, 'testing', 'marionette', 'harness',
|
|
'marionette', 'tests', 'unit-tests.ini')]
|
|
|
|
normalize = partial(context.normalize_test_path, test_root)
|
|
args.tests = map(normalize, args.tests)
|
|
|
|
commandline.add_logging_group(parser)
|
|
parser.verify_usage(args)
|
|
|
|
args.logger = commandline.setup_logging("Marionette Unit Tests",
|
|
args,
|
|
{"mach": sys.stdout})
|
|
status = MarionetteHarness(MarionetteTestRunner, args=vars(args)).run()
|
|
return 1 if status else 0
|
|
|
|
|
|
def setup_marionette_argument_parser():
|
|
from marionette.runner.base import BaseMarionetteArguments
|
|
global parser
|
|
parser = BaseMarionetteArguments()
|
|
return parser
|
|
|
|
|
|
@CommandProvider
|
|
class MachCommands(object):
|
|
|
|
def __init__(self, context):
|
|
self.context = context
|
|
|
|
@Command(
|
|
'marionette-test', category='testing',
|
|
description='Run a Marionette test (Check UI or the internal JavaScript '
|
|
'using marionette).',
|
|
parser=setup_marionette_argument_parser)
|
|
def run_marionette_test(self, **kwargs):
|
|
return run_marionette(self.context, **kwargs)
|