diff --git a/internal/execution/scheduler.go b/internal/execution/scheduler.go index 6367033f98..0a381e7e9c 100644 --- a/internal/execution/scheduler.go +++ b/internal/execution/scheduler.go @@ -451,6 +451,11 @@ func (e *Scheduler) Run(globalCtx, runCtx context.Context, samplesOut chan<- met e.initProgress.Modify(pb.WithConstProgress(1, "Starting test...")) e.state.MarkStarted() defer func() { + if e.state.Test.TestStatus != nil && e.state.Test.TestStatus.Failed() { + e.state.SetExecutionStatus(lib.ExecutionStatusMarkedAsFailed) + return + } + isAborted := GetCancelReasonIfTestAborted(runCtx) != nil if !isAborted { e.state.MarkEnded() diff --git a/lib/execution.go b/lib/execution.go index b42a70e5f8..6132372ff8 100644 --- a/lib/execution.go +++ b/lib/execution.go @@ -47,6 +47,7 @@ const ( ExecutionStatusTeardown ExecutionStatusEnded ExecutionStatusInterrupted + ExecutionStatusMarkedAsFailed ) // ExecutionState contains a few different things: diff --git a/lib/execution_status_gen.go b/lib/execution_status_gen.go index e1a4dbeb5a..ffdbdddb50 100644 --- a/lib/execution_status_gen.go +++ b/lib/execution_status_gen.go @@ -6,9 +6,9 @@ import ( "fmt" ) -const _ExecutionStatusName = "CreatedInitVUsInitExecutorsInitDonePausedBeforeRunStartedSetupRunningTeardownEndedInterrupted" +const _ExecutionStatusName = "CreatedInitVUsInitExecutorsInitDonePausedBeforeRunStartedSetupRunningTeardownEndedInterruptedMarkedAsFailed" -var _ExecutionStatusIndex = [...]uint8{0, 7, 14, 27, 35, 50, 57, 62, 69, 77, 82, 93} +var _ExecutionStatusIndex = [...]uint8{0, 7, 14, 27, 35, 50, 57, 62, 69, 77, 82, 93, 107} func (i ExecutionStatus) String() string { if i >= ExecutionStatus(len(_ExecutionStatusIndex)-1) { @@ -17,20 +17,21 @@ func (i ExecutionStatus) String() string { return _ExecutionStatusName[_ExecutionStatusIndex[i]:_ExecutionStatusIndex[i+1]] } -var _ExecutionStatusValues = []ExecutionStatus{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10} +var _ExecutionStatusValues = []ExecutionStatus{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11} var _ExecutionStatusNameToValueMap = map[string]ExecutionStatus{ - _ExecutionStatusName[0:7]: 0, - _ExecutionStatusName[7:14]: 1, - _ExecutionStatusName[14:27]: 2, - _ExecutionStatusName[27:35]: 3, - _ExecutionStatusName[35:50]: 4, - _ExecutionStatusName[50:57]: 5, - _ExecutionStatusName[57:62]: 6, - _ExecutionStatusName[62:69]: 7, - _ExecutionStatusName[69:77]: 8, - _ExecutionStatusName[77:82]: 9, - _ExecutionStatusName[82:93]: 10, + _ExecutionStatusName[0:7]: 0, + _ExecutionStatusName[7:14]: 1, + _ExecutionStatusName[14:27]: 2, + _ExecutionStatusName[27:35]: 3, + _ExecutionStatusName[35:50]: 4, + _ExecutionStatusName[50:57]: 5, + _ExecutionStatusName[57:62]: 6, + _ExecutionStatusName[62:69]: 7, + _ExecutionStatusName[69:77]: 8, + _ExecutionStatusName[77:82]: 9, + _ExecutionStatusName[82:93]: 10, + _ExecutionStatusName[93:107]: 11, } // ExecutionStatusString retrieves an enum value from the enum constants string name.