Ejemplo n.º 1
0
def pytest_runtest_logreport(report):
    # e.g. test_tracking['test_name']['setup'] = 'passed'
    #      test_tracking['test_name']['call'] = 'skipped'
    #      test_tracking['test_name']['teardown'] = 'failed'
    yield
    test_tracking[_format_nodeid(report.nodeid, False)][report.when] = report.outcome
    if report.when == 'teardown':
        path, lineno, domaininfo = report.location
        test_status = _test_status(_format_nodeid(report.nodeid, False))
        if test_status == "failed":
            appliance = get_or_create_current_appliance()
            try:
                logger().info(
                    "Managed providers: {}".format(
                        ", ".join([
                            prov.key for prov in
                            appliance.managed_known_providers]))
                )
            except KeyError as ex:
                if 'ext_management_systems' in ex.msg:
                    logger().warning("Unable to query ext_management_systems table; DB issue")
                else:
                    raise
        logger().info(log.format_marker('{} result: {}'.format(_format_nodeid(report.nodeid),
                test_status)),
            extra={'source_file': path, 'source_lineno': lineno})
    if report.outcome == "skipped":
        logger().info(log.format_marker(report.longreprtext))
Ejemplo n.º 2
0
 def pytest_runtest_logreport(self, report):
     # e.g. test_tracking['test_name']['setup'] = 'passed'
     #      test_tracking['test_name']['call'] = 'skipped'
     #      test_tracking['test_name']['teardown'] = 'failed'
     yield
     test_tracking[_format_nodeid(report.nodeid,
                                  False)][report.when] = report.outcome
     if report.when == 'teardown' and store.parallel_session is None:
         path, lineno, domaininfo = report.location
         test_status = _test_status(_format_nodeid(report.nodeid, False))
         if test_status == "failed":
             try:
                 log.logger.info("Managed providers: {}".format(", ".join(
                     self.managed_known_providers)))
             except KeyError as ex:
                 if 'ext_management_systems' in ex.msg:
                     log.logger.warning(
                         "Unable to query ext_management_systems table; DB issue"
                     )
                 else:
                     raise
         log.logger.info(log.format_marker('{} result: {}'.format(
             _format_nodeid(report.nodeid), test_status)),
                         extra={
                             'source_file': path,
                             'source_lineno': lineno
                         })
     if report.outcome == "skipped":
         log.logger.info(log.format_marker(report.longreprtext))
Ejemplo n.º 3
0
    def pytest_runtest_logreport(self, report):
        """pytest runtest logreport hook

        - sends serialized log reports to the master

        """
        self.send_event("runtest_logreport", report=serialize_report(report))
        if report.when == 'teardown':
            path, lineno, domaininfo = report.location
            test_status = _test_status(_format_nodeid(report.nodeid, False))
            if test_status == "failed":
                appliance = get_or_create_current_appliance()
                try:
                    self.log.info("Managed providers: {}".format(", ".join([
                        prov.key for prov in appliance.managed_known_providers
                    ])))
                except KeyError as ex:
                    if 'ext_management_systems' in ex.msg:
                        self.log.warning(
                            "Unable to query ext_management_systems table; DB issue"
                        )
                    else:
                        raise
            self.log.info(log.format_marker('{} result: {}'.format(
                _format_nodeid(report.nodeid), test_status)),
                          extra={
                              'source_file': path,
                              'source_lineno': lineno
                          })
        if report.outcome == "skipped":
            self.log.info(log.format_marker(report.longreprtext))
Ejemplo n.º 4
0
    def pytest_runtest_logreport(self, report):
        """pytest runtest logreport hook

        - sends serialized log reports to the master

        """
        self.send_event("runtest_logreport", report=serialize_report(report))
        if report.when == 'teardown':
            path, lineno, domaininfo = report.location
            test_status = _test_status(_format_nodeid(report.nodeid, False))
            if test_status == "failed":
                appliance = get_or_create_current_appliance()
                try:
                    self.log.info(
                        "Managed providers: {}".format(
                            ", ".join([
                                prov.key for prov in
                                appliance.managed_known_providers]))
                    )
                except KeyError as ex:
                    if 'ext_management_systems' in ex.msg:
                        self.log.warning("Unable to query ext_management_systems table; DB issue")
                    else:
                        raise
            self.log.info(log.format_marker('{} result: {}'.format(_format_nodeid(report.nodeid),
                                                                   test_status)),
                          extra={'source_file': path, 'source_lineno': lineno})
        if report.outcome == "skipped":
            self.log.info(log.format_marker(report.longreprtext))
Ejemplo n.º 5
0
def pytest_sessionfinish(session, exitstatus):
    c = collections.Counter()
    for test in test_tracking:
        c[_test_status(test)] += 1
    # Prepend a total to the summary list
    results = ['total: {}'.format(sum(c.values()))
               ] + ['{}: {}'.format(k, v) for k, v in c.items()]
    # Then join it with commas
    summary = ', '.join(results)
    log.logger.info(log.format_marker('Finished test run', mark='='))
    log.logger.info(log.format_marker(str(summary), mark='='))
Ejemplo n.º 6
0
def pytest_sessionfinish(session, exitstatus):
    c = collections.Counter()
    for test in test_tracking:
        c[_test_status(test)] += 1
    # Prepend a total to the summary list
    results = ['total: {}'.format(sum(c.values()))] + map(
        lambda n: '{}: {}'.format(n[0], n[1]), c.items())
    # Then join it with commas
    summary = ', '.join(results)
    logger().info(log.format_marker('Finished test run', mark='='))
    logger().info(log.format_marker(str(summary), mark='='))
Ejemplo n.º 7
0
def pytest_runtest_setup(item):
    path, lineno, domaininfo = item.location
    log.logger.info(log.format_marker(_format_nodeid(item.nodeid), mark="-"),
                    extra={
                        'source_file': path,
                        'source_lineno': lineno
                    })
    yield
Ejemplo n.º 8
0
def pytest_collection_modifyitems(session, config, items):
    log.logger.info(log.format_marker('Starting new test run', mark="="))
    expression = config.getvalue('keyword') or False
    expr_string = ', will filter with "{}"'.format(
        expression) if expression else ''
    log.logger.info('Collected {} items{}'.format(len(items), expr_string))
Ejemplo n.º 9
0
def pytest_collection_modifyitems(session, config, items):
    logger().info(log.format_marker('Starting new test run', mark="="))
    expression = config.getvalue('keyword') or False
    expr_string = ', will filter with "{}"'.format(expression) if expression else ''
    logger().info('Collected {} items{}'.format(len(items), expr_string))
Ejemplo n.º 10
0
def pytest_runtest_setup(item):
    path, lineno, domaininfo = item.location
    logger().info(log.format_marker(_format_nodeid(item.nodeid), mark="-"),
        extra={'source_file': path, 'source_lineno': lineno})
    yield