From 6fda03d64d444a15cb6275e19bc308f73fc88a81 Mon Sep 17 00:00:00 2001 From: Virgil Date: Fri, 3 Apr 2026 23:45:06 +0000 Subject: [PATCH] feat(process): fail invalid runner dependencies --- runner.go | 8 ++++---- runner_test.go | 18 ++++++++++-------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/runner.go b/runner.go index 07ba97b..463e002 100644 --- a/runner.go +++ b/runner.go @@ -110,10 +110,10 @@ func (r *Runner) RunAll(ctx context.Context, specs []RunSpec) (*RunAllResult, er // Keep the output aligned with the input order. for name := range remaining { results[indexMap[name]] = RunResult{ - Name: name, - Spec: remaining[name], - Skipped: true, - Error: coreerr.E("Runner.RunAll", "circular dependency or missing dependency", nil), + Name: name, + Spec: remaining[name], + ExitCode: 1, + Error: coreerr.E("Runner.RunAll", "circular dependency or missing dependency", nil), } } break diff --git a/runner_test.go b/runner_test.go index 746c705..12f7888 100644 --- a/runner_test.go +++ b/runner_test.go @@ -178,11 +178,12 @@ func TestRunner_RunAll_CircularDeps(t *testing.T) { }) require.NoError(t, err) - assert.True(t, result.Success()) - assert.Equal(t, 0, result.Failed) - assert.Equal(t, 2, result.Skipped) + assert.False(t, result.Success()) + assert.Equal(t, 2, result.Failed) + assert.Equal(t, 0, result.Skipped) for _, res := range result.Results { - assert.True(t, res.Skipped) + assert.False(t, res.Skipped) + assert.Equal(t, 1, res.ExitCode) assert.Error(t, res.Error) } }) @@ -195,11 +196,12 @@ func TestRunner_RunAll_CircularDeps(t *testing.T) { }) require.NoError(t, err) - assert.True(t, result.Success()) - assert.Equal(t, 0, result.Failed) - assert.Equal(t, 1, result.Skipped) + assert.False(t, result.Success()) + assert.Equal(t, 1, result.Failed) + assert.Equal(t, 0, result.Skipped) require.Len(t, result.Results, 1) - assert.True(t, result.Results[0].Skipped) + assert.False(t, result.Results[0].Skipped) + assert.Equal(t, 1, result.Results[0].ExitCode) assert.Error(t, result.Results[0].Error) }) }