Skip to content

Commit 8267664

Browse files
committed
listener_test.go: Fix failing test
1 parent f0d2dac commit 8267664

2 files changed

Lines changed: 28 additions & 2 deletions

File tree

conn_negotiation_test.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,32 @@ func TestConcurrentDialersShareSignaling(t *testing.T) {
197197
}
198198
}
199199

200+
func TestListenerRejectsDuplicateConn(t *testing.T) {
201+
client, server := newMemorySignalingPair("1", "2")
202+
defer client.close()
203+
defer server.close()
204+
205+
l, err := (ListenConfig{AllowAnonymous: true}).Listen(server)
206+
if err != nil {
207+
t.Fatalf("Listen() error = %v", err)
208+
}
209+
defer l.Close()
210+
211+
ctx, cancel := context.WithTimeout(t.Context(), time.Second*10)
212+
defer cancel()
213+
214+
firstConn, err := Dialer{ConnectionID: 20}.DialContext(ctx, server.NetworkID(), client)
215+
if err != nil {
216+
t.Fatalf("DialContext = %s, expected nil", err)
217+
}
218+
defer firstConn.Close()
219+
220+
_, err = Dialer{ConnectionID: 20}.DialContext(ctx, server.NetworkID(), client)
221+
if err == nil {
222+
t.Fatal("DialContext = nil, expected to return error")
223+
}
224+
}
225+
200226
func testDialListener(t *testing.T, disableTrickle bool) {
201227
t.Helper()
202228

listener_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ func TestListenerConnectionOwnership(t *testing.T) {
3838
duplicate := &Conn{id: 7, networkID: "remote"}
3939
key := first.remoteAddr().String()
4040

41-
if !l.registerConnection(first) {
41+
if _, exists := l.connections.LoadOrStore(first.remoteAddr().String(), first); exists {
4242
t.Fatal("registerConnection(first) = false, want true")
4343
}
44-
if l.registerConnection(duplicate) {
44+
if _, exists := l.connections.LoadOrStore(duplicate.remoteAddr().String(), duplicate); !exists {
4545
t.Fatal("registerConnection(duplicate) = true, want false")
4646
}
4747
if got, ok := l.connections.Load(key); !ok || got != first {

0 commit comments

Comments
 (0)