@@ -104,7 +104,6 @@ func TestHeartbeat(t *testing.T) {
104
104
ctx , cancel := context .WithCancel (context .Background ())
105
105
t .Cleanup (cancel )
106
106
heartbeatChan := make (chan struct {})
107
- heartbeatDone := make (chan struct {})
108
107
heartbeatFn := func (hbCtx context.Context ) error {
109
108
t .Logf ("heartbeat" )
110
109
select {
@@ -118,7 +117,6 @@ func TestHeartbeat(t *testing.T) {
118
117
//nolint:dogsled // 。:゚૮ ˶ˆ ﻌ ˆ˶ ა ゚:。
119
118
_ , _ , _ , _ = setup (t , false , & overrides {
120
119
ctx : ctx ,
121
- heartbeatDone : heartbeatDone ,
122
120
heartbeatFn : heartbeatFn ,
123
121
heartbeatInterval : testutil .IntervalFast ,
124
122
})
@@ -127,9 +125,17 @@ func TestHeartbeat(t *testing.T) {
127
125
require .True (t , ok , "first heartbeat not received" )
128
126
_ , ok = <- heartbeatChan
129
127
require .True (t , ok , "second heartbeat not received" )
130
- // Cancel the context. This should cause heartbeatDone to be closed.
131
128
cancel ()
132
- <- heartbeatDone
129
+ // Close the channel to ensure we don't receive any more heartbeats.
130
+ // The test will fail if we do.
131
+ defer func () {
132
+ if r := recover (); r != nil {
133
+ t .Fatalf ("heartbeat received after cancel: %v" , r )
134
+ }
135
+ }()
136
+
137
+ close (heartbeatChan )
138
+ <- time .After (testutil .IntervalMedium )
133
139
}
134
140
135
141
func TestAcquireJob (t * testing.T ) {
@@ -1721,7 +1727,6 @@ type overrides struct {
1721
1727
acquireJobLongPollDuration time.Duration
1722
1728
heartbeatFn func (ctx context.Context ) error
1723
1729
heartbeatInterval time.Duration
1724
- heartbeatDone chan struct {}
1725
1730
}
1726
1731
1727
1732
func setup (t * testing.T , ignoreLogErrors bool , ov * overrides ) (proto.DRPCProvisionerDaemonServer , database.Store , pubsub.Pubsub , database.ProvisionerDaemon ) {
@@ -1746,9 +1751,6 @@ func setup(t *testing.T, ignoreLogErrors bool, ov *overrides) (proto.DRPCProvisi
1746
1751
if ov .heartbeatInterval == 0 {
1747
1752
ov .heartbeatInterval = testutil .IntervalMedium
1748
1753
}
1749
- if ov .heartbeatDone == nil {
1750
- ov .heartbeatDone = make (chan struct {})
1751
- }
1752
1754
if ov .deploymentValues != nil {
1753
1755
deploymentValues = ov .deploymentValues
1754
1756
}
@@ -1813,7 +1815,6 @@ func setup(t *testing.T, ignoreLogErrors bool, ov *overrides) (proto.DRPCProvisi
1813
1815
AcquireJobLongPollDur : pollDur ,
1814
1816
HeartbeatInterval : ov .heartbeatInterval ,
1815
1817
HeartbeatFn : ov .heartbeatFn ,
1816
- HeartbeatDone : ov .heartbeatDone ,
1817
1818
},
1818
1819
)
1819
1820
require .NoError (t , err )
0 commit comments