Fix some test on Arch

This commit is contained in:
Sergey Stepanov 2023-08-29 14:46:45 +03:00 committed by sergystepanov
parent 992b6e06da
commit cccb3dce84
3 changed files with 11 additions and 27 deletions

View file

@ -49,8 +49,9 @@ func TestWebsocket(t *testing.T) {
}
func testWebsocket(t *testing.T) {
server := newServer(t)
client := newClient(t, url.URL{Scheme: "ws", Host: "localhost:8080", Path: "/ws"})
addr := ":8989"
server := newServer(addr, t)
client := newClient(t, url.URL{Scheme: "ws", Host: "localhost" + addr, Path: "/ws"})
clDone := client.ProcessPackets(func(in TestIn) error { return nil })
if server.conn == nil {
@ -190,15 +191,15 @@ func (s *serverHandler) serve(t *testing.T) func(w http.ResponseWriter, r *http.
}
}
func newServer(t *testing.T) *serverHandler {
func newServer(addr string, t *testing.T) *serverHandler {
var wg sync.WaitGroup
handler := serverHandler{}
http.HandleFunc("/ws", handler.serve(t))
wg.Add(1)
go func() {
wg.Done()
if err := http.ListenAndServe(":8080", nil); err != nil {
t.Errorf("no server")
if err := http.ListenAndServe(addr, nil); err != nil {
t.Errorf("no server, %v", err)
return
}
}()

View file

@ -13,7 +13,6 @@ func TestListenerCreation(t *testing.T) {
random bool
error bool
}{
{addr: ":80", port: "80"},
{addr: ":", random: true},
{addr: ":0", random: true},
{addr: "", random: true},
@ -38,14 +37,14 @@ func TestListenerCreation(t *testing.T) {
continue
}
defer func() { _ = ls.Close() }()
addr := ls.Addr().(*net.TCPAddr)
port := ls.GetPort()
hasPort := port > 0
isPortSame := strings.HasSuffix(addr.String(), ":"+test.port)
_ = ls.Close()
if test.random {
if !hasPort {
t.Errorf("expected a random port, got %v", port)
@ -64,7 +63,7 @@ func TestFailOnPortInUse(t *testing.T) {
if err != nil {
t.Errorf("expected no error, got %v", err)
}
defer a.Close()
defer func() { _ = a.Close() }()
_, err = NewListener(":3333", false)
if err == nil {
t.Errorf("expected busy port error, but got none")
@ -76,10 +75,10 @@ func TestListenerPortRoll(t *testing.T) {
if err != nil {
t.Errorf("expected no error, got %v", err)
}
defer a.Close()
defer func() { _ = a.Close() }()
b, err := NewListener("127.0.0.1:3333", true)
if err != nil {
t.Errorf("expected no port error, but got %v", err)
}
b.Close()
_ = b.Close()
}

View file

@ -227,22 +227,6 @@ func getRoomMock(cfg roomMockConfig) roomMock {
room.StartEmulator()
}
// loop-wait the room initialization
var init sync.WaitGroup
init.Add(1)
wasted := 0
go func() {
sleepDeltaMs := 10
for room.emulator == nil {
time.Sleep(time.Duration(sleepDeltaMs) * time.Millisecond)
wasted++
if wasted > 1000 {
break
}
}
init.Done()
}()
init.Wait()
return roomMock{Room: room, startEmulator: !cfg.dontStartEmulator}
}