Skip to content

Commit 3769baa

Browse files
committed
Fixing problem for silently supporting jsonnet.
1 parent aebf3f4 commit 3769baa

File tree

2 files changed

+21
-1
lines changed

2 files changed

+21
-1
lines changed

src/lightning/pytorch/cli.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -554,7 +554,7 @@ def parse_arguments(self, parser: LightningArgumentParser, args: ArgsType) -> No
554554
def _dump_config(self) -> None:
555555
if hasattr(self, "config_dump"):
556556
return
557-
self.config_dump = yaml.safe_load(self.parser.dump(self.config, skip_link_targets=False, skip_none=False))
557+
self.config_dump = yaml.safe_load(self.parser.dump(self.config, skip_link_targets=False, skip_none=False, format="yaml"))
558558
if "subcommand" in self.config:
559559
self.config_dump = self.config_dump[self.config.subcommand]
560560

tests/tests_pytorch/test_cli.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1858,3 +1858,23 @@ def test_lightning_cli_with_args_given(args):
18581858
def test_lightning_cli_args_and_sys_argv_warning():
18591859
with mock.patch("sys.argv", ["", "--model.foo=456"]), pytest.warns(Warning, match="LightningCLI's args parameter "):
18601860
LightningCLI(TestModel, run=False, args=["--model.foo=789"])
1861+
1862+
def test_lightning_cli_jsonnet(cleandir):
1863+
class MainModule(BoringModel):
1864+
def __init__(self, main_param: int = 1):
1865+
super().__init__()
1866+
1867+
1868+
config = """{
1869+
"model":{
1870+
"main_param": 2
1871+
}
1872+
}"""
1873+
config_path = Path("config.jsonnet")
1874+
config_path.write_text(config)
1875+
1876+
cli_args = [f"--config={config_path}"]
1877+
with mock.patch("sys.argv", ["any.py"] + cli_args):
1878+
cli = LightningCLI(MainModule, run=False, parser_kwargs={"parser_mode": "jsonnet"})
1879+
1880+
assert cli.config["model"]["main_param"] == 2

0 commit comments

Comments
 (0)