Skip to content

Commit 9524cbd

Browse files
gabyCopilot
andauthored
Update router_test.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent f29b129 commit 9524cbd

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

router_test.go

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2150,21 +2150,28 @@ func Benchmark_Router_Next_Parallel(b *testing.B) {
21502150
app := New()
21512151
registerDummyRoutes(app)
21522152
app.startupProcess()
2153-
request := &fasthttp.RequestCtx{}
2154-
request.Request.Header.SetMethod("DELETE")
2155-
request.URI().SetPath("/user/keys/1337")
2156-
var res bool
2157-
var err error
2158-
c := acquireDefaultCtxForRouterBenchmark(b, app, request)
21592153
b.RunParallel(func(pb *testing.PB) {
2154+
// Each worker gets its own request and context to avoid data races.
2155+
request := &fasthttp.RequestCtx{}
2156+
request.Request.Header.SetMethod("DELETE")
2157+
request.URI().SetPath("/user/keys/1337")
2158+
c := acquireDefaultCtxForRouterBenchmark(b, app, request)
21602159
for pb.Next() {
21612160
c.indexRoute = -1
2162-
res, err = app.next(c)
2161+
_, _ = app.next(c)
21632162
}
21642163
})
2164+
2165+
// Single-threaded verification on a fresh context to preserve correctness checks.
2166+
verifyRequest := &fasthttp.RequestCtx{}
2167+
verifyRequest.Request.Header.SetMethod("DELETE")
2168+
verifyRequest.URI().SetPath("/user/keys/1337")
2169+
verifyCtx := acquireDefaultCtxForRouterBenchmark(b, app, verifyRequest)
2170+
verifyCtx.indexRoute = -1
2171+
res, err := app.next(verifyCtx)
21652172
require.NoError(b, err)
21662173
require.True(b, res)
2167-
require.Equal(b, 4, c.indexRoute)
2174+
require.Equal(b, 4, verifyCtx.indexRoute)
21682175
}
21692176

21702177
func Benchmark_Router_Next_Default_Immutable_Parallel(b *testing.B) {

0 commit comments

Comments
 (0)