Skip to content

Commit 9f8fedf

Browse files
committed
update test
1 parent 375f935 commit 9f8fedf

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

internal/integration/sessions_test.go

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -513,8 +513,8 @@ func TestSessionsProse(t *testing.T) {
513513

514514
mt.ResetClient(options.Client())
515515
client := mt.Client
516-
heartbeatStarted := make(chan struct{})
517-
heartbeatSucceeded := make(chan struct{})
516+
heartbeatStarted := make(chan struct{}, 1)
517+
heartbeatSucceeded := make(chan struct{}, 1)
518518
var clusterTimeAdvanced uint32
519519
serverMonitor := &event.ServerMonitor{
520520
ServerHeartbeatStarted: func(*event.ServerHeartbeatStartedEvent) {
@@ -546,15 +546,25 @@ func TestSessionsProse(t *testing.T) {
546546
SetDirect(true)).
547547
ClientType(mtest.Pinned)
548548
mt.RunOpts("20 Drivers do not gossip $clusterTime on SDAM commands", pingOpts, func(mt *mtest.T) {
549+
wait := func(mt *mtest.T, ch <-chan struct{}, label string) {
550+
mt.Helper()
551+
552+
select {
553+
case <-ch:
554+
case <-time.After(5 * time.Second):
555+
mt.Fatalf("timed out waiting for %s", label)
556+
}
557+
}
558+
549559
err := mt.Client.Ping(context.Background(), readpref.Primary())
550560
assert.NoError(mt, err, "expected no error, got: %v", err)
551561

552562
_, err = client.Database("test").Collection("test").InsertOne(context.Background(), bson.D{{"advance", "$clusterTime"}})
553563
require.NoError(mt, err, "expected no error inserting document, got: %v", err)
554564

555565
atomic.StoreUint32(&clusterTimeAdvanced, 1)
556-
<-heartbeatStarted
557-
<-heartbeatSucceeded
566+
wait(mt, heartbeatStarted, "ServerHeartbeatStartedEvent")
567+
wait(mt, heartbeatSucceeded, "ServerHeartbeatSucceededEvent")
558568

559569
err = mt.Client.Ping(context.Background(), readpref.Primary())
560570
require.NoError(mt, err, "expected no error, got: %v", err)

0 commit comments

Comments
 (0)