Isolate invocation collaborator composition
This commit is contained in:
@@ -162,16 +162,20 @@ func TestPostPublishCleanupRetriesFailedDeletionWithoutTouchingOtherRuns(t *test
|
||||
cfg.Pipeline.Spool.DeleteAudioAfterPublish = true
|
||||
cfg.Pipeline.Workspace.CleanupAfterPublish = true
|
||||
|
||||
originalRemove := removeRunScopedDirFn
|
||||
removeRunScopedDirFn = func(root, target, policy string) error {
|
||||
remove := func(root, target, policy string) error {
|
||||
if policy == "pipeline.workspace.cleanup_after_publish" {
|
||||
return errors.New("injected deletion failure")
|
||||
}
|
||||
return originalRemove(root, target, policy)
|
||||
return removeRunScopedDir(root, target, policy)
|
||||
}
|
||||
t.Cleanup(func() { removeRunScopedDirFn = originalRemove })
|
||||
|
||||
_, err := executeStages(context.Background(), cfg, []stage.Stage{publishSuccessStage{targets: &seed}}, RunOptions{Env: &Env{ObjectStore: &storage.FakeBackend{}}})
|
||||
_, err := executePlanWithDependencies(
|
||||
context.Background(),
|
||||
cfg,
|
||||
BoundedPlan{stages: []stage.Stage{publishSuccessStage{targets: &seed}}},
|
||||
RunOptions{Env: &Env{ObjectStore: &storage.FakeBackend{}}},
|
||||
invocationDependencies{removeScopedDir: remove},
|
||||
)
|
||||
if err == nil || !strings.Contains(err.Error(), "post-publish cleanup incomplete") {
|
||||
t.Fatalf("executeStages() error = %v, want incomplete cleanup", err)
|
||||
}
|
||||
@@ -181,7 +185,6 @@ func TestPostPublishCleanupRetriesFailedDeletionWithoutTouchingOtherRuns(t *test
|
||||
assertExists(t, seed.otherRunDir)
|
||||
assertExists(t, seed.previousCachePath)
|
||||
|
||||
removeRunScopedDirFn = originalRemove
|
||||
if _, err := executeStages(context.Background(), cfg, nil, RunOptions{Env: &Env{ObjectStore: &storage.FakeBackend{}}}); err != nil {
|
||||
t.Fatalf("non-publish executeStages() error = %v", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user