Skip to content

Commit 61fc0a7

Browse files
fix(config): reject empty override keys (#883)
1 parent 59e7751 commit 61fc0a7

2 files changed

Lines changed: 7 additions & 0 deletions

File tree

src/minisweagent/config/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ def _key_value_spec_to_nested_dict(config_spec: str) -> dict:
4242
except json.JSONDecodeError:
4343
pass
4444
keys = key.split(".")
45+
if any(k == "" for k in keys):
46+
raise ValueError(f"Invalid config spec {config_spec!r}: empty config key")
4547
result = {}
4648
current = result
4749
for k in keys[:-1]:

tests/config/test_init.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,11 @@ def test_zero_integer(self):
8383
def test_zero_float(self):
8484
assert _key_value_spec_to_nested_dict("value=0.0") == {"value": 0.0}
8585

86+
@pytest.mark.parametrize("config_spec", ["=value", "model..name=value", "model.=value"])
87+
def test_empty_key_raises_value_error(self, config_spec):
88+
with pytest.raises(ValueError, match="empty config key"):
89+
_key_value_spec_to_nested_dict(config_spec)
90+
8691

8792
class TestGetConfigFromSpec:
8893
"""Tests for get_config_from_spec function."""

0 commit comments

Comments
 (0)