@@ -28,6 +28,7 @@ app_version: "1.0"
2828serve: start
2929commands:
3030 start:
31+ run: restart
3132 procedures:
3233 - image: alpine:3.20
3334 command: ["true"]
@@ -459,7 +460,7 @@ func TestRuntimeSupervisorCreateUsesRequestedNamespaceForRoot(t *testing.T) {
459460 }
460461}
461462
462- func TestRuntimeSupervisorEnsureMaterializationFailureIsRemembered (t * testing.T ) {
463+ func TestRuntimeSupervisorEnsureRetriesIncompleteMaterializationFailure (t * testing.T ) {
463464 store := newTestStateStore (t )
464465 callbacks := NewWorkerCallbackManager ()
465466 backend := & fakeWorkerBackend {callbacks : callbacks , workerErr : errors .New ("pull image failed" )}
@@ -481,12 +482,15 @@ func TestRuntimeSupervisorEnsureMaterializationFailureIsRemembered(t *testing.T)
481482 t .Fatalf ("failed scroll = %#v" , failed )
482483 }
483484
485+ backend .workerErr = nil
486+ backend .scrollYAML = cachedScrollYAML ("start" )
487+ backend .digest = "sha256:recovered"
484488 runtimeScroll , err := supervisor .Ensure ("registry.local/missing:1.0" , "broken-scroll" , nil )
485489 if err != nil {
486- t .Fatalf ("second Ensure error = %v, want remembered runtime scroll " , err )
490+ t .Fatalf ("second Ensure error = %v, want recovery " , err )
487491 }
488- if runtimeScroll .Status != domain .RuntimeScrollStatusError || backend .spawnCount != 1 {
489- t .Fatalf ("runtimeScroll=%#v spawnCount=%d, want remembered error and no respawn " , runtimeScroll , backend .spawnCount )
492+ if runtimeScroll .Status != domain .RuntimeScrollStatusCreated || runtimeScroll . ScrollYAML == "" || runtimeScroll . ArtifactDigest != "sha256:recovered" || backend .spawnCount != 2 {
493+ t .Fatalf ("runtimeScroll=%#v spawnCount=%d, want recovered materialization " , runtimeScroll , backend .spawnCount )
490494 }
491495}
492496
@@ -1005,6 +1009,7 @@ app_version: "2.0"
10051009serve: start
10061010commands:
10071011 start:
1012+ run: restart
10081013 procedures:
10091014 - image: alpine:3.20
10101015 command: ["true"]
0 commit comments