Skip to content

Commit

Permalink
koordlet: fix flaky test in pleg (#2061)
Browse files Browse the repository at this point in the history
Signed-off-by: saintube <saintube@foxmail.com>
  • Loading branch information
saintube committed May 25, 2024
1 parent c5e05e2 commit 8246243
Showing 1 changed file with 26 additions and 22 deletions.
48 changes: 26 additions & 22 deletions pkg/koordlet/pleg/pleg_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,21 +82,6 @@ func (h *testHandler) OnContainerDeleted(podID, containerID string) {
}

func TestPlegHandlePodEvents(t *testing.T) {
stopCh := make(chan struct{})
defer close(stopCh)

pg, err := NewPLEG("./test")
if err != nil {
t.Fatal(err)
}
pg.(*pleg).podWatcher, _ = NewTestWatcher()
pg.(*pleg).containerWatcher, _ = NewTestWatcher()
go pg.Run(stopCh)

handler := NewTestHandler()
id := pg.AddHandler(handler)
defer pg.RemoverHandler(id)

testCases := []struct {
name string
mockEvent *inotify.Event
Expand Down Expand Up @@ -130,20 +115,37 @@ func TestPlegHandlePodEvents(t *testing.T) {

for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
stopCh := make(chan struct{})
defer close(stopCh)

pg, err := NewPLEG("./test")
if err != nil {
t.Fatal(err)
}
pg.(*pleg).podWatcher, _ = NewTestWatcher()
pg.(*pleg).containerWatcher, _ = NewTestWatcher()
go pg.Run(stopCh)

handler := NewTestHandler()
id := pg.AddHandler(handler)
defer pg.RemoverHandler(id)

pg.(*pleg).podWatcher.Event() <- tc.mockEvent
timer := time.NewTimer(100 * time.Millisecond)
defer timer.Stop()
if tc.want {
timer := time.NewTimer(2 * time.Second)
defer timer.Stop()
select {
case evt := <-handler.events:
assert.Equal(t, tc.wantEvent, evt, "unexpected event received "+evt.podID)
case <-timer.C:
t.Errorf("read event timeout")
}
} else {
timer := time.NewTimer(100 * time.Millisecond)
defer timer.Stop()
select {
case evt := <-handler.events:
t.Errorf("unexpceted event received: %v", evt)
t.Errorf("unexpected event received: %v", evt)
case <-timer.C:
}
}
Expand Down Expand Up @@ -182,7 +184,7 @@ func TestPlegHandleContainerEvents(t *testing.T) {
stopCh := make(chan struct{})
defer close(stopCh)

pg, err := NewPLEG("./test-" + tc.name)
pg, err := NewPLEG("./test")
if err != nil {
t.Fatal(err)
}
Expand All @@ -195,19 +197,21 @@ func TestPlegHandleContainerEvents(t *testing.T) {
defer pg.RemoverHandler(id)

pg.(*pleg).containerWatcher.Event() <- tc.mockEvent
timer := time.NewTimer(100 * time.Millisecond)
defer timer.Stop()
if tc.want {
timer := time.NewTimer(2 * time.Second)
defer timer.Stop()
select {
case evt := <-handler.events:
assert.Equal(t, tc.wantEvent, evt, "unexpected event received")
case <-timer.C:
t.Errorf("read event timeout")
}
} else {
timer := time.NewTimer(100 * time.Millisecond)
defer timer.Stop()
select {
case evt := <-handler.events:
t.Errorf("unexpceted event received: %v", evt)
t.Errorf("unexpected event received: %v", evt)
case <-timer.C:
}
}
Expand Down

0 comments on commit 8246243

Please sign in to comment.