Skip to content

Commit

Permalink
add empty line and parallel test cases
Browse files Browse the repository at this point in the history
Signed-off-by: Sammy Oina <[email protected]>
  • Loading branch information
SammyOina committed Nov 18, 2024
1 parent 6a2d064 commit 1ef03ba
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 43 deletions.
64 changes: 47 additions & 17 deletions manager/vm/state_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -107,25 +107,55 @@ func TestStateMachineTransitions(t *testing.T) {
}

func TestStateMachineConcurrency(t *testing.T) {
sm := NewStateMachine()
var wg sync.WaitGroup
const numGoroutines = 10

wg.Add(numGoroutines)
for i := 0; i < numGoroutines; i++ {
go func() {
defer wg.Done()
_ = sm.Transition(manager.VmRunning)
_ = sm.State()
}()
testCases := []struct {
name string
initialState manager.ManagerState
transitionState manager.ManagerState
expectedStates []string
}{
{
name: "Transition from VmProvision to VmRunning",
initialState: manager.VmProvision,
transitionState: manager.VmRunning,
expectedStates: []string{manager.VmProvision.String(), manager.VmRunning.String()},
},
{
name: "Transition from VmRunning to StopComputationRun",
initialState: manager.VmRunning,
transitionState: manager.StopComputationRun,
expectedStates: []string{manager.VmRunning.String(), manager.StopComputationRun.String()},
},
{
name: "Transition from StopComputationRun back to VmRunning",
initialState: manager.StopComputationRun,
transitionState: manager.VmRunning,
expectedStates: []string{manager.StopComputationRun.String(), manager.VmRunning.String()},
},
}
wg.Wait()

finalState := sm.State()
assert.Contains(t, []string{
manager.VmProvision.String(),
manager.VmRunning.String(),
}, finalState, "Final state should be either VmProvision or VmRunning")
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
t.Parallel()

sm := NewStateMachine()
var wg sync.WaitGroup
const numGoroutines = 10

wg.Add(numGoroutines)
for i := 0; i < numGoroutines; i++ {
go func() {
defer wg.Done()
_ = sm.Transition(tc.transitionState)
_ = sm.State()
}()
}
wg.Wait()

finalState := sm.State()
assert.Contains(t, tc.expectedStates, finalState,
"Final state should be one of the expected states")
})
}
}

func TestStateRetrieval(t *testing.T) {
Expand Down
52 changes: 26 additions & 26 deletions scripts/backend_info/backend_info.json
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
{
"policy": {
"policy": 196608,
"family_id": "AAAAAAAAAAAAAAAAAAAAAA==",
"image_id": "AAAAAAAAAAAAAAAAAAAAAA==",
"vmpl": 0,
"minimum_tcb": 15352208179752599555,
"minimum_launch_tcb": 15352208179752599555,
"require_author_key": false,
"measurement": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
"host_data": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
"report_id_ma": "//////////////////////////////////////////8=",
"chip_id": "GrFqtQ+lrkLsjBslu9pcC6XqkrtFWY1ArIQ+I4gugQIsvCG0qekSvEtE4P/SLSJ6mHNpOkY0MHnGpvz1OkV+kw==",
"minimum_build": 8,
"minimum_version": "1.55",
"permit_provisional_firmware": true,
"require_id_block": false,
"product": {
"name": 1
}
},
"root_of_trust": {
"product": "Milan",
"check_crl": true,
"disallow_network": false,
"product_line": "Milan"
"policy": {
"policy": 196608,
"family_id": "AAAAAAAAAAAAAAAAAAAAAA==",
"image_id": "AAAAAAAAAAAAAAAAAAAAAA==",
"vmpl": 0,
"minimum_tcb": 15352208179752599555,
"minimum_launch_tcb": 15352208179752599555,
"require_author_key": false,
"measurement": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
"host_data": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
"report_id_ma": "//////////////////////////////////////////8=",
"chip_id": "GrFqtQ+lrkLsjBslu9pcC6XqkrtFWY1ArIQ+I4gugQIsvCG0qekSvEtE4P/SLSJ6mHNpOkY0MHnGpvz1OkV+kw==",
"minimum_build": 8,
"minimum_version": "1.55",
"permit_provisional_firmware": true,
"require_id_block": false,
"product": {
"name": 1
}
}
},
"root_of_trust": {
"product": "Milan",
"check_crl": true,
"disallow_network": false,
"product_line": "Milan"
}
}

0 comments on commit 1ef03ba

Please sign in to comment.