summaryrefslogtreecommitdiff
path: root/testing/test_pytester.py
diff options
context:
space:
mode:
authorRan Benita <ran@unusedvar.com>2020-08-03 19:15:21 +0300
committerRan Benita <ran@unusedvar.com>2020-08-04 09:59:46 +0300
commit9ab14c6d9cc8318f62d14e0c49ca37a13972bd0e (patch)
tree2f8d1153454591e2e5d284d92b5bb996a00f488d /testing/test_pytester.py
parent0dd5e169d0cfab2bee64fb6f463449d9347c489a (diff)
downloadpytest-9ab14c6d9cc8318f62d14e0c49ca37a13972bd0e.tar.gz
typing: set warn_unreachable
This makes mypy raise an error whenever it detects code which is statically unreachable, e.g. x: int if isinstance(x, str): ... # Statement is unreachable [unreachable] This is really neat and finds quite a few logic and typing bugs. Sometimes the code is intentionally unreachable in terms of types, e.g. raising TypeError when a function is given an argument with a wrong type. In these cases a `type: ignore[unreachable]` is needed, but I think it's a nice code hint.
Diffstat (limited to 'testing/test_pytester.py')
-rw-r--r--testing/test_pytester.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/testing/test_pytester.py b/testing/test_pytester.py
index 5259b4484..46fab0ce8 100644
--- a/testing/test_pytester.py
+++ b/testing/test_pytester.py
@@ -23,7 +23,9 @@ def test_make_hook_recorder(testdir) -> None:
recorder = testdir.make_hook_recorder(item.config.pluginmanager)
assert not recorder.getfailures()
- pytest.xfail("internal reportrecorder tests need refactoring")
+ # (The silly condition is to fool mypy that the code below this is reachable)
+ if 1 + 1 == 2:
+ pytest.xfail("internal reportrecorder tests need refactoring")
class rep:
excinfo = None