|
1 | 1 | from __future__ import annotations |
2 | 2 |
|
| 3 | +import contextlib |
3 | 4 | import pickle |
4 | 5 | import warnings |
5 | 6 | from typing import TYPE_CHECKING, Any, Literal, cast |
@@ -178,22 +179,33 @@ def test_group_members(store: Store, zarr_format: ZarrFormat, consolidated_metad |
178 | 179 | ) |
179 | 180 | ) |
180 | 181 |
|
| 182 | + # this warning shows up when extra objects show up in the hierarchy |
| 183 | + warn_context = pytest.warns( |
| 184 | + UserWarning, match=r"Object at .* is not recognized as a component of a Zarr hierarchy." |
| 185 | + ) |
181 | 186 | if consolidated_metadata: |
182 | | - zarr.consolidate_metadata(store=store, zarr_format=zarr_format) |
| 187 | + with warn_context: |
| 188 | + zarr.consolidate_metadata(store=store, zarr_format=zarr_format) |
| 189 | + # now that we've consolidated the store, we shouldn't get the warnings from the unrecognized objects anymore |
| 190 | + # we use a nullcontext to handle these cases |
| 191 | + warn_context = contextlib.nullcontext() |
183 | 192 | group = zarr.open_consolidated(store=store, zarr_format=zarr_format) |
184 | 193 |
|
185 | | - members_observed = group.members() |
| 194 | + with warn_context: |
| 195 | + members_observed = group.members() |
186 | 196 | # members are not guaranteed to be ordered, so sort before comparing |
187 | 197 | assert sorted(dict(members_observed)) == sorted(members_expected) |
188 | 198 |
|
189 | 199 | # partial |
190 | | - members_observed = group.members(max_depth=1) |
| 200 | + with warn_context: |
| 201 | + members_observed = group.members(max_depth=1) |
191 | 202 | members_expected["subgroup/subsubgroup"] = subsubgroup |
192 | 203 | # members are not guaranteed to be ordered, so sort before comparing |
193 | 204 | assert sorted(dict(members_observed)) == sorted(members_expected) |
194 | 205 |
|
195 | 206 | # total |
196 | | - members_observed = group.members(max_depth=None) |
| 207 | + with warn_context: |
| 208 | + members_observed = group.members(max_depth=None) |
197 | 209 | members_expected["subgroup/subsubgroup/subsubsubgroup"] = subsubsubgroup |
198 | 210 | # members are not guaranteed to be ordered, so sort before comparing |
199 | 211 | assert sorted(dict(members_observed)) == sorted(members_expected) |
|
0 commit comments