Skip to content

Commit

Permalink
Merge pull request #13868 from endocrimes/dani/leasefix
Browse files Browse the repository at this point in the history
tests/common/lease: Wait for correct lease list response
  • Loading branch information
serathius committed Apr 4, 2022
2 parents 6c974a3 + f71196d commit a08d479
Showing 1 changed file with 15 additions and 5 deletions.
20 changes: 15 additions & 5 deletions tests/common/lease_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -127,20 +127,30 @@ func TestLeaseGrantAndList(t *testing.T) {
t.Logf("Created cluster and client")
testutils.ExecuteWithTimeout(t, 10*time.Second, func() {
createdLeases := []clientv3.LeaseID{}
lastRev := int64(0)
for i := 0; i < nc.leaseCount; i++ {
leaseResp, err := cc.Grant(10)
t.Logf("Grant returned: resp:%s err:%v", leaseResp.String(), err)
require.NoError(t, err)
createdLeases = append(createdLeases, leaseResp.ID)
lastRev = leaseResp.GetRevision()
}

resp, err := cc.LeaseList()
t.Logf("Lease list returned: resp:%s err:%v", resp.String(), err)
require.NoError(t, err)
require.Len(t, resp.Leases, nc.leaseCount)
// Because we're not guarunteed to talk to the same member, wait for
// listing to eventually return true, either by the result propagaing
// or by hitting an up to date member.
leases := []clientv3.LeaseStatus{}
require.Eventually(t, func() bool {
resp, err := cc.LeaseList()
if err != nil {
return false
}
leases = resp.Leases
return resp.GetRevision() >= lastRev
}, 2*time.Second, 10*time.Millisecond)

returnedLeases := make([]clientv3.LeaseID, 0, nc.leaseCount)
for _, status := range resp.Leases {
for _, status := range leases {
returnedLeases = append(returnedLeases, status.ID)
}

Expand Down

0 comments on commit a08d479

Please sign in to comment.