From aa998a1e3cce03d0a23686729661107d873e9f73 Mon Sep 17 00:00:00 2001 From: Joseph Mearman Date: Sun, 25 Oct 2026 14:52:37 +0000 Subject: [PATCH] fix: write incremental sweep results to the path given in --output Pushed out from Nexsys-Analytics/monorepo's engine/pywr-utils by sync-downstream.sh. Mono-Tip: 7aafaa93b0f1b28b6d5c488413fcdddf176e7c2f --- pywr_utils/model_runner.py | 2 +- tests/integration/test_incremental_sweep_failures.py | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) 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")