Files
Local-Cursor/internal/client/lifecycle_race_test.go

34 lines
649 B
Go
Raw Normal View History

package client
import (
serverconfig "cursor/internal/backend/server/config"
"cursor/internal/certs"
"fmt"
"sync"
"testing"
)
func TestStatePollingDuringProxyInitialization(t *testing.T) {
ca, err := certs.LoadOrCreateLocalCA(t.TempDir())
if err != nil {
t.Fatal(err)
}
service := &ProxyService{certManager: ca}
cfg := serverconfig.DefaultConfig()
var wg sync.WaitGroup
wg.Add(1)
go func() {
defer wg.Done()
for range 300 {
_ = service.GetState()
}
}()
for i := range 30 {
cfg.ProxyListenAddr = fmt.Sprintf("127.0.0.1:%d", 30000+i)
if err := service.ensureProxy(cfg); err != nil {
t.Fatal(err)
}
}
wg.Wait()
}