Skip to content

Commit 5db06cf

Browse files
committed
make signature tests more verbose
1 parent 439a6a2 commit 5db06cf

File tree

3 files changed

+33
-2
lines changed

3 files changed

+33
-2
lines changed

tests/test_api.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1238,7 +1238,22 @@ def test_consistent_signatures(
12381238
"""
12391239
base_sig = inspect.signature(a_func)
12401240
test_sig = inspect.signature(b_func)
1241-
assert test_sig.parameters == base_sig.parameters
1241+
wrong: dict[str, list[object]] = {
1242+
"missing_from_test": [],
1243+
"missing_from_base": [],
1244+
"wrong_type": [],
1245+
}
1246+
for key, value in base_sig.parameters.items():
1247+
if key not in test_sig.parameters:
1248+
wrong["missing_from_test"].append((key, value))
1249+
for key, value in test_sig.parameters.items():
1250+
if key not in base_sig.parameters:
1251+
wrong["missing_from_base"].append((key, value))
1252+
if base_sig.parameters[key] != value:
1253+
wrong["wrong_type"].append({key: {"test": value, "base": base_sig.parameters[key]}})
1254+
assert wrong["missing_from_base"] == []
1255+
assert wrong["missing_from_test"] == []
1256+
assert wrong["wrong_type"] == []
12421257

12431258

12441259
def test_api_exports() -> None:

tests/test_array.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -998,6 +998,7 @@ def test_chunks_and_shards() -> None:
998998

999999

10001000
@pytest.mark.parametrize("store", ["memory"], indirect=True)
1001+
@pytest.mark.filterwarnings("ignore::zarr.core.dtype.common.UnstableSpecificationWarning")
10011002
@pytest.mark.parametrize(
10021003
("dtype", "fill_value_expected"), [("<U4", ""), ("<S4", b""), ("i", 0), ("f", 0.0)]
10031004
)

tests/test_group.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1547,7 +1547,22 @@ def test_consistent_signatures(
15471547
"""
15481548
base_sig = inspect.signature(a_func)
15491549
test_sig = inspect.signature(b_func)
1550-
assert test_sig.parameters == base_sig.parameters
1550+
wrong: dict[str, list[object]] = {
1551+
"missing_from_test": [],
1552+
"missing_from_base": [],
1553+
"wrong_type": [],
1554+
}
1555+
for key, value in base_sig.parameters.items():
1556+
if key not in test_sig.parameters:
1557+
wrong["missing_from_test"].append((key, value))
1558+
for key, value in test_sig.parameters.items():
1559+
if key not in base_sig.parameters:
1560+
wrong["missing_from_base"].append((key, value))
1561+
if base_sig.parameters[key] != value:
1562+
wrong["wrong_type"].append({key: {"test": value, "base": base_sig.parameters[key]}})
1563+
assert wrong["missing_from_base"] == []
1564+
assert wrong["missing_from_test"] == []
1565+
assert wrong["wrong_type"] == []
15511566

15521567

15531568
@pytest.mark.parametrize("store", ["memory"], indirect=True)

0 commit comments

Comments
 (0)