From 539b6f61e142e1e561afa03e4c472809206646b5 Mon Sep 17 00:00:00 2001 From: Lars Bogner Date: Wed, 29 Jul 2026 10:42:44 +0200 Subject: [PATCH] Add test coverage for resolve_expert_dims Covers the default-config 0-sentinel inheritance path (the exact bug fixed by 969c5c6, previously untested since every router test in test_router.py passes expert_hidden_dim/expert_n_blocks explicitly), plus missing-key inheritance, full override, and partial override. Co-Authored-By: Claude Sonnet 5 --- tests/test_config.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/tests/test_config.py b/tests/test_config.py index a035d3f..b0f30e3 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -115,3 +115,33 @@ def test_warn_if_checkpoint_config_mismatch_no_warning_when_hashes_match( gconfig.warn_if_checkpoint_config_mismatch(ckpt_path) assert capsys.readouterr().err == "" + + +def test_resolve_expert_dims_default_config_inherits_hidden_dim_and_n_blocks(): + # The unset sentinel (expert_hidden_dim/n_blocks == 0 in DEFAULT_CONFIG) + # is exactly the bug fixed by resolve_expert_dims: it must not silently + # fall back to some other hardcoded default, only to the monolith's own + # hidden_dim/n_blocks, so --hidden-dim/--n-blocks reach the experts too. + router_cfg = dict(gconfig.DEFAULT_CONFIG["model"]["router"]) + assert router_cfg["expert_hidden_dim"] == 0 + assert router_cfg["expert_n_blocks"] == 0 + + hidden_dim, n_blocks = gconfig.resolve_expert_dims(router_cfg, 512, 6) + assert (hidden_dim, n_blocks) == (512, 6) + + +def test_resolve_expert_dims_missing_keys_also_inherit(): + hidden_dim, n_blocks = gconfig.resolve_expert_dims({}, 512, 6) + assert (hidden_dim, n_blocks) == (512, 6) + + +def test_resolve_expert_dims_explicit_override_wins(): + router_cfg = {"expert_hidden_dim": 128, "expert_n_blocks": 3} + hidden_dim, n_blocks = gconfig.resolve_expert_dims(router_cfg, 512, 6) + assert (hidden_dim, n_blocks) == (128, 3) + + +def test_resolve_expert_dims_partial_override_mixes_explicit_and_inherited(): + router_cfg = {"expert_hidden_dim": 128, "expert_n_blocks": 0} + hidden_dim, n_blocks = gconfig.resolve_expert_dims(router_cfg, 512, 6) + assert (hidden_dim, n_blocks) == (128, 6) # n_blocks inherited, hidden_dim not