def test_callinfo(): ci = runner.CallInfo(lambda: 0, '123') assert ci.when == "123" assert ci.result == 0 assert "result" in repr(ci) ci = runner.CallInfo(lambda: 0 / 0, '123') assert ci.when == "123" assert not hasattr(ci, 'result') assert ci.excinfo assert "exc" in repr(ci)
def test_callinfo(): ci = runner.CallInfo(lambda: 0, "123") assert ci.when == "123" assert ci.result == 0 assert "result" in repr(ci) ci = runner.CallInfo(lambda: 0 / 0, "123") assert ci.when == "123" assert ci.result is None assert ci.excinfo assert "exc" in repr(ci)
def pytest_make_collect_report(collector): call = runner.CallInfo(lambda: list(collector.collect()), 'collect') longrepr = None if not call.excinfo: outcome = "passed" else: from _pytest import nose from _pytest.outcomes import Skipped skip_exceptions = (Skipped, ) + nose.get_skip_exceptions() if call.excinfo.errisinstance(KeyError): outcome = "skipped" r = collector._repr_failure_py(call.excinfo, "line").reprcrash message = "{} not configured in user_opts.py".format( r.message.split()[-1]) longrepr = (str(r.path), r.lineno, message) elif call.excinfo.errisinstance(skip_exceptions): outcome = "skipped" r = collector._repr_failure_py(call.excinfo, "line").reprcrash longrepr = (str(r.path), r.lineno, r.message) else: outcome = "failed" errorinfo = collector.repr_failure(call.excinfo) if not hasattr(errorinfo, "toterminal"): errorinfo = runner.CollectErrorRepr(errorinfo) longrepr = errorinfo rep = runner.CollectReport(collector.nodeid, outcome, longrepr, getattr(call, 'result', None)) rep.call = call # see collect_one_node return rep
def call_runtest_hook(item, when, **kwargs): ret = saved(item, when, **kwargs) teardown = runner.CallInfo(flexmock_teardown, when=when) if when == 'call' and not ret.excinfo: teardown.result = None return teardown else: return ret
def report_process_crash(item, result): path, lineno = item._getfslineno() info = "%s:%s: running the test CRASHED with signal %d" %( path, lineno, result.signal) from _pytest import runner call = runner.CallInfo(lambda: 0/0, "???") call.excinfo = info rep = runner.pytest_runtest_makereport(item, call) return rep
def report_process_crash(item, result): path, lineno = item._getfslineno() info = ("%s:%s: running the test CRASHED with signal %d" % (path, lineno, result.signal)) from _pytest import runner call = runner.CallInfo(lambda: 0/0, "???") call.excinfo = info rep = runner.pytest_runtest_makereport(item, call) if result.out: rep.sections.append(("captured stdout", result.out)) if result.err: rep.sections.append(("captured stderr", result.err)) return rep
def report_process_crash(item, result): from _pytest._code import getfslineno path, lineno = getfslineno(item) info = "%s:%s: running the test CRASHED with signal %d" % ( path, lineno, result.signal, ) from _pytest import runner # pytest >= 4.1 has_from_call = getattr(runner.CallInfo, "from_call", None) is not None if has_from_call: call = runner.CallInfo.from_call(lambda: 0 / 0, "???") else: call = runner.CallInfo(lambda: 0 / 0, "???") call.excinfo = info rep = runner.pytest_runtest_makereport(item, call) if result.out: rep.sections.append(("captured stdout", result.out)) if result.err: rep.sections.append(("captured stderr", result.err)) xfail_marker = item.get_closest_marker("xfail") if not xfail_marker: return rep rep.outcome = "skipped" rep.wasxfail = ("reason: {xfail_reason}; " "pytest-forked reason: {crash_info}".format( xfail_reason=xfail_marker.kwargs["reason"], crash_info=info, )) warnings.warn( "pytest-forked xfail support is incomplete at the moment and may " "output a misleading reason message", RuntimeWarning, ) return rep
def report_process_crash(item, result): try: from _pytest.compat import getfslineno except ImportError: # pytest<4.2 path, lineno = item._getfslineno() else: path, lineno = getfslineno(item) info = ("%s:%s: running the test CRASHED with signal %d" % (path, lineno, result.signal)) from _pytest import runner # pytest >= 4.1 has_from_call = getattr(runner.CallInfo, "from_call", None) is not None if has_from_call: call = runner.CallInfo.from_call(lambda: 0 / 0, "???") else: call = runner.CallInfo(lambda: 0 / 0, "???") call.excinfo = info rep = runner.pytest_runtest_makereport(item, call) if result.out: rep.sections.append(("captured stdout", result.out)) if result.err: rep.sections.append(("captured stderr", result.err)) return rep