From 599500f610b7e0e4d971c39ee9f422a5af7b1cb4 Mon Sep 17 00:00:00 2001 From: MomIsBestFriend <> Date: Thu, 30 Jan 2020 16:31:04 +0200 Subject: [PATCH 1/3] TYP: Type annotaion --- pandas/util/_test_decorators.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pandas/util/_test_decorators.py b/pandas/util/_test_decorators.py index d8804994af426..11f2d5285e4c9 100644 --- a/pandas/util/_test_decorators.py +++ b/pandas/util/_test_decorators.py @@ -23,6 +23,7 @@ def test_foo(): For more information, refer to the ``pytest`` documentation on ``skipif``. """ + from distutils.version import LooseVersion from functools import wraps import locale @@ -30,6 +31,7 @@ def test_foo(): import numpy as np import pytest +from pytest.mark.structures import MarkDecorator from pandas.compat import is_platform_32bit, is_platform_windows from pandas.compat._optional import import_optional_dependency @@ -120,7 +122,7 @@ def _skip_if_no_scipy() -> bool: ) -def skip_if_installed(package: str) -> Callable: +def skip_if_installed(package: str) -> MarkDecorator: """ Skip a test if a package is installed. @@ -134,7 +136,7 @@ def skip_if_installed(package: str) -> Callable: ) -def skip_if_no(package: str, min_version: Optional[str] = None) -> Callable: +def skip_if_no(package: str, min_version: Optional[str] = None) -> MarkDecorator: """ Generic function to help skip tests when required packages are not present on the testing system. @@ -196,9 +198,7 @@ def skip_if_no(package: str, min_version: Optional[str] = None) -> Callable: ) -def skip_if_np_lt( - ver_str: str, reason: Optional[str] = None, *args, **kwds -) -> Callable: +def skip_if_np_lt(ver_str: str, reason: Optional[str] = None, *args, **kwds) -> MarkDecorator: if reason is None: reason = f"NumPy {ver_str} or greater required" return pytest.mark.skipif( @@ -254,7 +254,7 @@ def new_func(*args, **kwargs): return new_func -def async_mark(): +def async_mark() -> MarkDecorator: try: import_optional_dependency("pytest_asyncio") async_mark = pytest.mark.asyncio From a954c1b6bce02c631f7b2045e1dbf629122aab35 Mon Sep 17 00:00:00 2001 From: MomIsBestFriend <> Date: Thu, 30 Jan 2020 17:09:16 +0200 Subject: [PATCH 2/3] Fix importing --- pandas/util/_test_decorators.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pandas/util/_test_decorators.py b/pandas/util/_test_decorators.py index 11f2d5285e4c9..050a3bd55c140 100644 --- a/pandas/util/_test_decorators.py +++ b/pandas/util/_test_decorators.py @@ -29,9 +29,9 @@ def test_foo(): import locale from typing import Callable, Optional +from _pytest.mark.structures import MarkDecorator import numpy as np import pytest -from pytest.mark.structures import MarkDecorator from pandas.compat import is_platform_32bit, is_platform_windows from pandas.compat._optional import import_optional_dependency From 8ca8822a4ae5a4cfac4783a6f72df6b88fa24fa5 Mon Sep 17 00:00:00 2001 From: MomIsBestFriend <> Date: Thu, 30 Jan 2020 17:52:35 +0200 Subject: [PATCH 3/3] Black --- pandas/util/_test_decorators.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pandas/util/_test_decorators.py b/pandas/util/_test_decorators.py index 050a3bd55c140..b944ed48e2210 100644 --- a/pandas/util/_test_decorators.py +++ b/pandas/util/_test_decorators.py @@ -198,7 +198,9 @@ def skip_if_no(package: str, min_version: Optional[str] = None) -> MarkDecorator ) -def skip_if_np_lt(ver_str: str, reason: Optional[str] = None, *args, **kwds) -> MarkDecorator: +def skip_if_np_lt( + ver_str: str, reason: Optional[str] = None, *args, **kwds +) -> MarkDecorator: if reason is None: reason = f"NumPy {ver_str} or greater required" return pytest.mark.skipif(