mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-29 14:37:00 +00:00
DRA resource slice controller: fix unit test flake
The TestControllerSyncPool/remove-pool flaked because it intentionally runs with no sync delay, in which case the delete event may add the pool again to the ready queue directly. This raced with checking the queue state where "no pools in ready queue" was expected. The solution is to relax checking in this particular case and exclude the ready queue.
This commit is contained in:
parent
c69f150008
commit
3086b58460
@ -145,7 +145,7 @@ func TestControllerSyncPool(t *testing.T) {
|
||||
},
|
||||
"remove-pool": {
|
||||
nodeUID: nodeUID,
|
||||
syncDelay: ptr.To(time.Duration(0)),
|
||||
syncDelay: ptr.To(time.Duration(0)), // Ensure that the initial object causes an immediate sync of the pool.
|
||||
initialObjects: []runtime.Object{
|
||||
MakeResourceSlice().Name(resourceSlice1).UID(resourceSlice1).
|
||||
NodeOwnerReferences(ownerName, string(nodeUID)).NodeName(ownerName).
|
||||
@ -683,6 +683,11 @@ func TestControllerSyncPool(t *testing.T) {
|
||||
// from informer event handler).
|
||||
actualState := queue.State()
|
||||
actualState.Later = nil
|
||||
// If we let the event handler schedule syncs immediately, then that also races
|
||||
// and then Ready cannot be compared either.
|
||||
if test.syncDelay != nil && *test.syncDelay == 0 {
|
||||
actualState.Ready = nil
|
||||
}
|
||||
var expectState workqueue.MockState[string]
|
||||
assert.Equal(t, expectState, actualState)
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user