From 5ebcb34fb595c7652ccda889f69b2d4e3ca6443b Mon Sep 17 00:00:00 2001 From: Florian Dahlitz Date: Mon, 25 May 2020 20:19:28 +0200 Subject: [PATCH] Move ConftestImportFailure check to correct position and add typing --- src/_pytest/nodes.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/_pytest/nodes.py b/src/_pytest/nodes.py index 4c2a0a3a7..5aae211cd 100644 --- a/src/_pytest/nodes.py +++ b/src/_pytest/nodes.py @@ -332,17 +332,21 @@ class Node(metaclass=NodeMeta): pass def _repr_failure_py( - self, excinfo: ExceptionInfo[Union[Failed, FixtureLookupError]], style=None + self, + excinfo: ExceptionInfo[ + Union[Failed, FixtureLookupError, ConftestImportFailure] + ], + style=None, ) -> Union[str, ReprExceptionInfo, ExceptionChainRepr, FixtureLookupErrorRepr]: if isinstance(excinfo.value, fail.Exception): if not excinfo.value.pytrace: return str(excinfo.value) if isinstance(excinfo.value, FixtureLookupError): return excinfo.value.formatrepr() + if isinstance(excinfo.value, ConftestImportFailure): + excinfo = ExceptionInfo(excinfo.value.excinfo) # type: ignore if self.config.getoption("fulltrace", False): style = "long" - if excinfo.type is ConftestImportFailure: # type: ignore - excinfo = ExceptionInfo.from_exc_info(excinfo.value.excinfo) # type: ignore else: tb = _pytest._code.Traceback([excinfo.traceback[-1]]) self._prunetraceback(excinfo)