Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TST/CI: skipif numba tests on Ubuntu ARM for numba 0.61 #60847

Merged
merged 15 commits into from
Feb 7, 2025
Merged
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