diff --git a/agent/service.go b/agent/service.go index 376b9538..ef459e0e 100644 --- a/agent/service.go +++ b/agent/service.go @@ -65,6 +65,7 @@ const ( Completed Terminated Warning + Starting ) const ( @@ -352,7 +353,7 @@ func (as *agentService) Attestation(ctx context.Context, reportData [ReportDataS } func (as *agentService) runComputation(state statemachine.State) { - as.publishEvent(InProgress.String())(state) + as.publishEvent(Starting.String())(state) as.logger.Debug("computation run started") defer func() { if as.runError != nil { diff --git a/agent/state_test.go b/agent/state_test.go index 1bd26941..f6b0b2a3 100644 --- a/agent/state_test.go +++ b/agent/state_test.go @@ -183,3 +183,70 @@ func TestConcurrency(t *testing.T) { t.Errorf("Unexpected final state: %v", finalState) } } + +func TestAgentEventString(t *testing.T) { + tests := []struct { + event AgentEvent + want string + }{ + {Start, "Start"}, + {ManifestReceived, "ManifestReceived"}, + {AlgorithmReceived, "AlgorithmReceived"}, + {DataReceived, "DataReceived"}, + {RunComplete, "RunComplete"}, + {ResultsConsumed, "ResultsConsumed"}, + {RunFailed, "RunFailed"}, + {AgentEvent(-1), "AgentEvent(-1)"}, + } + + for _, tt := range tests { + if got := tt.event.String(); got != tt.want { + t.Errorf("AgentEvent.String() = %v, want %v", got, tt.want) + } + } +} + +func TestAgentStateString(t *testing.T) { + tests := []struct { + state AgentState + want string + }{ + {Idle, "Idle"}, + {ReceivingManifest, "ReceivingManifest"}, + {ReceivingAlgorithm, "ReceivingAlgorithm"}, + {ReceivingData, "ReceivingData"}, + {Running, "Running"}, + {ConsumingResults, "ConsumingResults"}, + {Complete, "Complete"}, + {Failed, "Failed"}, + {AgentState(-1), "AgentState(-1)"}, + } + + for _, tt := range tests { + if got := tt.state.String(); got != tt.want { + t.Errorf("AgentState.String() = %v, want %v", got, tt.want) + } + } +} + +func TestStatusString(t *testing.T) { + tests := []struct { + status Status + want string + }{ + {IdleState, "IdleState"}, + {InProgress, "InProgress"}, + {Ready, "Ready"}, + {Completed, "Completed"}, + {Terminated, "Terminated"}, + {Warning, "Warning"}, + {Starting, "Starting"}, + {Status(uint8(8)), "Status(8)"}, + } + + for _, tt := range tests { + if got := tt.status.String(); got != tt.want { + t.Errorf("Status.String() = %v, want %v", got, tt.want) + } + } +} diff --git a/agent/status_string.go b/agent/status_string.go index a2fdf1bb..1dce358b 100644 --- a/agent/status_string.go +++ b/agent/status_string.go @@ -14,11 +14,12 @@ func _() { _ = x[Completed-3] _ = x[Terminated-4] _ = x[Warning-5] + _ = x[Starting-6] } -const _Status_name = "IdleStateInProgressReadyCompletedTerminatedWarning" +const _Status_name = "IdleStateInProgressReadyCompletedTerminatedWarningStarting" -var _Status_index = [...]uint8{0, 9, 19, 24, 33, 43, 50} +var _Status_index = [...]uint8{0, 9, 19, 24, 33, 43, 50, 58} func (i Status) String() string { if i >= Status(len(_Status_index)-1) {