mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-02 07:18:25 +01:00
@@ -36,6 +36,8 @@ def compose_and_dump(
|
||||
with initialize_config_dir(config_dir, version_base=None):
|
||||
cfg = compose(config_name=config_name, overrides=overrides)
|
||||
|
||||
OmegaConf.resolve(cfg)
|
||||
|
||||
suffix = Path(output_file).suffix.lower()
|
||||
if suffix not in [".yml", ".yaml"]:
|
||||
dumper = DUMPERS[suffix]
|
||||
|
||||
@@ -178,7 +178,7 @@ def test_compose_and_dump(tmp_dir, suffix, overrides, expected):
|
||||
|
||||
|
||||
def test_compose_and_dump_yaml_handles_string(tmp_dir):
|
||||
"""Regression test for 8583"""
|
||||
"""Regression test for https://github.com/iterative/dvc/issues/8583"""
|
||||
from dvc.utils.hydra import compose_and_dump
|
||||
|
||||
config = tmp_dir / "conf" / "config.yaml"
|
||||
@@ -189,6 +189,20 @@ def test_compose_and_dump_yaml_handles_string(tmp_dir):
|
||||
assert output_file.read_text() == "foo: 'no'\n"
|
||||
|
||||
|
||||
def test_compose_and_dump_resolves_interpolation(tmp_dir):
|
||||
"""Regression test for https://github.com/iterative/dvc/issues/9196"""
|
||||
from dvc.utils.hydra import compose_and_dump
|
||||
|
||||
config = tmp_dir / "conf" / "config.yaml"
|
||||
config.parent.mkdir()
|
||||
config.dump({"data": {"root": "path/to/root", "raw": "${.root}/raw"}})
|
||||
output_file = tmp_dir / "params.yaml"
|
||||
compose_and_dump(output_file, str(config.parent), "config", [])
|
||||
assert output_file.parse() == {
|
||||
"data": {"root": "path/to/root", "raw": "path/to/root/raw"}
|
||||
}
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"overrides, expected",
|
||||
[
|
||||
|
||||
Reference in New Issue
Block a user