@@ -512,20 +512,32 @@ func TestSessionsProse(t *testing.T) {
512512 })
513513
514514 mt .Run ("20 Drivers do not gossip $clusterTime on SDAM commands" , func (mt * mtest.T ) {
515- // heartbeatStarted := make(chan struct{})
516- // heartbeatSucceeded := make(chan struct{})
515+ heartbeatStarted := make (chan struct {})
516+ heartbeatSucceeded := make (chan struct {})
517517 var clusterTimeAdvanced uint32
518518 serverMonitor := & event.ServerMonitor {
519519 ServerHeartbeatStarted : func (e * event.ServerHeartbeatStartedEvent ) {
520520 fmt .Println ("Server heartbeat started:" , e .ConnectionID )
521521 if atomic .LoadUint32 (& clusterTimeAdvanced ) == 1 {
522522 fmt .Println ("ServerHeartbeatStartedEvent: cluster time advanced" )
523+ select {
524+ case heartbeatStarted <- struct {}{}:
525+ // NOOP
526+ default :
527+ // NOOP
528+ }
523529 }
524530 },
525531 ServerHeartbeatSucceeded : func (e * event.ServerHeartbeatSucceededEvent ) {
526532 fmt .Println ("Server heartbeat succeeded:" , e .ConnectionID , e .Duration , e .Reply )
527533 if atomic .LoadUint32 (& clusterTimeAdvanced ) == 1 {
528534 fmt .Println ("ServerHeartbeatSucceededEvent: cluster time advanced" )
535+ select {
536+ case heartbeatSucceeded <- struct {}{}:
537+ // NOOP
538+ default :
539+ // NOOP
540+ }
529541 }
530542 },
531543 }
@@ -563,9 +575,8 @@ func TestSessionsProse(t *testing.T) {
563575 require .NoError (mt , err , "expected no error inserting document, got: %v" , err )
564576
565577 atomic .StoreUint32 (& clusterTimeAdvanced , 1 )
566- // <-heartbeatStarted
567- // <-heartbeatSucceeded
568- time .Sleep (3 * time .Second )
578+ <- heartbeatStarted
579+ <- heartbeatSucceeded
569580
570581 res , err = client .Database ("admin" ).RunCommand (context .Background (), bson.D {
571582 {"ping" , 1 },
0 commit comments