|
20 | 20 | from zarr.testing.strategies import key_ranges |
21 | 21 | from zarr.testing.strategies import keys as zarr_keys |
22 | 22 |
|
| 23 | +MAX_BINARY_SIZE = 100 |
| 24 | + |
23 | 25 |
|
24 | 26 | class SyncStoreWrapper(zarr.core.sync.SyncMixin): |
25 | 27 | def __init__(self, store: Store) -> None: |
@@ -116,7 +118,7 @@ def __init__(self, store: Store) -> None: |
116 | 118 | def init_store(self): |
117 | 119 | self.store.clear() |
118 | 120 |
|
119 | | - @rule(key=zarr_keys, data=st.binary(min_size=0, max_size=100)) |
| 121 | + @rule(key=zarr_keys, data=st.binary(min_size=0, max_size=MAX_BINARY_SIZE)) |
120 | 122 | def set(self, key: str, data: DataObject) -> None: |
121 | 123 | note(f"(set) Setting {key!r} with {data}") |
122 | 124 | assert not self.store.mode.readonly |
@@ -144,7 +146,9 @@ def get_invalid_zarr_keys(self, key: str, data: DataObject) -> None: |
144 | 146 | @precondition(lambda self: len(self.model.keys()) > 0) |
145 | 147 | @rule(data=st.data()) |
146 | 148 | def get_partial_values(self, data: DataObject) -> None: |
147 | | - key_range = data.draw(key_ranges(keys=st.sampled_from(sorted(self.model.keys())))) |
| 149 | + key_range = data.draw( |
| 150 | + key_ranges(keys=st.sampled_from(sorted(self.model.keys())), max_size=MAX_BINARY_SIZE) |
| 151 | + ) |
148 | 152 | note(f"(get partial) {key_range=}") |
149 | 153 | obs_maybe = self.store.get_partial_values(key_range, self.prototype) |
150 | 154 | observed = [] |
@@ -246,6 +250,6 @@ def mk_test_instance_sync(): |
246 | 250 |
|
247 | 251 | if isinstance(sync_store, ZipStore): |
248 | 252 | pytest.skip(reason="ZipStore does not support delete") |
249 | | - if isinstance(sync_store, LocalStore): |
250 | | - pytest.skip(reason="This test does not handle subdirectories") |
| 253 | + # if isinstance(sync_store, LocalStore): |
| 254 | + # pytest.skip(reason="This test does not handle subdirectories") |
251 | 255 | run_state_machine_as_test(mk_test_instance_sync, settings=Settings(report_multiple_bugs=True)) |
0 commit comments