mirror of
https://github.com/OliveTin/OliveTin
synced 2026-08-26 20:46:35 +00:00
77 lines
1.5 KiB
Go
77 lines
1.5 KiB
Go
package executor
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestExecutionResultLabel(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
entry *InternalLogEntry
|
|
want string
|
|
}{
|
|
{
|
|
name: "success",
|
|
entry: &InternalLogEntry{
|
|
ExecutionStarted: true,
|
|
ExecutionFinished: true,
|
|
ExitCode: 0,
|
|
},
|
|
want: executionResultSuccess,
|
|
},
|
|
{
|
|
name: "failed nonzero exit",
|
|
entry: &InternalLogEntry{
|
|
ExecutionStarted: true,
|
|
ExecutionFinished: true,
|
|
ExitCode: 1,
|
|
},
|
|
want: executionResultFailed,
|
|
},
|
|
{
|
|
name: "blocked",
|
|
entry: &InternalLogEntry{
|
|
Blocked: true,
|
|
ExecutionFinished: true,
|
|
ExitCode: 0,
|
|
},
|
|
want: executionResultBlocked,
|
|
},
|
|
{
|
|
name: "timeout",
|
|
entry: &InternalLogEntry{
|
|
ExecutionStarted: true,
|
|
ExecutionFinished: true,
|
|
TimedOut: true,
|
|
ExitCode: -1,
|
|
},
|
|
want: executionResultTimeout,
|
|
},
|
|
{
|
|
name: "error before execution",
|
|
entry: &InternalLogEntry{
|
|
ExecutionFinished: true,
|
|
ExitCode: DefaultExitCodeNotExecuted,
|
|
},
|
|
want: executionResultError,
|
|
},
|
|
{
|
|
name: "error never started",
|
|
entry: &InternalLogEntry{
|
|
ExecutionStarted: false,
|
|
ExecutionFinished: true,
|
|
ExitCode: 2,
|
|
},
|
|
want: executionResultError,
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
assert.Equal(t, tt.want, executionResultLabel(tt.entry))
|
|
})
|
|
}
|
|
}
|