feat(preprocess): resume evidence jobs by run id
This commit is contained in:
@@ -64,6 +64,27 @@ def test_failed_stage_is_resumable_and_skips_completed_stage(tmp_path):
|
||||
assert calls == [("discover", False), ("acquire", False), ("recovered", False)]
|
||||
|
||||
|
||||
def test_resume_carries_successful_stage_artifacts_into_new_run(tmp_path):
|
||||
def discover(context):
|
||||
artifacts = context.run_dir / "artifacts"
|
||||
artifacts.mkdir()
|
||||
(artifacts / "discovery.json").write_text('{"source":"one"}')
|
||||
|
||||
first = run_job(
|
||||
_spec(tmp_path, stage_ids=("discover", "acquire")),
|
||||
[discover, lambda _context: (_ for _ in ()).throw(RuntimeError("crash"))],
|
||||
)
|
||||
|
||||
def acquire(context):
|
||||
assert (context.run_dir / "artifacts" / "discovery.json").read_text() == '{"source":"one"}'
|
||||
|
||||
resumed = run_job(
|
||||
_spec(tmp_path, resume_run_id=first.run_id, stage_ids=("discover", "acquire")),
|
||||
[discover, acquire],
|
||||
)
|
||||
assert resumed.status == "succeeded"
|
||||
|
||||
|
||||
def test_successful_job_is_idempotently_resumable(tmp_path):
|
||||
calls = []
|
||||
|
||||
|
||||
Reference in New Issue
Block a user