コード例 #1
0
def setup_logging(log_f):
    global logger
    logger = structuredlog.StructuredLogger("firefox-os-cert-suite")
    logger.add_handler(
        handlers.StreamHandler(sys.stderr, formatters.MachFormatter()))

    logger.add_handler(
        handlers.StreamHandler(log_f, formatters.JSONFormatter()))
コード例 #2
0
def setup_logging(log_f):
    global logger
    logger = structuredlog.StructuredLogger("firefox-os-cert-suite")
    logger.add_handler(stdio_handler)
    logger.add_handler(
        handlers.StreamHandler(log_f, formatters.JSONFormatter()))
    set_default_logger(logger)
コード例 #3
0
 def setUp(self):
     self.position = 0
     self.logger = structuredlog.StructuredLogger("test_%s" % type(self).__name__)
     self.output_file = StringIO.StringIO()
     self.handler = handlers.StreamHandler(
         self.output_file, self.get_formatter())
     self.logger.add_handler(self.handler)
コード例 #4
0
ファイル: test_structured.py プロジェクト: msliu/gecko-dev
 def test_utf8str_write(self):
     with mozfile.NamedTemporaryFile() as logfile:
         _fmt = formatters.TbplFormatter()
         _handler = handlers.StreamHandler(logfile, _fmt)
         self.logger.add_handler(_handler)
         self.logger.suite_start([])
         self.logger.info("☺")
         logfile.seek(0)
         data = logfile.readlines()[-1].strip()
         self.assertEquals(data, "☺")
         self.logger.suite_end()
コード例 #5
0
 def test_utf8str_write(self):
     with mozfile.NamedTemporaryFile() as logfile:
         _fmt = formatters.TbplFormatter()
         _handler = handlers.StreamHandler(logfile, _fmt)
         self.logger.add_handler(_handler)
         self.logger.suite_start([])
         self.logger.info("☺")
         with open(logfile.name) as f:
             data = f.readlines()
             self.assertEquals(data[-1], "☺\n")
         self.logger.suite_end()
コード例 #6
0
    def run_test(self, suite, groups, temp_dir):
        logger.info('Running suite %s' % suite)

        def on_output(line):
            written = False
            if line.startswith("{"):
                try:
                    data = json.loads(line.strip())
                    if "action" in data:
                        sub_logger.log_raw(data)
                        written = True
                except ValueError:
                    pass
            if not written:
                logger.process_output(proc.pid,
                                      line.decode("utf8", "replace"),
                                      command=" ".join(cmd))

        try:
            cmd, output_files, structured_path = self.build_command(
                suite, groups, temp_dir)

            logger.debug(cmd)
            logger.debug(output_files)

            env = dict(os.environ)
            env['PYTHONUNBUFFERED'] = '1'
            proc = mozprocess.ProcessHandler(cmd,
                                             env=env,
                                             processOutputLine=on_output)
            logger.debug("Process '%s' is running" % " ".join(cmd))
            #TODO: move timeout handling to here instead of each test?
            with open(structured_path, "w") as structured_log:
                sub_logger = structuredlog.StructuredLogger(suite)
                sub_logger.add_handler(stdio_handler)
                sub_logger.add_handler(
                    handlers.StreamHandler(structured_log,
                                           formatters.JSONFormatter()))
                proc.run()
                proc.wait()
            logger.debug("Process finished")

        except Exception:
            logger.error("Error running suite %s:\n%s" %
                         (suite, traceback.format_exc()))
            raise
        finally:
            try:
                proc.kill()
            except:
                pass

        return output_files, structured_path
コード例 #7
0
ファイル: test_update.py プロジェクト: martapiekarska/gecko
    def create_log(self, *args, **kwargs):
        logger = structuredlog.StructuredLogger("expected_test")
        data = StringIO.StringIO()
        handler = handlers.StreamHandler(data, formatters.JSONFormatter())
        logger.add_handler(handler)

        log_entries = ([("suite_start", {
            "tests": [],
            "run_info": kwargs.get("run_info", {})
        })] + list(args) + [("suite_end", {})])

        for item in log_entries:
            action, kwargs = item
            getattr(logger, action)(**kwargs)
        logger.remove_handler(handler)
        data.seek(0)
        return data
コード例 #8
0
from mcts.utils.reportmanager import ReportManager
from mcts.utils.logger.logmanager import LogManager

import mcts.utils.report
from mcts.utils.report.results import KEY_MAIN

import mcts.utils.handlers.adb_b2g as adb_b2g
import mcts.utils.handlers.gaiautils as gaiautils

DeviceBackup = adb_b2g.DeviceBackup
_adbflag = False
_host = 'localhost'
_port = 2828
logger = None
remove_marionette_after_run = False
stdio_handler = handlers.StreamHandler(sys.stderr, formatters.MachFormatter())
config_path = os.path.abspath(
    os.path.join(os.path.dirname(__file__), "config.json"))

retry_path = 'retry.json'


def setup_logging(log_f):
    global logger
    logger = structuredlog.StructuredLogger("firefox-os-cert-suite")
    logger.add_handler(stdio_handler)
    logger.add_handler(
        handlers.StreamHandler(log_f, formatters.JSONFormatter()))
    set_default_logger(logger)

コード例 #9
0
 def setUp(self):
     self.logger = structuredlog.StructuredLogger("test")
     self.output_file = StringIO.StringIO()
     self.handler = handlers.StreamHandler(
         self.output_file, formatters.MachFormatter(disable_colors=True))
     self.logger.add_handler(self.handler)
コード例 #10
0
ファイル: main.py プロジェクト: luser/fxos-certsuite
def create_logger():
    logger = structuredlog.StructuredLogger("unknown")
    logger.add_handler(
        handlers.StreamHandler(sys.stdout, formatters.JSONFormatter()))
    return logger