This repository was archived by the owner on Oct 24, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +33
-1
lines changed Expand file tree Collapse file tree 3 files changed +33
-1
lines changed Original file line number Diff line number Diff line change 1+ import importlib
2+ from distutils import version
3+
4+ import pytest
5+
6+
7+ def _importorskip (modname , minversion = None ):
8+ try :
9+ mod = importlib .import_module (modname )
10+ has = True
11+ if minversion is not None :
12+ if LooseVersion (mod .__version__ ) < LooseVersion (minversion ):
13+ raise ImportError ("Minimum version not satisfied" )
14+ except ImportError :
15+ has = False
16+ func = pytest .mark .skipif (not has , reason = f"requires { modname } " )
17+ return has , func
18+
19+
20+ def LooseVersion (vstring ):
21+ # Our development version is something like '0.10.9+aac7bfc'
22+ # This function just ignores the git commit id.
23+ vstring = vstring .split ("+" )[0 ]
24+ return version .LooseVersion (vstring )
25+
26+
27+ has_zarr , requires_zarr = _importorskip ("zarr" )
28+ has_netCDF4 , requires_netCDF4 = _importorskip ("netCDF4" )
Original file line number Diff line number Diff line change 55
66from datatree import DataNode , DataTree
77from datatree .io import open_datatree
8+ from datatree .tests import requires_netCDF4 , requires_zarr
89
910
1011def assert_tree_equal (dt_a , dt_b ):
@@ -311,6 +312,7 @@ def test_repr_of_node_with_data(self):
311312
312313
313314class TestIO :
315+ @requires_netCDF4
314316 def test_to_netcdf (self , tmpdir ):
315317 filepath = str (
316318 tmpdir / "test.nc"
@@ -321,6 +323,7 @@ def test_to_netcdf(self, tmpdir):
321323 roundtrip_dt = open_datatree (filepath )
322324 assert_tree_equal (original_dt , roundtrip_dt )
323325
326+ @requires_zarr
324327 def test_to_zarr (self , tmpdir ):
325328 filepath = str (
326329 tmpdir / "test.zarr"
Original file line number Diff line number Diff line change 11import pytest
22import xarray as xr
3- from test_datatree import assert_tree_equal , create_test_datatree
43
54from datatree .datatree import DataTree
65from datatree .mapping import TreeIsomorphismError , _check_isomorphic , map_over_subtree
76from datatree .treenode import TreeNode
87
8+ from .test_datatree import assert_tree_equal , create_test_datatree
9+
910empty = xr .Dataset ()
1011
1112
You can’t perform that action at this time.
0 commit comments