Skip to content

Commit de2e7cc

Browse files
committed
Merge pull request #7696 from jreback/skips
TST/CLN: centralize numpy < 1.7 skips
2 parents e131df1 + 9462463 commit de2e7cc

16 files changed

+55
-84
lines changed

pandas/io/tests/test_json/test_pandas.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import numpy as np
77
import nose
8-
from pandas import Series, DataFrame, DatetimeIndex, Timestamp, _np_version_under1p7
8+
from pandas import Series, DataFrame, DatetimeIndex, Timestamp
99
import pandas as pd
1010
read_json = pd.read_json
1111

@@ -601,8 +601,7 @@ def test_url(self):
601601
self.assertEqual(result[c].dtype, 'datetime64[ns]')
602602

603603
def test_timedelta(self):
604-
if _np_version_under1p7:
605-
raise nose.SkipTest("numpy < 1.7")
604+
tm._skip_if_not_numpy17_friendly()
606605

607606
from datetime import timedelta
608607
converter = lambda x: pd.to_timedelta(x,unit='ms')

pandas/io/tests/test_pytables.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2061,11 +2061,7 @@ def compare(a,b):
20612061
def test_append_with_timezones_dateutil(self):
20622062

20632063
from datetime import timedelta
2064-
2065-
try:
2066-
import dateutil
2067-
except ImportError:
2068-
raise nose.SkipTest
2064+
tm._skip_if_no_dateutil()
20692065

20702066
# use maybe_get_tz instead of dateutil.tz.gettz to handle the windows filename issues.
20712067
from pandas.tslib import maybe_get_tz
@@ -2186,8 +2182,7 @@ def setTZ(tz):
21862182
setTZ(orig_tz)
21872183

21882184
def test_append_with_timedelta(self):
2189-
if _np_version_under1p7:
2190-
raise nose.SkipTest("requires numpy >= 1.7")
2185+
tm._skip_if_not_numpy17_friendly()
21912186

21922187
# GH 3577
21932188
# append timedelta

pandas/io/tests/test_sql.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -509,8 +509,7 @@ def test_date_and_index(self):
509509

510510
def test_timedelta(self):
511511
# see #6921
512-
if _np_version_under1p7:
513-
raise nose.SkipTest("test only valid in numpy >= 1.7")
512+
tm._skip_if_not_numpy17_friendly()
514513

515514
df = to_timedelta(Series(['00:00:01', '00:00:03'], name='foo')).to_frame()
516515
with tm.assert_produces_warning(UserWarning):
@@ -659,7 +658,7 @@ def test_not_reflect_all_tables(self):
659658
self.conn.execute(qry)
660659
qry = """CREATE TABLE other_table (x INTEGER, y INTEGER);"""
661660
self.conn.execute(qry)
662-
661+
663662
with warnings.catch_warnings(record=True) as w:
664663
# Cause all warnings to always be triggered.
665664
warnings.simplefilter("always")

pandas/tests/test_base.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,7 @@ def setUp(self):
198198
self.not_valid_objs = [ o for o in self.objs if not o._allow_index_ops ]
199199

200200
def test_ops(self):
201-
if _np_version_under1p7:
202-
raise nose.SkipTest("test only valid in numpy >= 1.7")
201+
tm._skip_if_not_numpy17_friendly()
203202
for op in ['max','min']:
204203
for o in self.objs:
205204
result = getattr(o,op)()

pandas/tests/test_format.py

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,6 @@ def has_expanded_repr(df):
8080
return True
8181
return False
8282

83-
def skip_if_np_version_under1p7():
84-
if _np_version_under1p7:
85-
import nose
86-
87-
raise nose.SkipTest('numpy >= 1.7 required')
88-
89-
9083
class TestDataFrameFormatting(tm.TestCase):
9184
_multiprocess_can_split_ = True
9285

@@ -2736,7 +2729,7 @@ def test_format(self):
27362729
class TestRepr_timedelta64(tm.TestCase):
27372730
@classmethod
27382731
def setUpClass(cls):
2739-
skip_if_np_version_under1p7()
2732+
tm._skip_if_not_numpy17_friendly()
27402733

27412734
def test_legacy(self):
27422735
delta_1d = pd.to_timedelta(1, unit='D')
@@ -2784,7 +2777,7 @@ def test_long(self):
27842777
class TestTimedelta64Formatter(tm.TestCase):
27852778
@classmethod
27862779
def setUpClass(cls):
2787-
skip_if_np_version_under1p7()
2780+
tm._skip_if_not_numpy17_friendly()
27882781

27892782
def test_mixed(self):
27902783
x = pd.to_timedelta(list(range(5)) + [pd.NaT], unit='D')

pandas/tests/test_frame.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@
3232
import pandas.core.format as fmt
3333
import pandas.core.datetools as datetools
3434
from pandas import (DataFrame, Index, Series, notnull, isnull,
35-
MultiIndex, DatetimeIndex, Timestamp, date_range, read_csv,
36-
_np_version_under1p7)
35+
MultiIndex, DatetimeIndex, Timestamp, date_range, read_csv)
3736
import pandas as pd
3837
from pandas.parser import CParserError
3938
from pandas.util.misc import is_little_endian
@@ -3772,8 +3771,7 @@ def test_operators_timedelta64(self):
37723771
self.assertTrue(df['off2'].dtype == 'timedelta64[ns]')
37733772

37743773
def test_datetimelike_setitem_with_inference(self):
3775-
if _np_version_under1p7:
3776-
raise nose.SkipTest("numpy < 1.7")
3774+
tm._skip_if_not_numpy17_friendly()
37773775

37783776
# GH 7592
37793777
# assignment of timedeltas with NaT
@@ -13036,6 +13034,7 @@ def test_select_dtypes_exclude_include(self):
1303613034
tm.assert_frame_equal(r, e)
1303713035

1303813036
def test_select_dtypes_not_an_attr_but_still_valid_dtype(self):
13037+
tm._skip_if_not_numpy17_friendly()
1303913038
df = DataFrame({'a': list('abc'),
1304013039
'b': list(range(1, 4)),
1304113040
'c': np.arange(3, 6).astype('u1'),

pandas/tests/test_generic.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import pandas as pd
88

99
from pandas import (Index, Series, DataFrame, Panel,
10-
isnull, notnull,date_range, _np_version_under1p7)
10+
isnull, notnull,date_range)
1111
from pandas.core.index import Index, MultiIndex
1212

1313
import pandas.core.common as com
@@ -160,8 +160,7 @@ def f():
160160
self.assertRaises(ValueError, lambda : not obj1)
161161

162162
def test_numpy_1_7_compat_numeric_methods(self):
163-
if _np_version_under1p7:
164-
raise nose.SkipTest("numpy < 1.7")
163+
tm._skip_if_not_numpy17_friendly()
165164

166165
# GH 4435
167166
# numpy in 1.7 tries to pass addtional arguments to pandas functions

pandas/tests/test_index.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,6 @@
3232

3333
from pandas import _np_version_under1p7
3434

35-
def _skip_if_need_numpy_1_7():
36-
if _np_version_under1p7:
37-
raise nose.SkipTest('numpy >= 1.7 required')
38-
39-
4035
class TestIndex(tm.TestCase):
4136
_multiprocess_can_split_ = True
4237

@@ -340,7 +335,7 @@ def test_asof(self):
340335
tm.assert_isinstance(self.dateIndex.asof(d), Timestamp)
341336

342337
def test_nanosecond_index_access(self):
343-
_skip_if_need_numpy_1_7()
338+
tm._skip_if_not_numpy17_friendly()
344339

345340
s = Series([Timestamp('20130101')]).values.view('i8')[0]
346341
r = DatetimeIndex([s + 50 + i for i in range(100)])

pandas/tests/test_series.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2721,8 +2721,7 @@ def test_timedelta64_operations_with_integers(self):
27212721
self.assertRaises(TypeError, sop, s2.values)
27222722

27232723
def test_timedelta64_conversions(self):
2724-
if _np_version_under1p7:
2725-
raise nose.SkipTest("cannot use 2 argument form of timedelta64 conversions with numpy < 1.7")
2724+
tm._skip_if_not_numpy17_friendly()
27262725

27272726
startdate = Series(date_range('2013-01-01', '2013-01-03'))
27282727
enddate = Series(date_range('2013-03-01', '2013-03-03'))
@@ -2835,8 +2834,7 @@ def run_ops(ops, get_ser, test_ser):
28352834
dt1 + td1
28362835

28372836
def test_ops_datetimelike_align(self):
2838-
if _np_version_under1p7:
2839-
raise nose.SkipTest("timedelta broken in np < 1.7")
2837+
tm._skip_if_not_numpy17_friendly()
28402838

28412839
# GH 7500
28422840
# datetimelike ops need to align
@@ -2899,8 +2897,7 @@ def test_timedelta64_functions(self):
28992897
assert_series_equal(result, expected)
29002898

29012899
def test_timedelta_fillna(self):
2902-
if _np_version_under1p7:
2903-
raise nose.SkipTest("timedelta broken in np 1.6.1")
2900+
tm._skip_if_not_numpy17_friendly()
29042901

29052902
#GH 3371
29062903
s = Series([Timestamp('20130101'), Timestamp('20130101'),
@@ -3107,8 +3104,7 @@ def test_bfill(self):
31073104
assert_series_equal(ts.bfill(), ts.fillna(method='bfill'))
31083105

31093106
def test_sub_of_datetime_from_TimeSeries(self):
3110-
if _np_version_under1p7:
3111-
raise nose.SkipTest("timedelta broken in np 1.6.1")
3107+
tm._skip_if_not_numpy17_friendly()
31123108

31133109
from pandas.tseries.timedeltas import _possibly_cast_to_timedelta
31143110
from datetime import datetime

pandas/tools/tests/test_merge.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -812,8 +812,7 @@ def test_join_append_timedeltas(self):
812812

813813
# timedelta64 issues with join/merge
814814
# GH 5695
815-
if _np_version_under1p7:
816-
raise nose.SkipTest("numpy < 1.7")
815+
tm._skip_if_not_numpy17_friendly()
817816

818817
d = {'d': dt.datetime(2013, 11, 5, 5, 56), 't': dt.timedelta(0, 22500)}
819818
df = DataFrame(columns=list('dt'))
@@ -2005,9 +2004,7 @@ def test_concat_datetime64_block(self):
20052004
def test_concat_timedelta64_block(self):
20062005

20072006
# not friendly for < 1.7
2008-
if _np_version_under1p7:
2009-
raise nose.SkipTest("numpy < 1.7")
2010-
2007+
tm._skip_if_not_numpy17_friendly()
20112008
from pandas import to_timedelta
20122009

20132010
rng = to_timedelta(np.arange(10),unit='s')

pandas/tseries/tests/test_frequencies.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,7 @@ def test_microsecond(self):
137137
self._check_tick(timedelta(microseconds=1), 'U')
138138

139139
def test_nanosecond(self):
140-
if _np_version_under1p7:
141-
raise nose.SkipTest("requires numpy >= 1.7 to run")
140+
tm._skip_if_not_numpy17_friendly()
142141
self._check_tick(np.timedelta64(1, 'ns'), 'N')
143142

144143
def _check_tick(self, base_delta, code):

pandas/tseries/tests/test_offsets.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ def setUp(self):
180180
'Milli': Timestamp('2011-01-01 09:00:00.001000'),
181181
'Micro': Timestamp('2011-01-01 09:00:00.000001'),
182182
'Nano': Timestamp(np.datetime64('2011-01-01T09:00:00.000000001Z'))}
183-
183+
184184
self.timezones = ['UTC', 'Asia/Tokyo', 'US/Eastern']
185185

186186
def test_return_type(self):
@@ -2782,8 +2782,8 @@ def test_Microsecond():
27822782

27832783

27842784
def test_NanosecondGeneric():
2785-
if _np_version_under1p7:
2786-
raise nose.SkipTest('numpy >= 1.7 required')
2785+
tm._skip_if_not_numpy17_friendly()
2786+
27872787
timestamp = Timestamp(datetime(2010, 1, 1))
27882788
assert timestamp.nanosecond == 0
27892789

@@ -2795,8 +2795,7 @@ def test_NanosecondGeneric():
27952795

27962796

27972797
def test_Nanosecond():
2798-
if _np_version_under1p7:
2799-
raise nose.SkipTest('numpy >= 1.7 required')
2798+
tm._skip_if_not_numpy17_friendly()
28002799

28012800
timestamp = Timestamp(datetime(2010, 1, 1))
28022801
assertEq(Nano(), timestamp, timestamp + np.timedelta64(1, 'ns'))

0 commit comments

Comments
 (0)