mirror of
https://github.com/valyala/fasthttp.git
synced 2026-06-14 15:56:44 +03:00
Use random ports for tests
This should stop travis-ci from constantly failing with "bind: address already in use"
This commit is contained in:
+26
-41
@@ -526,52 +526,44 @@ func TestClientFollowRedirects(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestClientGetTimeoutSuccess(t *testing.T) {
|
||||
addr := "127.0.0.1:56889"
|
||||
s := startEchoServer(t, "tcp", addr)
|
||||
s := startEchoServer(t, "tcp", "127.0.0.1:")
|
||||
defer s.Stop()
|
||||
|
||||
addr = "http://" + addr
|
||||
testClientGetTimeoutSuccess(t, &defaultClient, addr, 100)
|
||||
testClientGetTimeoutSuccess(t, &defaultClient, "http://"+s.Addr(), 100)
|
||||
}
|
||||
|
||||
func TestClientGetTimeoutSuccessConcurrent(t *testing.T) {
|
||||
addr := "127.0.0.1:56989"
|
||||
s := startEchoServer(t, "tcp", addr)
|
||||
s := startEchoServer(t, "tcp", "127.0.0.1:")
|
||||
defer s.Stop()
|
||||
|
||||
addr = "http://" + addr
|
||||
var wg sync.WaitGroup
|
||||
for i := 0; i < 10; i++ {
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
testClientGetTimeoutSuccess(t, &defaultClient, addr, 100)
|
||||
testClientGetTimeoutSuccess(t, &defaultClient, "http://"+s.Addr(), 100)
|
||||
}()
|
||||
}
|
||||
wg.Wait()
|
||||
}
|
||||
|
||||
func TestClientDoTimeoutSuccess(t *testing.T) {
|
||||
addr := "127.0.0.1:63897"
|
||||
s := startEchoServer(t, "tcp", addr)
|
||||
s := startEchoServer(t, "tcp", "127.0.0.1:")
|
||||
defer s.Stop()
|
||||
|
||||
addr = "http://" + addr
|
||||
testClientDoTimeoutSuccess(t, &defaultClient, addr, 100)
|
||||
testClientDoTimeoutSuccess(t, &defaultClient, "http://"+s.Addr(), 100)
|
||||
}
|
||||
|
||||
func TestClientDoTimeoutSuccessConcurrent(t *testing.T) {
|
||||
addr := "127.0.0.1:63898"
|
||||
s := startEchoServer(t, "tcp", addr)
|
||||
s := startEchoServer(t, "tcp", "127.0.0.1:")
|
||||
defer s.Stop()
|
||||
|
||||
addr = "http://" + addr
|
||||
var wg sync.WaitGroup
|
||||
for i := 0; i < 10; i++ {
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
testClientDoTimeoutSuccess(t, &defaultClient, addr, 100)
|
||||
testClientDoTimeoutSuccess(t, &defaultClient, "http://"+s.Addr(), 100)
|
||||
}()
|
||||
}
|
||||
wg.Wait()
|
||||
@@ -841,16 +833,13 @@ func (r *singleReadConn) Close() error {
|
||||
}
|
||||
|
||||
func TestClientHTTPSInvalidServerName(t *testing.T) {
|
||||
addrHTTPS := "127.0.0.1:57794"
|
||||
sHTTPS := startEchoServerTLS(t, "tcp", addrHTTPS)
|
||||
sHTTPS := startEchoServerTLS(t, "tcp", "127.0.0.1:")
|
||||
defer sHTTPS.Stop()
|
||||
|
||||
var c Client
|
||||
|
||||
addr := "https://" + addrHTTPS
|
||||
|
||||
for i := 0; i < 10; i++ {
|
||||
_, _, err := c.GetTimeout(nil, addr, time.Second)
|
||||
_, _, err := c.GetTimeout(nil, "https://"+sHTTPS.Addr(), time.Second)
|
||||
if err == nil {
|
||||
t.Fatalf("expecting TLS error")
|
||||
}
|
||||
@@ -858,12 +847,10 @@ func TestClientHTTPSInvalidServerName(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestClientHTTPSConcurrent(t *testing.T) {
|
||||
addrHTTP := "127.0.0.1:56793"
|
||||
sHTTP := startEchoServer(t, "tcp", addrHTTP)
|
||||
sHTTP := startEchoServer(t, "tcp", "127.0.0.1:")
|
||||
defer sHTTP.Stop()
|
||||
|
||||
addrHTTPS := "127.0.0.1:56794"
|
||||
sHTTPS := startEchoServerTLS(t, "tcp", addrHTTPS)
|
||||
sHTTPS := startEchoServerTLS(t, "tcp", "127.0.0.1:")
|
||||
defer sHTTPS.Stop()
|
||||
|
||||
c := &Client{
|
||||
@@ -875,9 +862,9 @@ func TestClientHTTPSConcurrent(t *testing.T) {
|
||||
var wg sync.WaitGroup
|
||||
for i := 0; i < 4; i++ {
|
||||
wg.Add(1)
|
||||
addr := "http://" + addrHTTP
|
||||
addr := "http://" + sHTTP.Addr()
|
||||
if i&1 != 0 {
|
||||
addr = "https://" + addrHTTPS
|
||||
addr = "https://" + sHTTPS.Addr()
|
||||
}
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
@@ -891,10 +878,9 @@ func TestClientHTTPSConcurrent(t *testing.T) {
|
||||
func TestClientManyServers(t *testing.T) {
|
||||
var addrs []string
|
||||
for i := 0; i < 10; i++ {
|
||||
addr := fmt.Sprintf("127.0.0.1:%d", 56904+i)
|
||||
s := startEchoServer(t, "tcp", addr)
|
||||
s := startEchoServer(t, "tcp", "127.0.0.1:")
|
||||
defer s.Stop()
|
||||
addrs = append(addrs, addr)
|
||||
addrs = append(addrs, s.Addr())
|
||||
}
|
||||
|
||||
var wg sync.WaitGroup
|
||||
@@ -911,29 +897,24 @@ func TestClientManyServers(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestClientGet(t *testing.T) {
|
||||
addr := "127.0.0.1:56789"
|
||||
s := startEchoServer(t, "tcp", addr)
|
||||
s := startEchoServer(t, "tcp", "127.0.0.1:")
|
||||
defer s.Stop()
|
||||
|
||||
addr = "http://" + addr
|
||||
testClientGet(t, &defaultClient, addr, 100)
|
||||
testClientGet(t, &defaultClient, "http://"+s.Addr(), 100)
|
||||
}
|
||||
|
||||
func TestClientPost(t *testing.T) {
|
||||
addr := "127.0.0.1:56798"
|
||||
s := startEchoServer(t, "tcp", addr)
|
||||
s := startEchoServer(t, "tcp", "127.0.0.1:")
|
||||
defer s.Stop()
|
||||
|
||||
addr = "http://" + addr
|
||||
testClientPost(t, &defaultClient, addr, 100)
|
||||
testClientPost(t, &defaultClient, "http://"+s.Addr(), 100)
|
||||
}
|
||||
|
||||
func TestClientConcurrent(t *testing.T) {
|
||||
addr := "127.0.0.1:55780"
|
||||
s := startEchoServer(t, "tcp", addr)
|
||||
s := startEchoServer(t, "tcp", "127.0.0.1:")
|
||||
defer s.Stop()
|
||||
|
||||
addr = "http://" + addr
|
||||
addr := "http://" + s.Addr()
|
||||
var wg sync.WaitGroup
|
||||
for i := 0; i < 10; i++ {
|
||||
wg.Add(1)
|
||||
@@ -1123,6 +1104,10 @@ func (s *testEchoServer) Stop() {
|
||||
}
|
||||
}
|
||||
|
||||
func (s *testEchoServer) Addr() string {
|
||||
return s.ln.Addr().String()
|
||||
}
|
||||
|
||||
func startEchoServerTLS(t *testing.T, network, addr string) *testEchoServer {
|
||||
return startEchoServerExt(t, network, addr, true)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user