MCPcopy Index your code
hub / github.com/php/frankenphp / TestModuleMaxRequestsConcurrent

Function TestModuleMaxRequestsConcurrent

maxrequests_regular_test.go:46–69  ·  view source on GitHub ↗

TestModuleMaxRequestsConcurrent verifies max_requests works under concurrent load in module mode. All requests must succeed despite threads restarting.

(t *testing.T)

Source from the content-addressed store, hash-verified

44// TestModuleMaxRequestsConcurrent verifies max_requests works under concurrent load
45// in module mode. All requests must succeed despite threads restarting.
46func TestModuleMaxRequestsConcurrent(t *testing.T) {
47 const maxRequests = 10
48 const totalRequests = 200
49
50 runTest(t, func(handler func(http.ResponseWriter, *http.Request), _ *httptest.Server, _ int) {
51 var wg sync.WaitGroup
52
53 for i := 0; i < totalRequests; i++ {
54 wg.Add(1)
55 go func() {
56 defer wg.Done()
57 body, resp := testGet("http://example.com/index.php", handler, t)
58 assert.Equal(t, 200, resp.StatusCode)
59 assert.Contains(t, body, "I am by birth a Genevese")
60 }()
61 }
62 wg.Wait()
63 }, &testOptions{
64 initOpts: []frankenphp.Option{
65 frankenphp.WithNumThreads(8),
66 frankenphp.WithMaxRequests(maxRequests),
67 },
68 })
69}

Callers

nothing calls this directly

Calls 4

WithNumThreadsFunction · 0.92
WithMaxRequestsFunction · 0.92
runTestFunction · 0.85
testGetFunction · 0.85

Tested by

no test coverage detected