From a361eb2211a4f5e0650a801874a5e52a68939195 Mon Sep 17 00:00:00 2001 From: Joe Zuntz Date: Mon, 9 Mar 2026 09:54:25 +0000 Subject: [PATCH] also fix in case where there are defaults --- cosmosis/runtime/config.py | 1 + cosmosis/test/test_parameters.py | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/cosmosis/runtime/config.py b/cosmosis/runtime/config.py index ec78621d..c577d115 100644 --- a/cosmosis/runtime/config.py +++ b/cosmosis/runtime/config.py @@ -206,6 +206,7 @@ def _interpolate_compatibility(self, section, option, value, d): elif hasattr(self, "_interpolate"): return self._interpolate(section, option, value, d) else: + d = self._unify_values(section, {}) return self._interpolation.before_get(self, section, option, value, d) diff --git a/cosmosis/test/test_parameters.py b/cosmosis/test/test_parameters.py index 50cf3714..9328b9bd 100644 --- a/cosmosis/test/test_parameters.py +++ b/cosmosis/test/test_parameters.py @@ -4,6 +4,7 @@ import numpy as np import tempfile import os +import io def test_override_new(): with tempfile.NamedTemporaryFile('w') as values: @@ -97,4 +98,17 @@ def test_items(): ini.set("parameters", "p1", "-3.0 0.0 3.0") ini.set("parameters", "p2", "-3.0 0.0 3.0") ini.items("parameters", defaults=True) - ini.items("parameters", defaults=False) \ No newline at end of file + ini.items("parameters", defaults=False) + +def test_items_with_defaults(): + sio = io.StringIO(""" +[DEFAULT] +x = 1 +[parameters] +y = 2 +""") + ini = Inifile(sio) + assert ini.getint("parameters", "y") == 2 + assert ini.getint("parameters", "x") == 1 + assert dict(ini.items("parameters", defaults=True)) == {"x": "1", "y": "2"} + assert dict(ini.items("parameters", defaults=False)) == {"y": "2"}