Skip to content

Commit 0a1577f

Browse files
authored
TST/CI: skipif numba tests on Ubuntu ARM for numba 0.61 (#60847)
* TST: Apply skip/xfail markers for numba/dask updates * skip test_numba_vs_python_noop * Add reason * Skip another test * Append a skipif * Skip test_info_compute_numba * add skipif for test_numba * Add skipif on test_numba * Add skipif for transform/test_numba * Remove redundant condition in dask test * Add skipif to window/test_numba * skipif for test_online
1 parent 5b16c06 commit 0a1577f

File tree

8 files changed

+81
-9
lines changed

8 files changed

+81
-9
lines changed

Diff for: pandas/tests/apply/test_frame_apply.py

+10
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,13 @@ def test_apply(float_frame, engine, request):
6568
@pytest.mark.parametrize("raw", [True, False])
6669
@pytest.mark.parametrize("nopython", [True, False])
6770
def test_apply_args(float_frame, axis, raw, engine, nopython):
71+
numba = pytest.importorskip("numba")
72+
if (
73+
engine == "numba"
74+
and Version(numba.__version__) == Version("0.61")
75+
and is_platform_arm()
76+
):
77+
pytest.skip(f"Segfaults on ARM platforms with numba {numba.__version__}")
6878
engine_kwargs = {"nopython": nopython}
6979
result = float_frame.apply(
7080
lambda x, y: x + y,

Diff for: 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])

Diff for: pandas/tests/frame/methods/test_info.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
HAS_PYARROW,
1212
IS64,
1313
PYPY,
14+
is_platform_arm,
1415
)
1516

1617
from pandas import (
@@ -23,6 +24,7 @@
2324
option_context,
2425
)
2526
import pandas._testing as tm
27+
from pandas.util.version import Version
2628

2729

2830
@pytest.fixture
@@ -544,7 +546,9 @@ def test_memory_usage_empty_no_warning(using_infer_string):
544546
@pytest.mark.single_cpu
545547
def test_info_compute_numba():
546548
# GH#51922
547-
pytest.importorskip("numba")
549+
numba = pytest.importorskip("numba")
550+
if Version(numba.__version__) == Version("0.61") and is_platform_arm():
551+
pytest.skip(f"Segfaults on ARM platforms with numba {numba.__version__}")
548552
df = DataFrame([[1, 2], [3, 4]])
549553

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

Diff for: 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():

Diff for: 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")

Diff for: 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():

Diff for: 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"])

Diff for: 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)