Skip to content

Commit f1a4d76

Browse files
authored
Backport PR #60847 on branch 2.3.x (TST/CI: skipif numba tests on Ubuntu ARM for numba 0.61) (#60880)
Backport PR #60847: TST/CI: skipif numba tests on Ubuntu ARM for numba 0.61
1 parent e276e89 commit f1a4d76

File tree

8 files changed

+77
-9
lines changed

8 files changed

+77
-9
lines changed

pandas/tests/apply/test_frame_apply.py

+6
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
import numpy as np
55
import pytest
66

7+
from pandas.compat import is_platform_arm
8+
79
from pandas.core.dtypes.dtypes import CategoricalDtype
810

911
import pandas as pd
@@ -16,6 +18,7 @@
1618
)
1719
import pandas._testing as tm
1820
from pandas.tests.frame.common import zip_frames
21+
from pandas.util.version import Version
1922

2023

2124
@pytest.fixture
@@ -65,6 +68,9 @@ def test_apply(float_frame, engine, request):
6568
@pytest.mark.parametrize("raw", [True, False])
6669
def test_apply_args(float_frame, axis, raw, engine, request):
6770
if engine == "numba":
71+
numba = pytest.importorskip("numba")
72+
if Version(numba.__version__) == Version("0.61") and is_platform_arm():
73+
pytest.skip(f"Segfaults on ARM platforms with numba {numba.__version__}")
6874
mark = pytest.mark.xfail(reason="numba engine doesn't support args")
6975
request.node.add_marker(mark)
7076
result = float_frame.apply(

pandas/tests/apply/test_numba.py

+11-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import numpy as np
22
import pytest
33

4+
from pandas.compat import is_platform_arm
45
import pandas.util._test_decorators as td
56

67
import pandas as pd
@@ -9,8 +10,17 @@
910
Index,
1011
)
1112
import pandas._testing as tm
13+
from pandas.util.version import Version
1214

13-
pytestmark = [td.skip_if_no("numba"), pytest.mark.single_cpu]
15+
pytestmark = [td.skip_if_no("numba"), pytest.mark.single_cpu, pytest.mark.skipif()]
16+
17+
numba = pytest.importorskip("numba")
18+
pytestmark.append(
19+
pytest.mark.skipif(
20+
Version(numba.__version__) == Version("0.61") and is_platform_arm(),
21+
reason=f"Segfaults on ARM platforms with numba {numba.__version__}",
22+
)
23+
)
1424

1525

1626
@pytest.fixture(params=[0, 1])

pandas/tests/frame/methods/test_info.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
HAS_PYARROW,
1414
IS64,
1515
PYPY,
16+
is_platform_arm,
1617
)
1718

1819
from pandas import (
@@ -25,6 +26,7 @@
2526
option_context,
2627
)
2728
import pandas._testing as tm
29+
from pandas.util.version import Version
2830

2931

3032
@pytest.fixture
@@ -547,7 +549,9 @@ def test_memory_usage_empty_no_warning(using_infer_string):
547549
@pytest.mark.single_cpu
548550
def test_info_compute_numba():
549551
# GH#51922
550-
pytest.importorskip("numba")
552+
numba = pytest.importorskip("numba")
553+
if Version(numba.__version__) == Version("0.61") and is_platform_arm():
554+
pytest.skip(f"Segfaults on ARM platforms with numba {numba.__version__}")
551555
df = DataFrame([[1, 2], [3, 4]])
552556

553557
with option_context("compute.use_numba", True):

pandas/tests/groupby/aggregate/test_numba.py

+11-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import numpy as np
22
import pytest
33

4+
from pandas.compat import is_platform_arm
45
from pandas.errors import NumbaUtilError
56

67
from pandas import (
@@ -11,8 +12,17 @@
1112
option_context,
1213
)
1314
import pandas._testing as tm
15+
from pandas.util.version import Version
1416

15-
pytestmark = pytest.mark.single_cpu
17+
pytestmark = [pytest.mark.single_cpu]
18+
19+
numba = pytest.importorskip("numba")
20+
pytestmark.append(
21+
pytest.mark.skipif(
22+
Version(numba.__version__) == Version("0.61") and is_platform_arm(),
23+
reason=f"Segfaults on ARM platforms with numba {numba.__version__}",
24+
)
25+
)
1626

1727

1828
def test_correct_function_signature():

pandas/tests/groupby/test_numba.py

+11-2
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,24 @@
11
import pytest
22

3+
from pandas.compat import is_platform_arm
4+
35
from pandas import (
46
DataFrame,
57
Series,
68
option_context,
79
)
810
import pandas._testing as tm
11+
from pandas.util.version import Version
912

10-
pytestmark = pytest.mark.single_cpu
13+
pytestmark = [pytest.mark.single_cpu]
1114

12-
pytest.importorskip("numba")
15+
numba = pytest.importorskip("numba")
16+
pytestmark.append(
17+
pytest.mark.skipif(
18+
Version(numba.__version__) == Version("0.61") and is_platform_arm(),
19+
reason=f"Segfaults on ARM platforms with numba {numba.__version__}",
20+
)
21+
)
1322

1423

1524
@pytest.mark.filterwarnings("ignore")

pandas/tests/groupby/transform/test_numba.py

+11-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import numpy as np
22
import pytest
33

4+
from pandas.compat import is_platform_arm
45
from pandas.errors import NumbaUtilError
56

67
from pandas import (
@@ -9,8 +10,17 @@
910
option_context,
1011
)
1112
import pandas._testing as tm
13+
from pandas.util.version import Version
1214

13-
pytestmark = pytest.mark.single_cpu
15+
pytestmark = [pytest.mark.single_cpu]
16+
17+
numba = pytest.importorskip("numba")
18+
pytestmark.append(
19+
pytest.mark.skipif(
20+
Version(numba.__version__) == Version("0.61") and is_platform_arm(),
21+
reason=f"Segfaults on ARM platforms with numba {numba.__version__}",
22+
)
23+
)
1424

1525

1626
def test_correct_function_signature():

pandas/tests/window/test_numba.py

+11-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import numpy as np
22
import pytest
33

4+
from pandas.compat import is_platform_arm
45
from pandas.errors import NumbaUtilError
56
import pandas.util._test_decorators as td
67

@@ -11,8 +12,17 @@
1112
to_datetime,
1213
)
1314
import pandas._testing as tm
15+
from pandas.util.version import Version
1416

15-
pytestmark = pytest.mark.single_cpu
17+
pytestmark = [pytest.mark.single_cpu]
18+
19+
numba = pytest.importorskip("numba")
20+
pytestmark.append(
21+
pytest.mark.skipif(
22+
Version(numba.__version__) == Version("0.61") and is_platform_arm(),
23+
reason=f"Segfaults on ARM platforms with numba {numba.__version__}",
24+
)
25+
)
1626

1727

1828
@pytest.fixture(params=["single", "table"])

pandas/tests/window/test_online.py

+11-2
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,24 @@
11
import numpy as np
22
import pytest
33

4+
from pandas.compat import is_platform_arm
5+
46
from pandas import (
57
DataFrame,
68
Series,
79
)
810
import pandas._testing as tm
11+
from pandas.util.version import Version
912

10-
pytestmark = pytest.mark.single_cpu
13+
pytestmark = [pytest.mark.single_cpu]
1114

12-
pytest.importorskip("numba")
15+
numba = pytest.importorskip("numba")
16+
pytestmark.append(
17+
pytest.mark.skipif(
18+
Version(numba.__version__) == Version("0.61") and is_platform_arm(),
19+
reason=f"Segfaults on ARM platforms with numba {numba.__version__}",
20+
)
21+
)
1322

1423

1524
@pytest.mark.filterwarnings("ignore")

0 commit comments

Comments
 (0)