diff --git a/xarray/tests/__init__.py b/xarray/tests/__init__.py index 81bb1a1e18d..4e50a8bcfe1 100644 --- a/xarray/tests/__init__.py +++ b/xarray/tests/__init__.py @@ -31,6 +31,11 @@ except ImportError: pass +import platform +arm_xfail = pytest.mark.xfail(platform.machine() == 'aarch64' or + 'arm' in platform.machine(), + reason='expected failure on ARM') + def _importorskip(modname, minversion=None): try: diff --git a/xarray/tests/test_backends.py b/xarray/tests/test_backends.py index f5c27f2fb92..2235be4fbb7 100644 --- a/xarray/tests/test_backends.py +++ b/xarray/tests/test_backends.py @@ -35,7 +35,7 @@ requires_cftime, requires_dask, requires_h5fileobj, requires_h5netcdf, requires_netCDF4, requires_pathlib, requires_pseudonetcdf, requires_pydap, requires_pynio, requires_rasterio, requires_scipy, - requires_scipy_or_netCDF4, requires_zarr) + requires_scipy_or_netCDF4, requires_zarr, arm_xfail) from .test_coding_times import ( _ALL_CALENDARS, _NON_STANDARD_CALENDARS, _STANDARD_CALENDARS) from .test_dataset import create_test_data, create_append_test_data @@ -400,6 +400,7 @@ def test_roundtrip_string_encoded_characters(self): assert_identical(expected, actual) assert actual['x'].encoding['_Encoding'] == 'ascii' + @arm_xfail def test_roundtrip_numpy_datetime_data(self): times = pd.to_datetime(['2000-01-01', '2000-01-02', 'NaT']) expected = Dataset({'t': ('t', times), 't0': times[0]}) diff --git a/xarray/tests/test_coding_times.py b/xarray/tests/test_coding_times.py index 4de0d7f68cc..dacf68f6be8 100644 --- a/xarray/tests/test_coding_times.py +++ b/xarray/tests/test_coding_times.py @@ -16,7 +16,7 @@ from . import ( assert_array_equal, has_cftime, has_cftime_or_netCDF4, has_dask, - requires_cftime, requires_cftime_or_netCDF4) + requires_cftime, requires_cftime_or_netCDF4, arm_xfail) try: from pandas.errors import OutOfBoundsDatetime @@ -470,6 +470,7 @@ def test_decode_360_day_calendar(): assert_array_equal(actual, expected) +@arm_xfail @pytest.mark.skipif(not has_cftime_or_netCDF4, reason='cftime not installed') @pytest.mark.parametrize( ['num_dates', 'units', 'expected_list'], diff --git a/xarray/tests/test_duck_array_ops.py b/xarray/tests/test_duck_array_ops.py index 87a7a2863d3..b0b7cfbd943 100644 --- a/xarray/tests/test_duck_array_ops.py +++ b/xarray/tests/test_duck_array_ops.py @@ -17,7 +17,7 @@ from . import ( assert_array_equal, has_dask, has_np113, raises_regex, requires_cftime, - requires_dask) + requires_dask, arm_xfail) class TestOps: @@ -252,6 +252,7 @@ def assert_dask_array(da, dask): assert isinstance(da.data, dask_array_type) +@arm_xfail @pytest.mark.parametrize('dask', [False, True]) def test_datetime_reduce(dask): time = np.array(pd.date_range('15/12/1999', periods=11))