|
20 | 20 | from distributed.protocol import ( |
21 | 21 | Serialize, |
22 | 22 | Serialized, |
| 23 | + ToPickle, |
23 | 24 | dask_serialize, |
24 | 25 | deserialize, |
25 | 26 | deserialize_bytes, |
26 | 27 | dumps, |
27 | 28 | loads, |
28 | | - nested_deserialize, |
29 | 29 | register_serialization, |
30 | 30 | register_serialization_family, |
31 | 31 | serialize, |
|
35 | 35 | ) |
36 | 36 | from distributed.protocol.serialize import ( |
37 | 37 | _is_msgpack_serializable, |
| 38 | + _nested_deserialize, |
38 | 39 | check_dask_serializable, |
39 | 40 | ) |
40 | 41 | from distributed.utils import ensure_memoryview, nbytes |
@@ -166,12 +167,24 @@ def test_nested_deserialize(): |
166 | 167 | "x": [to_serialize(123), to_serialize(456), 789], |
167 | 168 | "y": {"a": ["abc", Serialized(*serialize("def"))], "b": b"ghi"}, |
168 | 169 | } |
| 170 | + |
| 171 | + x_orig = copy.deepcopy(x) |
| 172 | + assert _nested_deserialize(x, emulate_deserialize=False) == x_orig |
| 173 | + |
| 174 | + assert x == x_orig # x wasn't mutated |
| 175 | + x["topickle"] = ToPickle(1) |
| 176 | + x["topickle_nested"] = [1, ToPickle(2)] |
169 | 177 | x_orig = copy.deepcopy(x) |
| 178 | + assert (out := _nested_deserialize(x, emulate_deserialize=False)) != x_orig |
| 179 | + assert out["topickle"] == 1 |
| 180 | + assert out["topickle_nested"] == [1, 2] |
170 | 181 |
|
171 | | - assert nested_deserialize(x) == { |
| 182 | + assert _nested_deserialize(x) == { |
172 | 183 | "op": "update", |
173 | 184 | "x": [123, 456, 789], |
174 | 185 | "y": {"a": ["abc", "def"], "b": b"ghi"}, |
| 186 | + "topickle": 1, |
| 187 | + "topickle_nested": [1, 2], |
175 | 188 | } |
176 | 189 | assert x == x_orig # x wasn't mutated |
177 | 190 |
|
|
0 commit comments