Skip to content

Commit 0a32653

Browse files
Debian Science Teamrebecca-palmer
Debian Science Team
authored andcommitted
Fix arch-specific upstream xfails
We test on more architectures, so upstream's xfails are not always correct everywhere. On those known to fail: arm64 xfail -> all non-x86 xfail x86 or unconditional strict xfail -> unconditional nonstrict xfail Author: Rebecca N. Palmer <[email protected]> Bug: pandas-dev/pandas#38921, pandas-dev/pandas#38798, pandas-dev/pandas#41740, numpy/numpy#19146 Forwarded: no Gbp-Pq: Name fix_overly_arch_specific_xfails.patch
1 parent c970eec commit 0a32653

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

pandas/tests/io/parser/test_c_parser_only.py

+10-5
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import numpy as np
1818
import pytest
1919

20-
from pandas.compat import is_ci_environment
20+
from pandas.compat import is_ci_environment, IS64
2121
from pandas.compat.numpy import np_version_gte1p24
2222
from pandas.errors import ParserError
2323
import pandas.util._test_decorators as td
@@ -27,6 +27,9 @@
2727
concat,
2828
)
2929
import pandas._testing as tm
30+
import platform
31+
import re
32+
is_platform_x86 = bool(re.match("i.?86|x86",platform.uname()[4]))
3033

3134

3235
@pytest.mark.parametrize(
@@ -654,11 +657,13 @@ def test_float_precision_options(c_parser_only):
654657

655658
tm.assert_frame_equal(df, df2)
656659

657-
df3 = parser.read_csv(StringIO(s), float_precision="legacy")
658-
659-
assert not df.iloc[0, 0] == df3.iloc[0, 0]
660-
661660
msg = "Unrecognized float_precision option: junk"
662661

663662
with pytest.raises(ValueError, match=msg):
664663
parser.read_csv(StringIO(s), float_precision="junk")
664+
665+
df3 = parser.read_csv(StringIO(s), float_precision="legacy")
666+
if is_platform_x86 and (not IS64) and (df.iloc[0, 0] == df3.iloc[0, 0]):
667+
pytest.xfail(reason="maybe x87 extra precision")
668+
669+
assert not df.iloc[0, 0] == df3.iloc[0, 0]

pandas/tests/window/test_rolling.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@
1010
IS64,
1111
is_platform_arm,
1212
is_platform_power,
13+
IS64,
1314
)
15+
import platform
16+
import re
17+
is_platform_x86 = bool(re.match("i.?86|x86", platform.uname()[4]))
1418

1519
from pandas import (
1620
DataFrame,
@@ -1101,7 +1105,8 @@ def test_rolling_sem(frame_or_series):
11011105

11021106

11031107
@pytest.mark.xfail(
1104-
is_platform_arm() or is_platform_power(),
1108+
not (is_platform_x86 and IS64),
1109+
strict=False,
11051110
reason="GH 38921",
11061111
)
11071112
@pytest.mark.parametrize(

0 commit comments

Comments
 (0)