diff --git a/pywr_utils/model_runner.py b/pywr_utils/model_runner.py index cc12f0f..eb46c8e 100644 --- a/pywr_utils/model_runner.py +++ b/pywr_utils/model_runner.py @@ -219,7 +219,7 @@ def run_incremental_sizes(max_zones=100, zone_increment=10, max_transfers=None, # Save results to CSV if results: df = pd.DataFrame(results) - output_path = os.path.join(output_dir, output_csv) + output_path = output_csv try: df.to_csv(output_path, index=False) print(f"\nResults saved to {os.path.abspath(output_path)}") diff --git a/tests/integration/test_incremental_sweep_failures.py b/tests/integration/test_incremental_sweep_failures.py index 9cf9dc0..f4f003b 100644 --- a/tests/integration/test_incremental_sweep_failures.py +++ b/tests/integration/test_incremental_sweep_failures.py @@ -117,10 +117,6 @@ def test_the_confirmed_summary_reports_its_size_on_disk(workdir, capsys): assert f"File size: {(workdir / 'timings.csv').stat().st_size} bytes" in output -@pytest.mark.xfail( - strict=True, - reason="run_incremental_sizes joins the output directory onto a path that already contains it, so an output_csv with any directory component is written to // and the whole sweep's results are lost to an OSError after every model has already been run.", -) def test_an_output_path_with_a_directory_component_is_written_where_it_was_asked_for(workdir): run_incremental_sizes(max_zones=2, zone_increment=2, transfer_increment=2, output_csv="results/timings.csv")