|
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