fix(process): skip unresolved runner dependencies
Co-Authored-By: Virgil <virgil@lethean.io>
This commit is contained in:
parent
86f5fadff7
commit
04543700bc
2 changed files with 14 additions and 14 deletions
12
runner.go
12
runner.go
|
|
@ -80,13 +80,13 @@ type RunAllResult struct {
|
|||
Skipped int
|
||||
}
|
||||
|
||||
// Success returns true if all non-skipped specs passed.
|
||||
// Success returns true if every spec completed successfully.
|
||||
//
|
||||
// Example:
|
||||
//
|
||||
// if result.Success() { ... }
|
||||
func (r RunAllResult) Success() bool {
|
||||
return r.Failed == 0
|
||||
return r.Failed == 0 && r.Skipped == 0
|
||||
}
|
||||
|
||||
// RunAll executes specs respecting dependencies, parallelising where possible.
|
||||
|
|
@ -144,10 +144,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],
|
||||
ExitCode: 1,
|
||||
Error: coreerr.E("Runner.RunAll", "circular dependency or missing dependency", nil),
|
||||
Name: name,
|
||||
Spec: remaining[name],
|
||||
Skipped: true,
|
||||
Error: coreerr.E("Runner.RunAll", "circular dependency or missing dependency", nil),
|
||||
}
|
||||
}
|
||||
break
|
||||
|
|
|
|||
|
|
@ -179,11 +179,11 @@ func TestRunner_RunAll_CircularDeps(t *testing.T) {
|
|||
require.NoError(t, err)
|
||||
|
||||
assert.False(t, result.Success())
|
||||
assert.Equal(t, 2, result.Failed)
|
||||
assert.Equal(t, 0, result.Skipped)
|
||||
assert.Equal(t, 0, result.Failed)
|
||||
assert.Equal(t, 2, result.Skipped)
|
||||
for _, res := range result.Results {
|
||||
assert.False(t, res.Skipped)
|
||||
assert.Equal(t, 1, res.ExitCode)
|
||||
assert.True(t, res.Skipped)
|
||||
assert.Equal(t, 0, res.ExitCode)
|
||||
assert.Error(t, res.Error)
|
||||
}
|
||||
})
|
||||
|
|
@ -197,11 +197,11 @@ func TestRunner_RunAll_CircularDeps(t *testing.T) {
|
|||
require.NoError(t, err)
|
||||
|
||||
assert.False(t, result.Success())
|
||||
assert.Equal(t, 1, result.Failed)
|
||||
assert.Equal(t, 0, result.Skipped)
|
||||
assert.Equal(t, 0, result.Failed)
|
||||
assert.Equal(t, 1, result.Skipped)
|
||||
require.Len(t, result.Results, 1)
|
||||
assert.False(t, result.Results[0].Skipped)
|
||||
assert.Equal(t, 1, result.Results[0].ExitCode)
|
||||
assert.True(t, result.Results[0].Skipped)
|
||||
assert.Equal(t, 0, result.Results[0].ExitCode)
|
||||
assert.Error(t, result.Results[0].Error)
|
||||
})
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue