diff --git a/CHANGES.md b/CHANGES.md index 57c1c92..2afe14d 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -18,6 +18,10 @@ npx auto-changelog -l false --hide-empty-releases -v v1.3.1 -o CHANGES.out.md - feat(ssh): add retry loop around SSH Exceptions [`#68`](https://github.com/AntaresSimulatorTeam/antares-launcher/pull/68) +### Fixes + +- fix(retriever): avoid infinite loop if sbatch command fails [`#69`](https://github.com/AntaresSimulatorTeam/antares-launcher/pull/69) + ## [1.3.1] - 2023-09-26 diff --git a/antareslauncher/use_cases/retrieve/state_updater.py b/antareslauncher/use_cases/retrieve/state_updater.py index 2c07cf0..6fac873 100644 --- a/antareslauncher/use_cases/retrieve/state_updater.py +++ b/antareslauncher/use_cases/retrieve/state_updater.py @@ -39,7 +39,7 @@ def run(self, study: StudyDTO) -> None: Args: study: The study data transfer object """ - if not study.done: + if not study.done and not study.with_error: # set current study job state flags if study.job_id: s, f, e = self._env.get_job_state_flags(study) diff --git a/tests/unit/retriever/test_study_retriever.py b/tests/unit/retriever/test_study_retriever.py index 4d9c506..e0876ef 100644 --- a/tests/unit/retriever/test_study_retriever.py +++ b/tests/unit/retriever/test_study_retriever.py @@ -54,6 +54,15 @@ def test_given_done_study_nothing_is_done(self): self.reporter.save_study.assert_not_called() self.zip_extractor.extract_final_zip.assert_not_called() + @pytest.mark.unit_test + def test_given_study_with_error_study_is_still_in_error(self): + env = mock.Mock() + display = mock.Mock() + self.state_updater = StateUpdater(env=env, display=display) + study_with_error = StudyDTO(path="hello", with_error=True) + self.study_retriever.retrieve(study_with_error) + assert study_with_error.with_error + @pytest.mark.unit_test def test_retrieve_study(self): """