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):
|
with initialize_config_dir(config_dir, version_base=None):
|
||||||
cfg = compose(config_name=config_name, overrides=overrides)
|
cfg = compose(config_name=config_name, overrides=overrides)
|
||||||
|
|
||||||
|
OmegaConf.resolve(cfg)
|
||||||
|
|
||||||
suffix = Path(output_file).suffix.lower()
|
suffix = Path(output_file).suffix.lower()
|
||||||
if suffix not in [".yml", ".yaml"]:
|
if suffix not in [".yml", ".yaml"]:
|
||||||
dumper = DUMPERS[suffix]
|
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):
|
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
|
from dvc.utils.hydra import compose_and_dump
|
||||||
|
|
||||||
config = tmp_dir / "conf" / "config.yaml"
|
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"
|
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(
|
@pytest.mark.parametrize(
|
||||||
"overrides, expected",
|
"overrides, expected",
|
||||||
[
|
[
|
||||||
|
|||||||
Reference in New Issue
Block a user