From baa8661d8af9c8b166e8975c0c3797a138f466d3 Mon Sep 17 00:00:00 2001 From: "Martindale, Nathan" Date: Wed, 6 Dec 2023 16:24:15 -0500 Subject: [PATCH] Fix run_experiment not handling param_files of None Fixes #119 --- curifactory/experiment.py | 7 ++++--- test/test_experiment.py | 6 ++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/curifactory/experiment.py b/curifactory/experiment.py index e8213a8..6b7893c 100644 --- a/curifactory/experiment.py +++ b/curifactory/experiment.py @@ -22,7 +22,7 @@ def run_experiment( # noqa: C901 -- TODO: this does need to be broken up at some point experiment_name, - param_files, + param_files=None, overwrite_override=None, cache_dir_override=None, mngr: ArtifactManager = None, @@ -170,8 +170,9 @@ def run_experiment( # noqa: C901 -- TODO: this does need to be broken up at som if run_string is None: run_string = f"experiment {experiment_name}" - for param_file in param_files: - run_string += f" -p {param_file}" + if param_files is not None: + for param_file in param_files: + run_string += f" -p {param_file}" if param_set_names is not None: for param_set_name in param_set_names: run_string += f" --names {param_set_name}" diff --git a/test/test_experiment.py b/test/test_experiment.py index 84ee324..ae407a6 100644 --- a/test/test_experiment.py +++ b/test/test_experiment.py @@ -428,6 +428,12 @@ def test_empty_parameters_errors(clear_filesystem): ) +def test_experiment_none_parameters_runs(clear_filesystem): + """Not passing in any value to run_experiment for parameters should be equivalent to passing [] or implicitly passing the experiment's name.""" + results, manager = run_experiment("simple_cache") + assert len(manager.records) == 4 + + def test_invalid_args_names_errors(clear_filesystem): """Using a --names flag but with a non-existant parameterset name should error.""" with pytest.raises(RuntimeError) as exc_info: