Skip to content

Commit

Permalink
TST/CI: skipif numba tests on Ubuntu ARM for numba 0.61 (#60847)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
mroeschke authored Feb 7, 2025
1 parent 5b16c06 commit 0a1577f
Show file tree
Hide file tree
Showing 8 changed files with 81 additions and 9 deletions.
10 changes: 10 additions & 0 deletions pandas/tests/apply/test_frame_apply.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import numpy as np
import pytest

from pandas.compat import is_platform_arm

from pandas.core.dtypes.dtypes import CategoricalDtype

import pandas as pd
Expand All @@ -16,6 +18,7 @@
)
import pandas._testing as tm
from pandas.tests.frame.common import zip_frames
from pandas.util.version import Version


@pytest.fixture
Expand Down Expand Up @@ -65,6 +68,13 @@ def test_apply(float_frame, engine, request):
@pytest.mark.parametrize("raw", [True, False])
@pytest.mark.parametrize("nopython", [True, False])
def test_apply_args(float_frame, axis, raw, engine, nopython):
numba = pytest.importorskip("numba")
if (
engine == "numba"
and Version(numba.__version__) == Version("0.61")
and is_platform_arm()
):
pytest.skip(f"Segfaults on ARM platforms with numba {numba.__version__}")
engine_kwargs = {"nopython": nopython}
result = float_frame.apply(
lambda x, y: x + y,
Expand Down
12 changes: 11 additions & 1 deletion pandas/tests/apply/test_numba.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import numpy as np
import pytest

from pandas.compat import is_platform_arm
import pandas.util._test_decorators as td

import pandas as pd
Expand All @@ -9,8 +10,17 @@
Index,
)
import pandas._testing as tm
from pandas.util.version import Version

pytestmark = [td.skip_if_no("numba"), pytest.mark.single_cpu]
pytestmark = [td.skip_if_no("numba"), pytest.mark.single_cpu, pytest.mark.skipif()]

numba = pytest.importorskip("numba")
pytestmark.append(
pytest.mark.skipif(
Version(numba.__version__) == Version("0.61") and is_platform_arm(),
reason=f"Segfaults on ARM platforms with numba {numba.__version__}",
)
)


@pytest.fixture(params=[0, 1])
Expand Down
6 changes: 5 additions & 1 deletion pandas/tests/frame/methods/test_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
HAS_PYARROW,
IS64,
PYPY,
is_platform_arm,
)

from pandas import (
Expand All @@ -23,6 +24,7 @@
option_context,
)
import pandas._testing as tm
from pandas.util.version import Version


@pytest.fixture
Expand Down Expand Up @@ -544,7 +546,9 @@ def test_memory_usage_empty_no_warning(using_infer_string):
@pytest.mark.single_cpu
def test_info_compute_numba():
# GH#51922
pytest.importorskip("numba")
numba = pytest.importorskip("numba")
if Version(numba.__version__) == Version("0.61") and is_platform_arm():
pytest.skip(f"Segfaults on ARM platforms with numba {numba.__version__}")
df = DataFrame([[1, 2], [3, 4]])

with option_context("compute.use_numba", True):
Expand Down
12 changes: 11 additions & 1 deletion pandas/tests/groupby/aggregate/test_numba.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import numpy as np
import pytest

from pandas.compat import is_platform_arm
from pandas.errors import NumbaUtilError

from pandas import (
Expand All @@ -11,8 +12,17 @@
option_context,
)
import pandas._testing as tm
from pandas.util.version import Version

pytestmark = pytest.mark.single_cpu
pytestmark = [pytest.mark.single_cpu]

numba = pytest.importorskip("numba")
pytestmark.append(
pytest.mark.skipif(
Version(numba.__version__) == Version("0.61") and is_platform_arm(),
reason=f"Segfaults on ARM platforms with numba {numba.__version__}",
)
)


def test_correct_function_signature():
Expand Down
13 changes: 11 additions & 2 deletions pandas/tests/groupby/test_numba.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,24 @@
import pytest

from pandas.compat import is_platform_arm

from pandas import (
DataFrame,
Series,
option_context,
)
import pandas._testing as tm
from pandas.util.version import Version

pytestmark = pytest.mark.single_cpu
pytestmark = [pytest.mark.single_cpu]

pytest.importorskip("numba")
numba = pytest.importorskip("numba")
pytestmark.append(
pytest.mark.skipif(
Version(numba.__version__) == Version("0.61") and is_platform_arm(),
reason=f"Segfaults on ARM platforms with numba {numba.__version__}",
)
)


@pytest.mark.filterwarnings("ignore")
Expand Down
12 changes: 11 additions & 1 deletion pandas/tests/groupby/transform/test_numba.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import numpy as np
import pytest

from pandas.compat import is_platform_arm
from pandas.errors import NumbaUtilError

from pandas import (
Expand All @@ -9,8 +10,17 @@
option_context,
)
import pandas._testing as tm
from pandas.util.version import Version

pytestmark = pytest.mark.single_cpu
pytestmark = [pytest.mark.single_cpu]

numba = pytest.importorskip("numba")
pytestmark.append(
pytest.mark.skipif(
Version(numba.__version__) == Version("0.61") and is_platform_arm(),
reason=f"Segfaults on ARM platforms with numba {numba.__version__}",
)
)


def test_correct_function_signature():
Expand Down
12 changes: 11 additions & 1 deletion pandas/tests/window/test_numba.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import numpy as np
import pytest

from pandas.compat import is_platform_arm
from pandas.errors import NumbaUtilError
import pandas.util._test_decorators as td

Expand All @@ -11,8 +12,17 @@
to_datetime,
)
import pandas._testing as tm
from pandas.util.version import Version

pytestmark = pytest.mark.single_cpu
pytestmark = [pytest.mark.single_cpu]

numba = pytest.importorskip("numba")
pytestmark.append(
pytest.mark.skipif(
Version(numba.__version__) == Version("0.61") and is_platform_arm(),
reason=f"Segfaults on ARM platforms with numba {numba.__version__}",
)
)


@pytest.fixture(params=["single", "table"])
Expand Down
13 changes: 11 additions & 2 deletions pandas/tests/window/test_online.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,24 @@
import numpy as np
import pytest

from pandas.compat import is_platform_arm

from pandas import (
DataFrame,
Series,
)
import pandas._testing as tm
from pandas.util.version import Version

pytestmark = pytest.mark.single_cpu
pytestmark = [pytest.mark.single_cpu]

pytest.importorskip("numba")
numba = pytest.importorskip("numba")
pytestmark.append(
pytest.mark.skipif(
Version(numba.__version__) == Version("0.61") and is_platform_arm(),
reason=f"Segfaults on ARM platforms with numba {numba.__version__}",
)
)


@pytest.mark.filterwarnings("ignore")
Expand Down

0 comments on commit 0a1577f

Please sign in to comment.