diff --git a/simulator/race_test.go b/simulator/race_test.go index be8d56855..688fff99f 100644 --- a/simulator/race_test.go +++ b/simulator/race_test.go @@ -86,6 +86,11 @@ func TestRace(t *testing.T) { t.Fatal(err) } + lv, err := view.NewManager(c.Client).CreateListView(ctx, nil) + if err != nil { + t.Fatal(err) + } + wg.Add(1) collectors.Add(1) go func() { @@ -144,10 +149,11 @@ func TestRace(t *testing.T) { defer wg.Done() task, _ := f.VmFolder.CreateVM(ctx, cspec, pool, nil) - _, terr := task.WaitForResult(ctx, nil) + r, terr := task.WaitForResult(ctx, nil) if terr != nil { t.Error(terr) } + _ = lv.Add(ctx, []types.ManagedObjectReference{r.Result.(types.ManagedObjectReference)}) }() } @@ -178,6 +184,7 @@ func TestRace(t *testing.T) { time.AfterFunc(100*time.Millisecond, func() { defer wg.Done() + _ = lv.Remove(ctx, []types.ManagedObjectReference{vm.Reference()}) task, _ := vm.PowerOff(ctx) _ = task.Wait(ctx) }) diff --git a/simulator/view_manager.go b/simulator/view_manager.go index 001e2f9a9..0a75301d4 100644 --- a/simulator/view_manager.go +++ b/simulator/view_manager.go @@ -209,7 +209,7 @@ type ListView struct { } func (v *ListView) update() { - Map.Update(v, []types.PropertyChange{{Name: "view", Val: v.View}}) + Map.Update(v.Self, []types.PropertyChange{{Name: "view", Val: v.View}}) } func (v *ListView) add(refs []types.ManagedObjectReference) *types.ManagedObjectNotFound {