Harden initial framework skeleton
This commit is contained in:
@@ -34,6 +34,10 @@ func TestStageMarkHelpers(t *testing.T) {
|
||||
if len(stage.Outputs) != 1 {
|
||||
t.Fatalf("outputs len = %d, want 1", len(stage.Outputs))
|
||||
}
|
||||
outputs[0].LocalPath = "mutated.json"
|
||||
if stage.Outputs[0].LocalPath != "transcripts/processed.json" {
|
||||
t.Fatalf("stage outputs should be copied, got %#v", stage.Outputs)
|
||||
}
|
||||
|
||||
failedAt := succeededAt.Add(1 * time.Minute)
|
||||
m.MarkStageFailed("analyze", failedAt, "analyzer crashed")
|
||||
@@ -64,3 +68,45 @@ func TestStageMarkHelpers(t *testing.T) {
|
||||
t.Fatalf("error code = %q, want %q", skipped.Error.Code, "skipped")
|
||||
}
|
||||
}
|
||||
|
||||
func TestMarkStageRunningClearsPriorCompletionAndError(t *testing.T) {
|
||||
m := New("2026-05-03", time.Date(2026, 5, 3, 10, 0, 0, 0, time.UTC))
|
||||
|
||||
failedAt := time.Date(2026, 5, 3, 10, 1, 0, 0, time.UTC)
|
||||
m.MarkStageFailed("merge", failedAt, "boom")
|
||||
|
||||
runAt := failedAt.Add(1 * time.Minute)
|
||||
m.MarkStageRunning("merge", runAt)
|
||||
|
||||
stage := m.Stages["merge"]
|
||||
if stage == nil {
|
||||
t.Fatal("missing stage record")
|
||||
}
|
||||
if stage.Status != StatusRunning {
|
||||
t.Fatalf("status = %q, want %q", stage.Status, StatusRunning)
|
||||
}
|
||||
if stage.CompletedAt != nil {
|
||||
t.Fatalf("completed_at = %v, want nil while running", stage.CompletedAt)
|
||||
}
|
||||
if stage.Error != nil {
|
||||
t.Fatalf("error = %#v, want nil while running", stage.Error)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMarkStageSucceededClearsError(t *testing.T) {
|
||||
m := New("2026-05-03", time.Date(2026, 5, 3, 10, 0, 0, 0, time.UTC))
|
||||
|
||||
m.MarkStageFailed("analyze", time.Date(2026, 5, 3, 10, 1, 0, 0, time.UTC), "failed once")
|
||||
m.MarkStageSucceeded("analyze", time.Date(2026, 5, 3, 10, 2, 0, 0, time.UTC), nil)
|
||||
|
||||
stage := m.Stages["analyze"]
|
||||
if stage == nil {
|
||||
t.Fatal("missing stage record")
|
||||
}
|
||||
if stage.Status != StatusSucceeded {
|
||||
t.Fatalf("status = %q, want %q", stage.Status, StatusSucceeded)
|
||||
}
|
||||
if stage.Error != nil {
|
||||
t.Fatalf("error = %#v, want nil on success", stage.Error)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user