Skip to content

Commit d6c7a3a

Browse files
committed
COMPAT: skip some test on 32-bit platforms for ordering issues
1 parent dff4534 commit d6c7a3a

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

pandas/compat/__init__.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import sys
3737
import types
3838
from unicodedata import east_asian_width
39+
import struct
3940

4041
PY2 = sys.version_info[0] == 2
4142
PY3 = (sys.version_info[0] >= 3)
@@ -800,10 +801,11 @@ def __reduce__(self): # optional, for pickle support
800801
def is_platform_windows():
801802
return sys.platform == 'win32' or sys.platform == 'cygwin'
802803

803-
804804
def is_platform_linux():
805805
return sys.platform == 'linux2'
806806

807-
808807
def is_platform_mac():
809808
return sys.platform == 'darwin'
809+
810+
def is_platform_32bit():
811+
return struct.calcsize("P") * 8 < 64

pandas/tests/test_algos.py

+7-4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from pandas.core.api import Series, Categorical, CategoricalIndex
88
import pandas as pd
99

10+
from pandas import compat
1011
import pandas.core.algorithms as algos
1112
import pandas.util.testing as tm
1213
import pandas.hashtable as hashtable
@@ -405,7 +406,6 @@ def test_dropna(self):
405406
tm.assert_series_equal(
406407
pd.Series([True, True, False, None]).value_counts(dropna=False),
407408
pd.Series([2, 1, 1], index=[True, False, np.nan]))
408-
409409
tm.assert_series_equal(
410410
pd.Series([10.3, 5., 5.]).value_counts(dropna=True),
411411
pd.Series([2, 1], index=[5., 10.3]))
@@ -416,9 +416,12 @@ def test_dropna(self):
416416
tm.assert_series_equal(
417417
pd.Series([10.3, 5., 5., None]).value_counts(dropna=True),
418418
pd.Series([2, 1], index=[5., 10.3]))
419-
tm.assert_series_equal(
420-
pd.Series([10.3, 5., 5., None]).value_counts(dropna=False),
421-
pd.Series([2, 1, 1], index=[5., 10.3, np.nan]))
419+
420+
# 32-bit linux has a different ordering
421+
if not compat.is_platform_32bit():
422+
tm.assert_series_equal(
423+
pd.Series([10.3, 5., 5., None]).value_counts(dropna=False),
424+
pd.Series([2, 1, 1], index=[5., 10.3, np.nan]))
422425

423426

424427
class GroupVarTestMixin(object):

pandas/util/testing.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
import pandas.compat as compat
3232
from pandas.compat import(
3333
filter, map, zip, range, unichr, lrange, lmap, lzip, u, callable, Counter,
34-
raise_with_traceback, httplib, is_platform_windows
34+
raise_with_traceback, httplib, is_platform_windows, is_platform_32bit
3535
)
3636

3737
from pandas.computation import expressions as expr
@@ -176,8 +176,7 @@ def close(fignum=None):
176176

177177
def _skip_if_32bit():
178178
import nose
179-
import struct
180-
if struct.calcsize("P") * 8 < 64:
179+
if is_platform_32bit():
181180
raise nose.SkipTest("skipping for 32 bit")
182181

183182
def mplskip(cls):

0 commit comments

Comments
 (0)