Skip to content

Commit 19b0886

Browse files
pnijharakeewis
andauthored
fix dangerous default arguments (#4006)
Co-authored-by: Keewis <[email protected]>
1 parent 484d1ce commit 19b0886

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

xarray/tests/test_backends.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@
8787
dask_version = "10.0"
8888

8989
ON_WINDOWS = sys.platform == "win32"
90+
default_value = object()
9091

9192

9293
def open_example_dataset(name, *args, **kwargs):
@@ -3630,11 +3631,21 @@ def create_tmp_geotiff(
36303631
ny=3,
36313632
nz=3,
36323633
transform=None,
3633-
transform_args=[5000, 80000, 1000, 2000.0],
3634-
crs={"units": "m", "no_defs": True, "ellps": "WGS84", "proj": "utm", "zone": 18},
3634+
transform_args=default_value,
3635+
crs=default_value,
36353636
open_kwargs=None,
36363637
additional_attrs=None,
36373638
):
3639+
if transform_args is default_value:
3640+
transform_args = [5000, 80000, 1000, 2000.0]
3641+
if crs is default_value:
3642+
crs = {
3643+
"units": "m",
3644+
"no_defs": True,
3645+
"ellps": "WGS84",
3646+
"proj": "utm",
3647+
"zone": 18,
3648+
}
36383649
# yields a temporary geotiff file and a corresponding expected DataArray
36393650
import rasterio
36403651
from rasterio.transform import from_origin

xarray/tests/test_conventions.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -363,8 +363,12 @@ def create_store(self):
363363

364364
@contextlib.contextmanager
365365
def roundtrip(
366-
self, data, save_kwargs={}, open_kwargs={}, allow_cleanup_failure=False
366+
self, data, save_kwargs=None, open_kwargs=None, allow_cleanup_failure=False
367367
):
368+
if save_kwargs is None:
369+
save_kwargs = {}
370+
if open_kwargs is None:
371+
open_kwargs = {}
368372
store = CFEncodedInMemoryStore()
369373
data.dump_to_store(store, **save_kwargs)
370374
yield open_dataset(store, **open_kwargs)

0 commit comments

Comments
 (0)