Skip to content

Commit 265fabf

Browse files
committed
TST: convered skips on knownfailures to knownfailures (test_pickle/test_stata)
1 parent f6949a8 commit 265fabf

File tree

3 files changed

+15
-10
lines changed

3 files changed

+15
-10
lines changed

pandas/io/tests/test_pickle.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,15 @@
88
import unittest
99
import nose
1010
import os
11-
import sys
1211

1312
import numpy as np
1413
import pandas.util.testing as tm
1514
import pandas as pd
1615
from pandas import Index
1716
from pandas.sparse.tests import test_sparse
1817
from pandas.util import py3compat
19-
20-
if sys.byteorder != 'little':
21-
raise nose.SkipTest('system byteorder is not little!')
18+
from pandas.util.decorators import knownfailureif
19+
from pandas.util.misc import is_little_endian
2220

2321
class TestPickle(unittest.TestCase):
2422
_multiprocess_can_split_ = True
@@ -60,13 +58,15 @@ def compare(self, vf):
6058
comparator = getattr(tm,"assert_%s_equal" % typ)
6159
comparator(result,expected)
6260

61+
@knownfailureif(not is_little_endian(), "known failure of test_read_pickles_0_10_1 on non-little endian")
6362
def test_read_pickles_0_10_1(self):
6463

6564
pth = tm.get_data_path('legacy_pickle/0.10.1')
6665
for f in os.listdir(pth):
6766
vf = os.path.join(pth,f)
6867
self.compare(vf)
6968

69+
@knownfailureif(not is_little_endian(), "known failure of test_read_pickles_0_11_0 on non-little endian")
7070
def test_read_pickles_0_11_0(self):
7171

7272
pth = tm.get_data_path('legacy_pickle/0.11.0')

pandas/io/tests/test_stata.py

+4-6
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,8 @@
1414
from pandas.io.stata import read_stata, StataReader, StataWriter
1515
import pandas.util.testing as tm
1616
from pandas.util.testing import ensure_clean
17-
18-
def _skip_if_not_little(name):
19-
if sys.byteorder != 'little':
20-
raise nose.SkipTest('system byteorder is not little, skipping %s' % name)
17+
from pandas.util.decorators import knownfailureif
18+
from pandas.util.misc import is_little_endian
2119

2220
class StataTests(unittest.TestCase):
2321

@@ -131,8 +129,8 @@ def test_read_dta4(self):
131129

132130
tm.assert_frame_equal(parsed, expected)
133131

132+
@knownfailureif(not is_little_endian(), "known failure of test_write_dta5 on non-little endian")
134133
def test_write_dta5(self):
135-
_skip_if_not_little('write_dta5')
136134
original = DataFrame([(np.nan, np.nan, np.nan, np.nan, np.nan)],
137135
columns=['float_miss', 'double_miss', 'byte_miss', 'int_miss', 'long_miss'])
138136
original.index.name = 'index'
@@ -142,8 +140,8 @@ def test_write_dta5(self):
142140
written_and_read_again = self.read_dta(path)
143141
tm.assert_frame_equal(written_and_read_again.set_index('index'), original)
144142

143+
@knownfailureif(not is_little_endian(), "known failure of test_write_dta6 on non-little endian")
145144
def test_write_dta6(self):
146-
_skip_if_not_little('write_dta6')
147145
original = self.read_csv(self.csv3)
148146
original.index.name = 'index'
149147

pandas/util/misc.py

+7
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
""" various miscellaneous utilities """
2+
3+
def is_little_endian():
4+
""" am I little endian """
5+
import sys
6+
return sys.byteorder == 'little'
7+
18
def exclusive(*args):
29
count = sum([arg is not None for arg in args])
310
return count == 1

0 commit comments

Comments
 (0)