Skip to content

Commit b5dfe4e

Browse files
Prevent RuntimeError raised by tests in test_RegridOperator
1 parent 8a9a8c2 commit b5dfe4e

1 file changed

Lines changed: 24 additions & 3 deletions

File tree

cf/test/test_RegridOperator.py

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,31 @@
77
import cf
88

99

10+
# ESMF renamed its Python module to `esmpy` at ESMF version 8.4.0. Allow
11+
# either for now for backwards compatibility.
12+
esmpy_imported = False
13+
try:
14+
import esmpy
15+
16+
esmpy_imported = True
17+
except ImportError:
18+
try:
19+
# Take the new name to use in preference to the old one.
20+
import ESMF as esmpy
21+
22+
esmpy_imported = True
23+
except ImportError:
24+
pass
25+
26+
1027
class RegridOperatorTest(unittest.TestCase):
11-
src = cf.example_field(0)
12-
dst = cf.example_field(1)
13-
r = src.regrids(dst, "linear", return_operator=True)
1428

29+
def setUp(self):
30+
src = cf.example_field(0)
31+
dst = cf.example_field(1)
32+
r = src.regrids(dst, "linear", return_operator=True)
33+
34+
@unittest.skipUnless(esmpy_imported, "Requires esmpy/ESMF package.")
1535
def test_RegridOperator_attributes(self):
1636
self.assertEqual(self.r.coord_sys, "spherical")
1737
self.assertEqual(self.r.method, "linear")
@@ -39,6 +59,7 @@ def test_RegridOperator_attributes(self):
3959
self.assertIsNone(self.r.dst_z)
4060
self.assertFalse(self.r.ln_z)
4161

62+
@unittest.skipUnless(esmpy_imported, "Requires esmpy/ESMF package.")
4263
def test_RegridOperator_copy(self):
4364
self.assertIsInstance(self.r.copy(), self.r.__class__)
4465

0 commit comments

Comments
 (0)