summaryrefslogtreecommitdiff
path: root/src/_pytest/runner.py
diff options
context:
space:
mode:
authorRan Benita <ran@unusedvar.com>2020-08-01 10:28:39 +0300
committerRan Benita <ran@unusedvar.com>2020-08-04 22:52:24 +0300
commitfbf251f11d22fe35fc9aa48bdd04b6625e9d9123 (patch)
tree5716c54458f33b1ce9625768de3fedf7a7b234c5 /src/_pytest/runner.py
parentf0eb82f7d40281c28b94239e85b95918d1d7aeb9 (diff)
downloadpytest-fbf251f11d22fe35fc9aa48bdd04b6625e9d9123.tar.gz
Improve typing of reports' longrepr field
Diffstat (limited to 'src/_pytest/runner.py')
-rw-r--r--src/_pytest/runner.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/_pytest/runner.py b/src/_pytest/runner.py
index 4923406b9..4089fc689 100644
--- a/src/_pytest/runner.py
+++ b/src/_pytest/runner.py
@@ -2,7 +2,6 @@
import bdb
import os
import sys
-from typing import Any
from typing import Callable
from typing import cast
from typing import Dict
@@ -22,6 +21,7 @@ from .reports import TestReport
from _pytest import timing
from _pytest._code.code import ExceptionChainRepr
from _pytest._code.code import ExceptionInfo
+from _pytest._code.code import TerminalRepr
from _pytest.compat import TYPE_CHECKING
from _pytest.config.argparsing import Parser
from _pytest.nodes import Collector
@@ -327,8 +327,7 @@ def pytest_runtest_makereport(item: Item, call: CallInfo[None]) -> TestReport:
def pytest_make_collect_report(collector: Collector) -> CollectReport:
call = CallInfo.from_call(lambda: list(collector.collect()), "collect")
- # TODO: Better typing for longrepr.
- longrepr = None # type: Optional[Any]
+ longrepr = None # type: Union[None, Tuple[str, int, str], str, TerminalRepr]
if not call.excinfo:
outcome = "passed" # type: Literal["passed", "skipped", "failed"]
else:
@@ -348,6 +347,7 @@ def pytest_make_collect_report(collector: Collector) -> CollectReport:
outcome = "failed"
errorinfo = collector.repr_failure(call.excinfo)
if not hasattr(errorinfo, "toterminal"):
+ assert isinstance(errorinfo, str)
errorinfo = CollectErrorRepr(errorinfo)
longrepr = errorinfo
result = call.result if not call.excinfo else None