Skip to content

Commit a427fb8

Browse files
committed
Fixing race condition in TestSendStreamDataMessageWithStreamDataSequenceNumberMutexLocked
1 parent a7d55a6 commit a427fb8

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

agent/session/datachannel/datachannel_test.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,12 +244,20 @@ func TestSendStreamDataMessageWithStreamDataSequenceNumberMutexLocked(t *testing
244244

245245
mockWsChannel.On("SendMessage", mock.Anything, mock.Anything, mock.Anything).Return(nil)
246246
mockCipher.On("EncryptWithAESGCM", payload).Return([]byte("testPayload"), nil)
247-
247+
isLockedChan := make(chan struct{})
248248
go func() {
249249
dataChannel.StreamDataSequenceNumberMutex.Lock()
250+
isLockedChan <- struct{}{}
250251
time.Sleep(1000 * time.Millisecond)
251252
dataChannel.StreamDataSequenceNumberMutex.Unlock()
252253
}()
254+
255+
select {
256+
case <-isLockedChan:
257+
case <-time.After(1000 * time.Millisecond):
258+
assert.Fail(t, "test setup timed out")
259+
}
260+
253261
go func() {
254262
dataChannel.SendStreamDataMessage(mockLog, mgsContracts.Output, payload)
255263
}()

0 commit comments

Comments
 (0)