Use "testStorage" to store ping requests for parallel access.

This commit is contained in:
Joachim Bauch 2025-12-04 22:05:26 +01:00
commit 643c430e36
No known key found for this signature in database
GPG key ID: 77C1D22D53E15F02
2 changed files with 13 additions and 16 deletions

View file

@ -537,30 +537,22 @@ func processSessionRequest(t *testing.T, w http.ResponseWriter, r *http.Request,
return response
}
var pingRequests map[*testing.T][]*BackendClientRequest
var (
pingRequests testStorage[[]*BackendClientRequest]
)
func getPingRequests(t *testing.T) []*BackendClientRequest {
return pingRequests[t]
entries, _ := pingRequests.Get(t)
return entries
}
func clearPingRequests(t *testing.T) {
delete(pingRequests, t)
pingRequests.Del(t)
}
func storePingRequest(t *testing.T, request *BackendClientRequest) {
if entries, found := pingRequests[t]; !found {
if pingRequests == nil {
pingRequests = make(map[*testing.T][]*BackendClientRequest)
}
pingRequests[t] = []*BackendClientRequest{
request,
}
t.Cleanup(func() {
clearPingRequests(t)
})
} else {
pingRequests[t] = append(entries, request)
}
entries, _ := pingRequests.Get(t)
pingRequests.Set(t, append(entries, request))
}
func processPingRequest(t *testing.T, w http.ResponseWriter, r *http.Request, request *BackendClientRequest) *BackendClientResponse {

View file

@ -196,3 +196,8 @@ func (s *testStorage[T]) Get(t *testing.T) (T, bool) {
var defaultValue T
return defaultValue, false
}
func (s *testStorage[T]) Del(t *testing.T) {
key := t.Name()
s.cleanup(key)
}