Skip to content

Commit 8b286c0

Browse files
author
Joseph Hamman
committed
add test_pickle_reconstructor
1 parent 55a3abc commit 8b286c0

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

xarray/tests/test_backends.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919
from xarray import (
2020
DataArray, Dataset, backends, open_dataarray, open_dataset, open_mfdataset,
2121
save_mfdataset)
22-
from xarray.backends.common import robust_getitem
22+
from xarray.backends.common import (robust_getitem,
23+
PickleByReconstructionWrapper)
2324
from xarray.backends.netCDF4_ import _extract_nc4_variable_encoding
2425
from xarray.backends.pydap_ import PydapDataStore
2526
from xarray.core import indexing
@@ -2921,3 +2922,22 @@ def test_dataarray_to_netcdf_no_name_pathlib(self):
29212922

29222923
with open_dataarray(tmp) as loaded_da:
29232924
assert_identical(original_da, loaded_da)
2925+
2926+
2927+
def test_pickle_reconstructor():
2928+
2929+
lines = ['foo bar spam eggs']
2930+
2931+
with create_tmp_file() as tmp:
2932+
with open(tmp, 'w') as f:
2933+
f.writelines(lines)
2934+
2935+
obj = PickleByReconstructionWrapper(open, tmp)
2936+
2937+
assert obj.value.readlines() == lines
2938+
2939+
p_obj = pickle.dumps(obj)
2940+
obj.value.close() # for windows
2941+
obj2 = pickle.loads(p_obj)
2942+
2943+
assert obj2.value.readlines() == lines

0 commit comments

Comments
 (0)