def main(): logger = StructuredLogger("mozregression-gui") set_default_logger(logger) # Create a Qt application log_model = LogModel() logger.add_handler(log_model) argv = [sys.argv[0].replace("mozregression-gui.py", "mozregression") ] + sys.argv[1:] # enable hi-dpi scaling QApplication.setAttribute(Qt.AA_EnableHighDpiScaling, True) app = QApplication(argv) crash_reporter = CrashReporter(app) crash_reporter.install() app.setOrganizationName("mozilla") app.setOrganizationDomain("mozilla.org") app.setApplicationName("mozregression-gui") set_default_prefs() # Create the main window and show it win = MainWindow() app.aboutToQuit.connect(win.bisect_runner.stop) app.aboutToQuit.connect(win.single_runner.stop) app.aboutToQuit.connect(win.clear) release_checker = CheckRelease(win) release_checker.check() log_model.log.connect(win.ui.log_view.on_log_received) win.show() # Enter Qt application main loop sys.exit(app.exec_())
def main(): logger = StructuredLogger('mozregression-gui') set_default_logger(logger) # Create a Qt application log_model = LogModel() logger.add_handler(log_model) argv = [sys.argv[0].replace("main.py", "mozregression")] + sys.argv[1:] app = QApplication(argv) crash_reporter = CrashReporter(app) crash_reporter.install() app.setOrganizationName('mozilla') app.setOrganizationDomain('mozilla.org') app.setApplicationName('mozregression-gui') set_default_prefs() # Create the main window and show it win = MainWindow() app.aboutToQuit.connect(win.bisect_runner.stop) app.aboutToQuit.connect(win.single_runner.stop) app.aboutToQuit.connect(win.clear) release_checker = CheckRelease(win) release_checker.check() log_model.log.connect(win.ui.log_view.on_log_received) win.show() # Enter Qt application main loop sys.exit(app.exec_())
def init_logger(debug=True, allow_color=ALLOW_COLOR, output=None): """ Initialize the mozlog logger. Must be called once before using logs. """ # late binding of sys.stdout is required for windows color to work output = output or sys.stdout start = time.time() * 1000 level_color = { 'WARNING': Fore.MAGENTA + Style.BRIGHT, 'CRITICAL': Fore.RED + Style.BRIGHT, 'ERROR': Fore.RED + Style.BRIGHT, 'DEBUG': Fore.CYAN + Style.BRIGHT, 'INFO': Style.BRIGHT, } time_color = Fore.BLUE if mozinfo.os == "win": time_color += Style.BRIGHT # this is unreadable on windows without it def format_log(data): level = data['level'] elapsed = _format_seconds((data['time'] - start) / 1000) if allow_color: elapsed = time_color + elapsed + Style.RESET_ALL if level in level_color: level = level_color[level] + level + Style.RESET_ALL return "%s %s: %s\n" % (elapsed, level, data['message']) logger = StructuredLogger("mozregression") handler = LogLevelFilter(StreamHandler(output, format_log), 'debug' if debug else 'info') logger.add_handler(handler) set_default_logger(logger) return logger
def init_logger(debug=True, allow_color=ALLOW_COLOR, output=None): """ Initialize the mozlog logger. Must be called once before using logs. """ # late binding of sys.stdout is required for windows color to work output = output or sys.stdout start = time.time() * 1000 level_color = { "WARNING": Fore.MAGENTA + Style.BRIGHT, "CRITICAL": Fore.RED + Style.BRIGHT, "ERROR": Fore.RED + Style.BRIGHT, "DEBUG": Fore.CYAN + Style.BRIGHT, "INFO": Style.BRIGHT, } time_color = Fore.BLUE if mozinfo.os == "win": time_color += Style.BRIGHT # this is unreadable on windows without it def format_log(data): level = data["level"] elapsed = _format_seconds((data["time"] - start) / 1000) if allow_color: elapsed = time_color + elapsed + Style.RESET_ALL if level in level_color: level = level_color[level] + level + Style.RESET_ALL msg = data["message"] if "stack" in data: msg += "\n%s" % data["stack"] return "%s %s: %s\n" % (elapsed, level, msg) logger = StructuredLogger("mozregression") handler = LogLevelFilter(StreamHandler(output, format_log), "debug" if debug else "info") logger.add_handler(handler) init_python_redirect_logger(logger) set_default_logger(logger) return logger
def __init__(self): self.logger = MessageLogger(self.send_message) structuredlog.set_default_logger(self.logger)
from __future__ import absolute_import, unicode_literals import os import mozinfo import mozunit from mozlog.structuredlog import set_default_logger, StructuredLogger set_default_logger(StructuredLogger('test_playback')) from raptor.playback import get_playback, MitmproxyDesktop config = {} run_local = True if os.environ.get('TOOLTOOLCACHE', None) is None: run_local = False def test_get_playback(get_binary): config['platform'] = mozinfo.os if 'win' in config['platform']: # this test is not yet supported on windows assert True return config['obj_path'] = os.path.dirname(get_binary('firefox')) config['playback_tool'] = 'mitmproxy' config['playback_binary_manifest'] = 'mitmproxy-rel-bin-osx.manifest' config['playback_pageset_manifest'] = 'mitmproxy-playback-set.manifest' config['playback_recordings'] = 'mitmproxy-recording-amazon.mp'
def setup_wptrunner_logging(logger): structuredlog.set_default_logger(logger) wptrunner.logger = logger wptrunner.wptlogging.setup_stdlib_logger()
try: from http.server import HTTPServer # py3 except ImportError: from BaseHTTPServer import HTTPServer # py2 from mozlog.structuredlog import set_default_logger, StructuredLogger from raptor.control_server import RaptorControlServer # need this so the raptor unit tests can find output & filter classes here = os.path.abspath(os.path.dirname(__file__)) raptor_dir = os.path.join(os.path.dirname(here), 'raptor') sys.path.insert(0, raptor_dir) from raptor.results import RaptorResultsHandler set_default_logger(StructuredLogger('test_control_server')) def test_start_and_stop(): results_handler = RaptorResultsHandler() control = RaptorControlServer(results_handler) assert control.server is None control.start() assert isinstance(control.server, HTTPServer) assert control.server.fileno() assert control._server_thread.is_alive() control.stop() assert not control._server_thread.is_alive()
from __future__ import absolute_import, unicode_literals import os import time import mozinfo import mozunit from mozlog.structuredlog import set_default_logger, StructuredLogger # need this so raptor imports work both from /raptor and via mach here = os.path.abspath(os.path.dirname(__file__)) set_default_logger(StructuredLogger("test_playback")) from mozproxy import get_playback from mozproxy.backends.mitm.desktop import MitmproxyDesktop config = {} run_local = True if os.environ.get("TOOLTOOLCACHE") is None: run_local = False def test_get_playback(get_binary): config["platform"] = mozinfo.os if "win" in config["platform"]: # this test is not yet supported on windows assert True return