Skip to content

Commit 4e7409c

Browse files
author
Russell Manser
committed
Use _importorskip to require pint >=0.15 instead of pytest.mark.skipif
1 parent 80ddaa0 commit 4e7409c

File tree

2 files changed

+5
-12
lines changed

2 files changed

+5
-12
lines changed

xarray/tests/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,8 @@ def LooseVersion(vstring):
7878
has_seaborn, requires_seaborn = _importorskip("seaborn")
7979
has_sparse, requires_sparse = _importorskip("sparse")
8080
has_cartopy, requires_cartopy = _importorskip("cartopy")
81-
has_pint, requires_pint = _importorskip("pint")
81+
# Need Pint 0.15 for __dask_tokenize__ tests for Quantity wrapped Dask Arrays
82+
has_pint_0_15, requires_pint_0_15 = _importorskip("pint", minversion="0.15")
8283

8384
# some special cases
8485
has_scipy_or_netCDF4 = has_scipy or has_netCDF4

xarray/tests/test_dask.py

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
assert_frame_equal,
2525
assert_identical,
2626
raises_regex,
27-
requires_pint,
27+
requires_pint_0_15,
2828
requires_scipy_or_netCDF4,
2929
)
3030
from .test_backends import create_tmp_file
@@ -293,14 +293,10 @@ def test_persist(self):
293293
self.assertLazyAndAllClose(u + 1, v)
294294
self.assertLazyAndAllClose(u + 1, v2)
295295

296-
@requires_pint
296+
@requires_pint_0_15(reason="Need __dask_tokenize__")
297297
def test_tokenize_duck_dask_array(self):
298298
import pint
299299

300-
pytest.mark.skipif(
301-
pint.__version__ < "0.15",
302-
reason="Dask tokenize is not implemented for Pint < 0.15",
303-
)
304300
unit_registry = pint.UnitRegistry()
305301

306302
q = unit_registry.Quantity(self.data, "meter")
@@ -736,14 +732,10 @@ def test_from_dask_variable(self):
736732
a = DataArray(self.lazy_array.variable, coords={"x": range(4)}, name="foo")
737733
self.assertLazyAndIdentical(self.lazy_array, a)
738734

739-
@requires_pint
735+
@requires_pint_0_15(reason="Need __dask_tokenize__")
740736
def test_tokenize_duck_dask_array(self):
741737
import pint
742738

743-
pytest.mark.skipif(
744-
pint.__version__ < "0.15",
745-
reason="Dask tokenize is not implemented for Pint < 0.15",
746-
)
747739
unit_registry = pint.UnitRegistry()
748740

749741
q = unit_registry.Quantity(self.data, unit_registry.meter)

0 commit comments

Comments
 (0)