option_context,
)
import pandas._testing as tm
+from pandas.compat import IS64
+try:
+ from numba.core.errors import UnsupportedParforsError, TypingError
+except ImportError: # numba not installed
+ UnsupportedParforsError = ImportError
+ TypingError = ImportError
pytestmark = pytest.mark.single_cpu
),
],
)
+@pytest.mark.xfail(
+ condition=not IS64,
+ reason="parfors not available on 32-bit",
+ raises=UnsupportedParforsError,
+ strict=False,
+)
def test_multifunc_numba_kwarg_propagation(data, agg_kwargs):
pytest.importorskip("numba")
labels = ["a", "a", "b", "b", "a"]
reduction_kernels,
transformation_kernels,
)
+from pandas.compat import IS64
+try:
+ from numba.core.errors import UnsupportedParforsError
+except ImportError: # numba not installed
+ UnsupportedParforsError = ImportError
@pytest.fixture(params=[True, False])
return request.param
-@pytest.fixture(params=[True, False])
+# the xfail is because numba does not support this on 32-bit systems
+# https://github.com/numba/numba/blob/main/numba/parfors/parfors.py
+# strict=False because some tests are of error paths that
+# fail of something else before reaching this point
+@pytest.fixture(params=[
+ pytest.param(
+ True,
+ marks=pytest.mark.xfail(
+ condition=not IS64,
+ reason="parfors not available on 32-bit",
+ raises=UnsupportedParforsError,
+ strict=False,
+ )
+ ),
+ False,
+ ])
def parallel(request):
"""parallel keyword argument for numba.jit"""
return request.param
Series,
bdate_range,
)
+from pandas.compat import IS64
+try:
+ from numba.core.errors import UnsupportedParforsError, TypingError
+except ImportError: # numba not installed
+ UnsupportedParforsError = ImportError
+ TypingError = ImportError
@pytest.fixture(params=[True, False])
return request.param
-@pytest.fixture(params=[True, False])
+# the xfail is because numba does not support this on 32-bit systems
+# https://github.com/numba/numba/blob/main/numba/parfors/parfors.py
+# strict=False because some tests are of error paths that
+# fail of something else before reaching this point
+@pytest.fixture(params=[
+ pytest.param(
+ True,
+ marks=pytest.mark.xfail(
+ condition=not IS64,
+ reason="parfors not available on 32-bit",
+ raises=(UnsupportedParforsError, TypingError),
+ strict=False,
+ )
+ ),
+ False,
+ ])
def parallel(request):
"""parallel keyword argument for numba.jit"""
return request.param
import numpy as np
import pytest
+from pandas.compat import IS64
+try:
+ from numba.core.errors import UnsupportedParforsError, TypingError
+except ImportError: # numba not installed
+ UnsupportedParforsError = ImportError
+ TypingError = ImportError
from pandas.errors import NumbaUtilError
import pandas.util._test_decorators as td
expected = DataFrame({"value": [2.0, 2.0, 2.0]})
tm.assert_frame_equal(result, expected)
+ @pytest.mark.xfail(
+ condition=not IS64,
+ reason="parfors not available on 32-bit",
+ raises=UnsupportedParforsError,
+ strict=False,
+ )
def test_dont_cache_engine_kwargs(self):
# If the user passes a different set of engine_kwargs don't return the same
# jitted function
f, engine="numba", raw=True
)
+ @pytest.mark.xfail(
+ condition=not IS64,
+ reason="parfors not available on 32-bit",
+ raises=(UnsupportedParforsError, TypingError),
+ strict=False,
+ )
def test_table_method_rolling_methods(
self,
axis,
)
tm.assert_frame_equal(result, expected)
+ @pytest.mark.xfail(
+ condition=not IS64,
+ reason="parfors not available on 32-bit",
+ raises=(UnsupportedParforsError, TypingError),
+ strict=False,
+ )
def test_table_method_expanding_methods(
self, axis, nogil, parallel, nopython, arithmetic_numba_supported_operators
):