def run_marionette(tests, b2g_path=None, emulator=None, testtype=None, address=None, binary=None, topsrcdir=None, **kwargs): # Import the harness directly and under a different name here to avoid # "marionette" being importable from two locations when "testing/marionette/client" # is on sys.path. # See bug 1050511 and bug 1114474. This needs to be removed with the # resolution of bug 1109183. clientdir = os.path.join(topsrcdir, 'testing/marionette/client') if clientdir in sys.path: sys.path.remove(clientdir) path = os.path.join(topsrcdir, 'testing/marionette/client/marionette/runtests.py') with open(path, 'r') as fh: imp.load_module('marionetteharness', fh, path, ('.py', 'r', imp.PY_SOURCE)) from marionetteharness import (MarionetteTestRunner, BaseMarionetteOptions, startTestRunner) parser = BaseMarionetteOptions() commandline.add_logging_group(parser) options, args = parser.parse_args() if not tests: tests = [ os.path.join( topsrcdir, 'testing/marionette/client/marionette/tests/unit-tests.ini') ] if b2g_path: options.homedir = b2g_path if emulator: options.emulator = emulator else: options.binary = binary path, exe = os.path.split(options.binary) for k, v in kwargs.iteritems(): setattr(options, k, v) parser.verify_usage(options, tests) options.logger = commandline.setup_logging("Marionette Unit Tests", options, {"mach": sys.stdout}) runner = startTestRunner(MarionetteTestRunner, options, tests) if runner.failed > 0: return 1 return 0
def run_marionette(tests, b2g_path=None, emulator=None, testtype=None, address=None, binary=None, topsrcdir=None, **kwargs): # Import the harness directly and under a different name here to avoid # "marionette" being importable from two locations when "testing/marionette/client" # is on sys.path. # See bug 1050511 and bug 1114474. This needs to be removed with the # resolution of bug 1109183. clientdir = os.path.join(topsrcdir, 'testing/marionette/client') if clientdir in sys.path: sys.path.remove(clientdir) path = os.path.join(topsrcdir, 'testing/marionette/client/marionette/runtests.py') with open(path, 'r') as fh: imp.load_module('marionetteharness', fh, path, ('.py', 'r', imp.PY_SOURCE)) from marionetteharness import ( MarionetteTestRunner, BaseMarionetteOptions, startTestRunner ) parser = BaseMarionetteOptions() commandline.add_logging_group(parser) options, args = parser.parse_args() if not tests: tests = [os.path.join(topsrcdir, 'testing/marionette/client/marionette/tests/unit-tests.ini')] if b2g_path: options.homedir = b2g_path if emulator: options.emulator = emulator else: options.binary = binary path, exe = os.path.split(options.binary) for k, v in kwargs.iteritems(): setattr(options, k, v) parser.verify_usage(options, tests) options.logger = commandline.setup_logging("Marionette Unit Tests", options, {"mach": sys.stdout}) runner = startTestRunner(MarionetteTestRunner, options, tests) if runner.failed > 0: return 1 return 0