From: Debian Science Team Date: Mon, 21 Oct 2024 18:43:11 +0000 (+0100) Subject: Fix arch-specific upstream xfails X-Git-Tag: archive/raspbian/2.2.3+dfsg-7+rpi1~1^2~25 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=37896ac1822c744308fced11d87964645d44b773;p=pandas.git 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 Bug: https://github.com/pandas-dev/pandas/issues/38921, https://github.com/pandas-dev/pandas/issues/38798, https://github.com/pandas-dev/pandas/issues/41740, https://github.com/numpy/numpy/issues/19146 Forwarded: no Gbp-Pq: Name fix_overly_arch_specific_xfails.patch --- diff --git a/pandas/tests/io/parser/test_c_parser_only.py b/pandas/tests/io/parser/test_c_parser_only.py index 27d7bc0b..ab00cadb 100644 --- a/pandas/tests/io/parser/test_c_parser_only.py +++ b/pandas/tests/io/parser/test_c_parser_only.py @@ -17,6 +17,7 @@ import tarfile import numpy as np import pytest +from pandas.compat import IS64 from pandas.compat.numpy import np_version_gte1p24 from pandas.errors import ( ParserError, @@ -29,6 +30,9 @@ from pandas import ( concat, ) import pandas._testing as tm +import platform +import re +is_platform_x86 = bool(re.match("i.?86|x86",platform.uname()[4])) @pytest.mark.parametrize( @@ -633,11 +637,13 @@ def test_float_precision_options(c_parser_only): tm.assert_frame_equal(df, df2) - df3 = parser.read_csv(StringIO(s), float_precision="legacy") - - assert not df.iloc[0, 0] == df3.iloc[0, 0] - msg = "Unrecognized float_precision option: junk" with pytest.raises(ValueError, match=msg): parser.read_csv(StringIO(s), float_precision="junk") + + df3 = parser.read_csv(StringIO(s), float_precision="legacy") + if is_platform_x86 and (not IS64) and (df.iloc[0, 0] == df3.iloc[0, 0]): + pytest.xfail(reason="maybe x87 extra precision") + + assert not df.iloc[0, 0] == df3.iloc[0, 0] diff --git a/pandas/tests/window/test_rolling.py b/pandas/tests/window/test_rolling.py index f353a7fa..14c17c6a 100644 --- a/pandas/tests/window/test_rolling.py +++ b/pandas/tests/window/test_rolling.py @@ -10,7 +10,11 @@ from pandas.compat import ( IS64, is_platform_arm, is_platform_power, + IS64, ) +import platform +import re +is_platform_x86 = bool(re.match("i.?86|x86", platform.uname()[4])) from pandas import ( DataFrame, @@ -1176,7 +1180,8 @@ def test_rolling_sem(frame_or_series): @pytest.mark.xfail( - is_platform_arm() or is_platform_power(), + not (is_platform_x86 and IS64), + strict=False, reason="GH 38921", ) @pytest.mark.parametrize(