mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-07-17 20:00:07 +00:00
Make TestReplaceEvents deterministic for delete event comparison
This commit is contained in:
@@ -1013,7 +1013,9 @@ func testReplaceEvents(t *testing.T, ctx context.Context, fifo Queue, m *eventRe
|
||||
|
||||
items := sortItemsByKey(store.List(), DeletionHandlingMetaNamespaceKeyFunc)
|
||||
assert.Equal(t, tc.replacedItems, items)
|
||||
assert.Equal(t, tc.expectedHistory, m.getHistory())
|
||||
// synthetic delete events from a replace are not ordered, sort by key to make the test deterministic
|
||||
history := sortDeleteEventsByKey(m.getHistory())
|
||||
assert.Equal(t, tc.expectedHistory, history)
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -1128,3 +1130,17 @@ func sortItemsByKey(items []interface{}, keyFunc KeyFunc) []interface{} {
|
||||
})
|
||||
return items
|
||||
}
|
||||
|
||||
func sortDeleteEventsByKey(events []eventRecord) []eventRecord {
|
||||
sort.Slice(events, func(i, j int) bool {
|
||||
eventI := events[i]
|
||||
eventJ := events[j]
|
||||
// sort delete events for different objects by key
|
||||
if eventI.Action == "delete" && eventJ.Action == "delete" && eventI.Key != eventJ.Key {
|
||||
return eventI.Key < eventJ.Key
|
||||
}
|
||||
// keep existing order otherwise
|
||||
return i < j
|
||||
})
|
||||
return events
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user