test/integration/auth: fix data race

"username" gets read by one goroutine and written by another. Therefore it must
be protected by a mutex to avoid triggering the race detector.
This commit is contained in:
Patrick Ohly 2023-04-04 12:17:26 +02:00
parent d89d5ab268
commit a2fb32870f

View File

@ -21,6 +21,7 @@ import (
"errors"
"net/http"
"strings"
"sync"
"testing"
authorizationapi "k8s.io/api/authorization/v1"
@ -148,8 +149,12 @@ func TestSubjectAccessReview(t *testing.T) {
}
func TestSelfSubjectAccessReview(t *testing.T) {
var mutex sync.Mutex
username := "alice"
authenticatorFunc := func(req *http.Request) (*authenticator.Response, bool, error) {
mutex.Lock()
defer mutex.Unlock()
return &authenticator.Response{
User: &user.DefaultInfo{
Name: username,
@ -216,7 +221,9 @@ func TestSelfSubjectAccessReview(t *testing.T) {
}
for _, test := range tests {
mutex.Lock()
username = test.username
mutex.Unlock()
response, err := clientset.AuthorizationV1().SelfSubjectAccessReviews().Create(context.TODO(), test.sar, metav1.CreateOptions{})
switch {