Skip to content

Commit a36e7ca

Browse files
committed
Created generic skip_if_no dec; converted pathlib decs
1 parent 265e327 commit a36e7ca

File tree

5 files changed

+13
-13
lines changed

5 files changed

+13
-13
lines changed

pandas/tests/io/sas/test_sas7bdat.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import pandas as pd
22
from pandas.compat import PY2
33
import pandas.util.testing as tm
4+
import pandas.util._test_decorators as td
45
from pandas.errors import EmptyDataError
56
import os
67
import io
@@ -71,8 +72,8 @@ def test_from_iterator(self):
7172
tm.assert_frame_equal(df, df0.iloc[2:5, :])
7273
rdr.close()
7374

75+
@td.skip_if_no('pathlib')
7476
def test_path_pathlib(self):
75-
tm._skip_if_no_pathlib()
7677
from pathlib import Path
7778
for j in 0, 1:
7879
df0 = self.data[j]

pandas/tests/io/test_common.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import pandas as pd
1010
import pandas.util.testing as tm
11+
import pandas.util._test_decorators as td
1112

1213
from pandas.io import common
1314
from pandas.compat import is_platform_windows, StringIO, FileNotFoundError
@@ -67,9 +68,8 @@ def test_expand_user_normal_path(self):
6768
assert expanded_name == filename
6869
assert os.path.expanduser(filename) == expanded_name
6970

71+
@td.skip_if_no('pathlib')
7072
def test_stringify_path_pathlib(self):
71-
tm._skip_if_no_pathlib()
72-
7373
rel_path = common._stringify_path(Path('.'))
7474
assert rel_path == '.'
7575
redundant_path = common._stringify_path(Path('foo//bar'))

pandas/tests/io/test_excel.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
import pandas as pd
1515
import pandas.util.testing as tm
16+
import pandas.util._test_decorators as td
1617
from pandas import DataFrame, Index, MultiIndex
1718
from pandas.compat import u, range, map, BytesIO, iteritems
1819
from pandas.core.config import set_option, get_option
@@ -650,11 +651,10 @@ def test_read_from_file_url(self):
650651

651652
tm.assert_frame_equal(url_table, local_table)
652653

654+
@td.skip_if_no('pathlib')
653655
def test_read_from_pathlib_path(self):
654656

655657
# GH12655
656-
tm._skip_if_no_pathlib()
657-
658658
from pathlib import Path
659659

660660
str_path = os.path.join(self.dirpath, 'test1' + self.ext)

pandas/util/_test_decorators.py

+7
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,13 @@ def _skip_if_not_us_locale():
9494
return True
9595

9696

97+
def skip_if_no(package, min_version=None):
98+
def decorated_func(func):
99+
return pytest.mark.skipif(not safe_import(package, min_version=min_version),
100+
reason="Could not import '{}'".format(package))(func)
101+
return decorated_func
102+
103+
97104
skip_if_no_mpl = pytest.mark.skipif(_skip_if_no_mpl(),
98105
reason="Missing matplotlib dependency")
99106
skip_if_mpl_1_5 = pytest.mark.skipif(_skip_if_mpl_1_5(),

pandas/util/testing.py

-8
Original file line numberDiff line numberDiff line change
@@ -359,14 +359,6 @@ def _skip_if_no_xarray():
359359
pytest.skip("xarray version is too low: {version}".format(version=v))
360360

361361

362-
def _skip_if_no_pathlib():
363-
try:
364-
from pathlib import Path # noqa
365-
except ImportError:
366-
import pytest
367-
pytest.skip("pathlib not available")
368-
369-
370362
def _skip_if_no_localpath():
371363
try:
372364
from py.path import local as LocalPath # noqa

0 commit comments

Comments
 (0)