feat(process): fail invalid runner dependencies

This commit is contained in:
Virgil 2026-04-03 23:45:06 +00:00
parent 9457694e46
commit 6fda03d64d
2 changed files with 14 additions and 12 deletions

View file

@ -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

View file

@ -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)
})
}