diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 4d127d3c5..e9a970ca7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -26,7 +26,7 @@ repos: hooks: - id: flake8 language_version: python3 - additional_dependencies: [flake8-typing-imports] + additional_dependencies: [flake8-typing-imports==1.3.0] - repo: https://github.com/asottile/reorder_python_imports rev: v1.4.0 hooks: diff --git a/src/_pytest/compat.py b/src/_pytest/compat.py index 2d11231a4..596a8fd0f 100644 --- a/src/_pytest/compat.py +++ b/src/_pytest/compat.py @@ -9,6 +9,7 @@ import sys from contextlib import contextmanager from inspect import Parameter from inspect import signature +from typing import overload import attr import py @@ -347,3 +348,9 @@ class FuncargnamesCompatAttr: warnings.warn(FUNCARGNAMES, stacklevel=2) return self.fixturenames + + +if sys.version_info < (3, 5, 2): + + def overload(f): # noqa: F811 + return f diff --git a/src/_pytest/python_api.py b/src/_pytest/python_api.py index c5e06d491..f03d45ab7 100644 --- a/src/_pytest/python_api.py +++ b/src/_pytest/python_api.py @@ -1,7 +1,6 @@ import inspect import math import pprint -import sys from collections.abc import Iterable from collections.abc import Mapping from collections.abc import Sized @@ -14,7 +13,6 @@ from typing import Callable from typing import cast from typing import Generic from typing import Optional -from typing import overload from typing import Pattern from typing import Tuple from typing import TypeVar @@ -23,17 +21,13 @@ from typing import Union from more_itertools.more import always_iterable import _pytest._code +from _pytest.compat import overload from _pytest.compat import STRING_TYPES from _pytest.outcomes import fail if False: # TYPE_CHECKING from typing import Type # noqa: F401 (used in type string) -if sys.version_info <= (3, 5, 1): - - def overload(f): # noqa: F811 - return f - BASE_TYPE = (type, STRING_TYPES) diff --git a/src/_pytest/recwarn.py b/src/_pytest/recwarn.py index 27519fd46..58076d66b 100644 --- a/src/_pytest/recwarn.py +++ b/src/_pytest/recwarn.py @@ -1,6 +1,5 @@ """ recording warnings during test function execution. """ import re -import sys import warnings from types import TracebackType from typing import Any @@ -8,22 +7,17 @@ from typing import Callable from typing import Iterator from typing import List from typing import Optional -from typing import overload from typing import Pattern from typing import Tuple from typing import Union +from _pytest.compat import overload from _pytest.fixtures import yield_fixture from _pytest.outcomes import fail if False: # TYPE_CHECKING from typing import Type -if sys.version_info <= (3, 5, 1): - - def overload(f): # noqa: F811 - return f - @yield_fixture def recwarn():