Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit8f550c5

Browse files
committed
added a WaitGroup in logger internal tests to remove the race condition
1 parentd268a3c commit8f550c5

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

‎coderd/httpmw/logger_internal_test.go‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"net/http"
66
"net/http/httptest"
7+
"sync"
78
"testing"
89
"time"
910

@@ -95,7 +96,7 @@ func TestLoggerMiddleware_WebSocket(t *testing.T) {
9596
sink:=&fakeSink{}
9697
logger:=slog.Make(sink)
9798
logger=logger.Leveled(slog.LevelDebug)
98-
99+
wg:= sync.WaitGroup{}
99100
// Create a test handler to simulate a WebSocket connection
100101
testHandler:=http.HandlerFunc(func(rw http.ResponseWriter,r*http.Request) {
101102
conn,err:=websocket.Accept(rw,r,nil)
@@ -105,6 +106,7 @@ func TestLoggerMiddleware_WebSocket(t *testing.T) {
105106
}
106107
requestLgr:=RequestLoggerFromContext(r.Context())
107108
requestLgr.WriteLog(r.Context(),http.StatusSwitchingProtocols)
109+
wg.Done()
108110
deferconn.Close(websocket.StatusNormalClosure,"")
109111

110112
// Send a couple of messages for testing
@@ -122,16 +124,16 @@ func TestLoggerMiddleware_WebSocket(t *testing.T) {
122124
wrappedHandler.ServeHTTP(sw,r)
123125
})
124126

125-
// Create a test HTTP request
126127
srv:=httptest.NewServer(customHandler)
127128
defersrv.Close()
129+
wg.Add(1)
128130
// nolint: bodyclose
129131
conn,_,err:=websocket.Dial(ctx,srv.URL,nil)
130132
iferr!=nil {
131133
t.Fatalf("failed to create WebSocket connection: %v",err)
132134
}
133135
deferconn.Close(websocket.StatusNormalClosure,"")
134-
136+
wg.Wait()
135137
iflen(sink.entries)!=1 {
136138
t.Fatalf("expected 1 log entry, got %d",len(sink.entries))
137139
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp