def create_tgg(responses, datadir): # Setup logging. lm = LoggingManager() lm.add_terminal_logging() def inner(parameters=None, overrides=None): params = parameters_loader(parameters, strict=False, overrides=overrides) tgg = TaskGraphGenerator(None, params) # Mock out certain requests as they may depend on a revision that does # not exist on hg.mozilla.org. mock_requests = {} # bugbug /push/schedules url = BUGBUG_BASE_URL + "/push/{project}/{head_rev}/schedules".format( **tgg.parameters) mock_requests[url] = "bugbug-push-schedules.json" # files changed url = "{head_repository}/json-automationrelevance/{head_rev}".format( **tgg.parameters) mock_requests[url] = "automationrelevance.json" url = PUSHLOG_PUSHES_TMPL.format( repository=tgg.parameters["head_repository"], push_id_start=int(tgg.parameters["pushlog_id"]) - 2, push_id_end=int(tgg.parameters["pushlog_id"]) - 1, ) mock_requests[url] = "pushes.json" for url, filename in mock_requests.items(): with open(os.path.join(datadir, filename)) as fh: responses.add( responses.GET, url, json=json.load(fh), status=200, ) # Still allow other real requests. responses.add_passthru("https://hg.mozilla.org") responses.add_passthru("https://firefox-ci-tc.services.mozilla.com") return tgg return inner
def _init(self): CommonBackend._init(self) log_manager = LoggingManager() self._cmd = MozbuildObject(self.environment.topsrcdir, ConfigSettings(), log_manager, self.environment.topobjdir) self._install_mapping = {} self.manifest_handler = ChromeManifestHandler()
def _init(self): CommonBackend._init(self) if not util.check_top_objdir(self.environment.topobjdir): raise Exception() # The database we're going to dump out to. self._db = [] # The cache for per-directory flags self._flags = {} log_manager = LoggingManager() self._cmd = MozbuildObject(self.environment.topsrcdir, ConfigSettings(), log_manager, self.environment.topobjdir)
def main(argv=sys.argv[1:]): """Used when the runner is directly called from the shell """ _setup_path() from mozbuild.mozconfig import MozconfigLoader from mozbuild.base import MachCommandBase, MozbuildObject from mozperftest import PerftestArgumentParser from mozboot.util import get_state_dir from mach.logging import LoggingManager mozconfig = SRC_ROOT / "browser" / "config" / "mozconfig" if mozconfig.exists(): os.environ["MOZCONFIG"] = str(mozconfig) if "--xpcshell-mozinfo" in argv: mozinfo = argv[argv.index("--xpcshell-mozinfo") + 1] topobjdir = Path(mozinfo).parent else: topobjdir = None config = MozbuildObject( str(SRC_ROOT), None, LoggingManager(), topobjdir=topobjdir, mozconfig=MozconfigLoader.AUTODETECT, ) config.topdir = config.topsrcdir config.cwd = os.getcwd() config.state_dir = get_state_dir() # This monkey patch forces mozbuild to reuse # our configuration when it tries to re-create # it from the environment. def _here(*args, **kw): return config MozbuildObject.from_environment = _here mach_cmd = MachCommandBase(config) parser = PerftestArgumentParser(description="vanilla perftest") args = parser.parse_args(args=argv) run_tests(mach_cmd, **dict(args._get_kwargs()))
def main(argv=sys.argv[1:]): """Used when the runner is directly called from the shell """ _setup_path() from mozbuild.base import MachCommandBase, MozbuildObject from mozperftest import PerftestArgumentParser from mozboot.util import get_state_dir from mach.logging import LoggingManager config = MozbuildObject.from_environment() config.topdir = config.topsrcdir config.cwd = os.getcwd() config.state_dir = get_state_dir() config.log_manager = LoggingManager() mach_cmd = MachCommandBase(config) parser = PerftestArgumentParser(description="vanilla perftest") args = parser.parse_args(args=argv) run_tests(mach_cmd, **dict(args._get_kwargs()))
def _init(self): CommonBackend._init(self) if not util.check_top_objdir(self.environment.topobjdir): raise Exception() # The database we're going to dump out to. self._db = OrderedDict() # The cache for per-directory flags self._flags = {} log_manager = LoggingManager() self._cmd = MozbuildObject(self.environment.topsrcdir, ConfigSettings(), log_manager, self.environment.topobjdir) self._envs = {} self._includes = defaultdict(list) self._defines = defaultdict(list) self._local_flags = defaultdict(dict) self._extra_includes = defaultdict(list) self._gyp_dirs = set() self._dist_include_testing = '-I%s' % mozpath.join( self.environment.topobjdir, 'dist', 'include', 'testing')
from argparse import ArgumentParser from mach.logging import LoggingManager from mozbuild.backend.configenvironment import ConfigEnvironment from mozbuild.base import MachCommandConditions from mozbuild.frontend.emitter import TreeMetadataEmitter from mozbuild.frontend.reader import BuildReader from mozbuild.mozinfo import write_mozinfo from itertools import chain from mozbuild.backend import ( backends, get_backend_class, ) log_manager = LoggingManager() ANDROID_IDE_ADVERTISEMENT = ''' ============= ADVERTISEMENT You are building Firefox for Android. After your build completes, you can open the top source directory in IntelliJ or Android Studio directly and build using Gradle. See the documentation at https://developer.mozilla.org/en-US/docs/Simple_Firefox_for_Android_build PLEASE BE AWARE THAT GRADLE AND INTELLIJ/ANDROID STUDIO SUPPORT IS EXPERIMENTAL. You should verify any changes using |mach build|. ============= '''.strip()
import os import unittest from collections import defaultdict from shutil import rmtree from tempfile import mkdtemp from mach.logging import LoggingManager from mozbuild.backend.configenvironment import ConfigEnvironment from mozbuild.frontend.emitter import TreeMetadataEmitter from mozbuild.frontend.reader import BuildReader import mozpack.path as mozpath log_manager = LoggingManager() log_manager.add_terminal_logging() test_data_path = mozpath.abspath(mozpath.dirname(__file__)) test_data_path = mozpath.join(test_data_path, 'data') CONFIGS = defaultdict( lambda: { 'defines': {}, 'non_global_defines': [], 'substs': { 'OS_TARGET': 'WINNT' }, }, { 'android_eclipse': { 'defines': {
from __future__ import unicode_literals import os import unittest from shutil import rmtree from tempfile import mkdtemp from mach.logging import LoggingManager from mozbuild.backend.configenvironment import ConfigEnvironment from mozbuild.frontend.emitter import TreeMetadataEmitter from mozbuild.frontend.reader import BuildReader log_manager = LoggingManager() log_manager.add_terminal_logging() test_data_path = os.path.abspath(os.path.dirname(__file__)) test_data_path = os.path.join(test_data_path, 'data') CONFIGS = { 'stub0': { 'defines': [ ('MOZ_TRUE_1', '1'), ('MOZ_TRUE_2', '1'), ], 'non_global_defines': [ ('MOZ_NONGLOBAL_1', '1'),
def enable_logging(): """Ensure logs from taskgraph are displayed when a test fails.""" lm = LoggingManager() lm.add_terminal_logging()