From ed2f33dee5d330f83dd876b1ae3c15e461124379 Mon Sep 17 00:00:00 2001 From: a631807682 <631807682@qq.com> Date: Fri, 17 Mar 2023 15:19:42 +0800 Subject: [PATCH 1/9] test: add more test for pkg network --- pkg/network/netpoll/dial_test.go | 68 ++++++++++++++++++ pkg/network/netpoll/transport_test.go | 100 ++++++++++++++++++++++++++ pkg/network/standard/dial_test.go | 49 +++++++++++++ 3 files changed, 217 insertions(+) create mode 100644 pkg/network/netpoll/dial_test.go create mode 100644 pkg/network/netpoll/transport_test.go create mode 100644 pkg/network/standard/dial_test.go diff --git a/pkg/network/netpoll/dial_test.go b/pkg/network/netpoll/dial_test.go new file mode 100644 index 000000000..417d1a0e4 --- /dev/null +++ b/pkg/network/netpoll/dial_test.go @@ -0,0 +1,68 @@ +// Copyright 2022 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +//go:build !windows +// +build !windows + +package netpoll + +import ( + "context" + "crypto/tls" + "testing" + "time" + + "github.com/cloudwego/hertz/pkg/common/config" + "github.com/cloudwego/hertz/pkg/common/test/assert" + "github.com/cloudwego/hertz/pkg/common/test/mock" +) + +func TestDial(t *testing.T) { + t.Run("NetpollDial", func(t *testing.T) { + const nw = "tcp" + const addr = ":1234" + transporter := NewTransporter(&config.Options{ + Addr: addr, + Network: nw, + }) + go transporter.ListenAndServe(func(ctx context.Context, conn interface{}) error { + return nil + }) + defer transporter.Close() + + dial := NewDialer() + // DialConnection + _, err := dial.DialConnection("tcp", ":4567", time.Second, nil) // wrong addr + assert.NotNil(t, err) + + nwConn, err := dial.DialConnection(nw, addr, time.Second, nil) + assert.Nil(t, err) + defer nwConn.Close() + _, err = nwConn.Write([]byte("abcdef")) + assert.Nil(t, err) + // DialTimeout + nConn, err := dial.DialTimeout(nw, addr, time.Second, nil) + assert.Nil(t, err) + defer nConn.Close() + }) + + t.Run("NotSupportTLS", func(t *testing.T) { + dial := NewDialer() + _, err := dial.AddTLS(mock.NewConn(""), nil) + assert.DeepEqual(t, errNotSupportTLS, err) + _, err = dial.DialConnection("tcp", ":1234", time.Microsecond, &tls.Config{}) + assert.DeepEqual(t, errNotSupportTLS, err) + }) +} diff --git a/pkg/network/netpoll/transport_test.go b/pkg/network/netpoll/transport_test.go new file mode 100644 index 000000000..98f54c67f --- /dev/null +++ b/pkg/network/netpoll/transport_test.go @@ -0,0 +1,100 @@ +// Copyright 2022 CloudWeGo Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +//go:build !windows +// +build !windows + +package netpoll + +import ( + "context" + "net" + "sync/atomic" + "syscall" + "testing" + "time" + + "github.com/cloudwego/hertz/pkg/common/config" + "github.com/cloudwego/hertz/pkg/common/test/assert" + "github.com/cloudwego/hertz/pkg/network" + "golang.org/x/sys/unix" +) + +func TestTransport(t *testing.T) { + const nw = "tcp" + const addr = ":1234" + t.Run("TestDefault", func(t *testing.T) { + var onConnFlag, onAcceptFlag, onDataFlag int32 + transporter := NewTransporter(&config.Options{ + Addr: addr, + Network: nw, + OnConnect: func(ctx context.Context, conn network.Conn) context.Context { + atomic.StoreInt32(&onConnFlag, 1) + return ctx + }, + WriteTimeout: time.Second, + OnAccept: func(conn net.Conn) context.Context { + atomic.StoreInt32(&onAcceptFlag, 1) + return context.Background() + }, + }) + go transporter.ListenAndServe(func(ctx context.Context, conn interface{}) error { + atomic.StoreInt32(&onDataFlag, 1) + return nil + }) + defer transporter.Close() + time.Sleep(100 * time.Millisecond) + + dial := NewDialer() + conn, err := dial.DialConnection(nw, addr, time.Second, nil) + assert.Nil(t, err) + _, err = conn.Write([]byte("123")) + assert.Nil(t, err) + time.Sleep(100 * time.Millisecond) + + assert.Assert(t, atomic.LoadInt32(&onConnFlag) == 1) + assert.Assert(t, atomic.LoadInt32(&onAcceptFlag) == 1) + assert.Assert(t, atomic.LoadInt32(&onDataFlag) == 1) + }) + + t.Run("TestListenConfig", func(t *testing.T) { + listenCfg := &net.ListenConfig{Control: func(network, address string, c syscall.RawConn) error { + return c.Control(func(fd uintptr) { + syscall.SetsockoptInt(int(fd), syscall.SOL_SOCKET, unix.SO_REUSEADDR, 1) + syscall.SetsockoptInt(int(fd), syscall.SOL_SOCKET, unix.SO_REUSEPORT, 1) + }) + }} + transporter := NewTransporter(&config.Options{ + Addr: addr, + Network: nw, + ListenConfig: listenCfg, + }) + go transporter.ListenAndServe(func(ctx context.Context, conn interface{}) error { + return nil + }) + defer transporter.Close() + }) + + t.Run("TestExceptionCase", func(t *testing.T) { + assert.Panic(t, func() { // listen err + transporter := NewTransporter(&config.Options{ + Network: "unknow", + }) + transporter.ListenAndServe(func(ctx context.Context, conn interface{}) error { + return nil + }) + }) + }) +} diff --git a/pkg/network/standard/dial_test.go b/pkg/network/standard/dial_test.go new file mode 100644 index 000000000..48a8f6e89 --- /dev/null +++ b/pkg/network/standard/dial_test.go @@ -0,0 +1,49 @@ +/* + * Copyright 2022 CloudWeGo Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package standard + +import ( + "context" + "testing" + "time" + + "github.com/cloudwego/hertz/pkg/common/config" + "github.com/cloudwego/hertz/pkg/common/test/assert" +) + +func TestDial(t *testing.T) { + const nw = "tcp" + const addr = ":1234" + transporter := NewTransporter(&config.Options{ + Addr: addr, + Network: nw, + }) + + go transporter.ListenAndServe(func(ctx context.Context, conn interface{}) error { + return nil + }) + defer transporter.Close() + time.Sleep(time.Millisecond * 100) + + dial := NewDialer() + _, err := dial.DialConnection(nw, addr, time.Second, nil) + assert.Nil(t, err) + + nConn, err := dial.DialTimeout(nw, addr, time.Second, nil) + assert.Nil(t, err) + defer nConn.Close() +} From 9d2f7927fe6cd7dc386078970b00f5bebec83c25 Mon Sep 17 00:00:00 2001 From: a631807682 <631807682@qq.com> Date: Fri, 17 Mar 2023 16:22:01 +0800 Subject: [PATCH 2/9] fix(test): use diff addr --- pkg/network/netpoll/dial_test.go | 4 ++-- pkg/network/netpoll/transport_test.go | 2 +- pkg/network/standard/dial_test.go | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkg/network/netpoll/dial_test.go b/pkg/network/netpoll/dial_test.go index 417d1a0e4..87b2be5e6 100644 --- a/pkg/network/netpoll/dial_test.go +++ b/pkg/network/netpoll/dial_test.go @@ -32,7 +32,7 @@ import ( func TestDial(t *testing.T) { t.Run("NetpollDial", func(t *testing.T) { const nw = "tcp" - const addr = ":1234" + const addr = ":10100" transporter := NewTransporter(&config.Options{ Addr: addr, Network: nw, @@ -62,7 +62,7 @@ func TestDial(t *testing.T) { dial := NewDialer() _, err := dial.AddTLS(mock.NewConn(""), nil) assert.DeepEqual(t, errNotSupportTLS, err) - _, err = dial.DialConnection("tcp", ":1234", time.Microsecond, &tls.Config{}) + _, err = dial.DialConnection("tcp", ":10101", time.Microsecond, &tls.Config{}) assert.DeepEqual(t, errNotSupportTLS, err) }) } diff --git a/pkg/network/netpoll/transport_test.go b/pkg/network/netpoll/transport_test.go index 98f54c67f..a81c25521 100644 --- a/pkg/network/netpoll/transport_test.go +++ b/pkg/network/netpoll/transport_test.go @@ -34,7 +34,7 @@ import ( func TestTransport(t *testing.T) { const nw = "tcp" - const addr = ":1234" + const addr = ":10102" t.Run("TestDefault", func(t *testing.T) { var onConnFlag, onAcceptFlag, onDataFlag int32 transporter := NewTransporter(&config.Options{ diff --git a/pkg/network/standard/dial_test.go b/pkg/network/standard/dial_test.go index 48a8f6e89..0e3e139ea 100644 --- a/pkg/network/standard/dial_test.go +++ b/pkg/network/standard/dial_test.go @@ -27,7 +27,7 @@ import ( func TestDial(t *testing.T) { const nw = "tcp" - const addr = ":1234" + const addr = ":10103" transporter := NewTransporter(&config.Options{ Addr: addr, Network: nw, From 392018e0cd58e002dec3930341bf0012fa0fae80 Mon Sep 17 00:00:00 2001 From: a631807682 <631807682@qq.com> Date: Fri, 17 Mar 2023 17:26:19 +0800 Subject: [PATCH 3/9] fix(test): use sleep wait for serve --- pkg/common/test/assert/assert.go | 2 ++ pkg/network/netpoll/dial_test.go | 5 +++-- pkg/network/netpoll/transport_test.go | 2 +- pkg/network/standard/dial_test.go | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/pkg/common/test/assert/assert.go b/pkg/common/test/assert/assert.go index 4d5220108..9ed544f35 100644 --- a/pkg/common/test/assert/assert.go +++ b/pkg/common/test/assert/assert.go @@ -51,6 +51,7 @@ func DeepEqual(t testing.TB, expected, actual interface{}) { } func Nil(t testing.TB, data interface{}) { + t.Helper() if data == nil { return } @@ -60,6 +61,7 @@ func Nil(t testing.TB, data interface{}) { } func NotNil(t testing.TB, data interface{}) { + t.Helper() if data == nil { return } diff --git a/pkg/network/netpoll/dial_test.go b/pkg/network/netpoll/dial_test.go index 87b2be5e6..085eaa4ca 100644 --- a/pkg/network/netpoll/dial_test.go +++ b/pkg/network/netpoll/dial_test.go @@ -41,10 +41,11 @@ func TestDial(t *testing.T) { return nil }) defer transporter.Close() + time.Sleep(100 * time.Millisecond) dial := NewDialer() // DialConnection - _, err := dial.DialConnection("tcp", ":4567", time.Second, nil) // wrong addr + _, err := dial.DialConnection("tcp", ":10101", time.Second, nil) // wrong addr assert.NotNil(t, err) nwConn, err := dial.DialConnection(nw, addr, time.Second, nil) @@ -62,7 +63,7 @@ func TestDial(t *testing.T) { dial := NewDialer() _, err := dial.AddTLS(mock.NewConn(""), nil) assert.DeepEqual(t, errNotSupportTLS, err) - _, err = dial.DialConnection("tcp", ":10101", time.Microsecond, &tls.Config{}) + _, err = dial.DialConnection("tcp", ":10102", time.Microsecond, &tls.Config{}) assert.DeepEqual(t, errNotSupportTLS, err) }) } diff --git a/pkg/network/netpoll/transport_test.go b/pkg/network/netpoll/transport_test.go index a81c25521..9617eac82 100644 --- a/pkg/network/netpoll/transport_test.go +++ b/pkg/network/netpoll/transport_test.go @@ -34,7 +34,7 @@ import ( func TestTransport(t *testing.T) { const nw = "tcp" - const addr = ":10102" + const addr = ":10103" t.Run("TestDefault", func(t *testing.T) { var onConnFlag, onAcceptFlag, onDataFlag int32 transporter := NewTransporter(&config.Options{ diff --git a/pkg/network/standard/dial_test.go b/pkg/network/standard/dial_test.go index 0e3e139ea..66c0daaba 100644 --- a/pkg/network/standard/dial_test.go +++ b/pkg/network/standard/dial_test.go @@ -27,7 +27,7 @@ import ( func TestDial(t *testing.T) { const nw = "tcp" - const addr = ":10103" + const addr = ":10104" transporter := NewTransporter(&config.Options{ Addr: addr, Network: nw, From a182030ca8a36a9c8bb23316ce6721c31bfe6eb9 Mon Sep 17 00:00:00 2001 From: a631807682 <631807682@qq.com> Date: Sat, 18 Mar 2023 00:58:00 +0800 Subject: [PATCH 4/9] test: add tls test --- pkg/network/standard/dial_test.go | 123 ++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) diff --git a/pkg/network/standard/dial_test.go b/pkg/network/standard/dial_test.go index 66c0daaba..0aa1335b1 100644 --- a/pkg/network/standard/dial_test.go +++ b/pkg/network/standard/dial_test.go @@ -18,6 +18,15 @@ package standard import ( "context" + "crypto/rand" + "crypto/rsa" + "crypto/tls" + "crypto/x509" + "crypto/x509/pkix" + "encoding/pem" + "log" + "math/big" + "net" "testing" "time" @@ -47,3 +56,117 @@ func TestDial(t *testing.T) { assert.Nil(t, err) defer nConn.Close() } + +func TestDialTLS(t *testing.T) { + const nw = "tcp" + const addr = ":10104" + data := []byte("abcdefg") + listened := make(chan struct{}) + go func() { + mockTLSServe(nw, addr, func(conn net.Conn) { + defer conn.Close() + _, err := conn.Write(data) + assert.Nil(t, err) + }, listened) + }() + + <-listened + + dial := NewDialer() + _, err := dial.DialConnection(nw, addr, time.Second, &tls.Config{ + InsecureSkipVerify: true, + }) + assert.Nil(t, err) + + conn, err := dial.DialConnection(nw, addr, time.Second, nil) + assert.Nil(t, err) + nConn, err := dial.AddTLS(conn, &tls.Config{ + InsecureSkipVerify: true, + }) + assert.Nil(t, err) + + buf := make([]byte, len(data)) + _, err = nConn.Read(buf) + assert.Nil(t, err) + assert.DeepEqual(t, string(data), string(buf)) +} + +func mockTLSServe(nw, addr string, handle func(conn net.Conn), listened chan struct{}) (err error) { + certData, keyData, err := generateTestCertificate("") + if err != nil { + return + } + + cert, err := tls.X509KeyPair(certData, keyData) + if err != nil { + return + } + + tlsConfig := &tls.Config{ + Certificates: []tls.Certificate{cert}, + } + ln, err := tls.Listen(nw, addr, tlsConfig) + if err != nil { + return + } + defer ln.Close() + + listened <- struct{}{} + for { + conn, err := ln.Accept() + if err != nil { + log.Println(err) + continue + } + go handle(conn) + } +} + +// generateTestCertificate generates a test certificate and private key based on the given host. +func generateTestCertificate(host string) ([]byte, []byte, error) { + priv, err := rsa.GenerateKey(rand.Reader, 2048) + if err != nil { + return nil, nil, err + } + + serialNumberLimit := new(big.Int).Lsh(big.NewInt(1), 128) + serialNumber, err := rand.Int(rand.Reader, serialNumberLimit) + if err != nil { + return nil, nil, err + } + + cert := &x509.Certificate{ + SerialNumber: serialNumber, + Subject: pkix.Name{ + Organization: []string{"fasthttp test"}, + }, + NotBefore: time.Now(), + NotAfter: time.Now().Add(365 * 24 * time.Hour), + KeyUsage: x509.KeyUsageCertSign | x509.KeyUsageDigitalSignature, + ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth, x509.ExtKeyUsageClientAuth}, + SignatureAlgorithm: x509.SHA256WithRSA, + DNSNames: []string{host}, + BasicConstraintsValid: true, + IsCA: true, + } + + certBytes, err := x509.CreateCertificate( + rand.Reader, cert, cert, &priv.PublicKey, priv, + ) + + p := pem.EncodeToMemory( + &pem.Block{ + Type: "PRIVATE KEY", + Bytes: x509.MarshalPKCS1PrivateKey(priv), + }, + ) + + b := pem.EncodeToMemory( + &pem.Block{ + Type: "CERTIFICATE", + Bytes: certBytes, + }, + ) + + return b, p, err +} From ca31835b10b7177d5be9f5301a5648e04af99772 Mon Sep 17 00:00:00 2001 From: a631807682 <631807682@qq.com> Date: Sat, 18 Mar 2023 01:01:37 +0800 Subject: [PATCH 5/9] chore: remove unless log --- pkg/network/standard/dial_test.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/pkg/network/standard/dial_test.go b/pkg/network/standard/dial_test.go index 0aa1335b1..d37f4f41c 100644 --- a/pkg/network/standard/dial_test.go +++ b/pkg/network/standard/dial_test.go @@ -24,7 +24,6 @@ import ( "crypto/x509" "crypto/x509/pkix" "encoding/pem" - "log" "math/big" "net" "testing" @@ -115,7 +114,6 @@ func mockTLSServe(nw, addr string, handle func(conn net.Conn), listened chan str for { conn, err := ln.Accept() if err != nil { - log.Println(err) continue } go handle(conn) From 21f5c0f52023ff953ae092c09e4c9c2493c26f3f Mon Sep 17 00:00:00 2001 From: a631807682 <631807682@qq.com> Date: Sat, 18 Mar 2023 01:17:51 +0800 Subject: [PATCH 6/9] refactor: test timeout --- pkg/network/standard/dial_test.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/network/standard/dial_test.go b/pkg/network/standard/dial_test.go index d37f4f41c..8365ae73b 100644 --- a/pkg/network/standard/dial_test.go +++ b/pkg/network/standard/dial_test.go @@ -69,7 +69,11 @@ func TestDialTLS(t *testing.T) { }, listened) }() - <-listened + select { + case <-listened: + case <-time.After(time.Second): + t.Fatalf("timeout") + } dial := NewDialer() _, err := dial.DialConnection(nw, addr, time.Second, &tls.Config{ From 07e70c7e89b58b7dd5e585c78428f5acf1db59e8 Mon Sep 17 00:00:00 2001 From: a631807682 <631807682@qq.com> Date: Sat, 18 Mar 2023 18:19:23 +0800 Subject: [PATCH 7/9] fix: failed by timeout --- pkg/network/standard/dial_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/network/standard/dial_test.go b/pkg/network/standard/dial_test.go index 8365ae73b..deef1a8d2 100644 --- a/pkg/network/standard/dial_test.go +++ b/pkg/network/standard/dial_test.go @@ -71,7 +71,7 @@ func TestDialTLS(t *testing.T) { select { case <-listened: - case <-time.After(time.Second): + case <-time.After(time.Second * 5): t.Fatalf("timeout") } From 173546ac96e46fb5ffaa623fbe1358c9c50d92c4 Mon Sep 17 00:00:00 2001 From: a631807682 <631807682@qq.com> Date: Mon, 20 Mar 2023 17:27:12 +0800 Subject: [PATCH 8/9] chore[ci skip]: update copyright time --- pkg/network/netpoll/dial_test.go | 2 +- pkg/network/netpoll/transport_test.go | 2 +- pkg/network/standard/dial_test.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/network/netpoll/dial_test.go b/pkg/network/netpoll/dial_test.go index 085eaa4ca..29614cd6b 100644 --- a/pkg/network/netpoll/dial_test.go +++ b/pkg/network/netpoll/dial_test.go @@ -1,4 +1,4 @@ -// Copyright 2022 CloudWeGo Authors +// Copyright 2023 CloudWeGo Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/pkg/network/netpoll/transport_test.go b/pkg/network/netpoll/transport_test.go index 9617eac82..7b88e482b 100644 --- a/pkg/network/netpoll/transport_test.go +++ b/pkg/network/netpoll/transport_test.go @@ -1,4 +1,4 @@ -// Copyright 2022 CloudWeGo Authors +// Copyright 2023 CloudWeGo Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/pkg/network/standard/dial_test.go b/pkg/network/standard/dial_test.go index deef1a8d2..db26e841b 100644 --- a/pkg/network/standard/dial_test.go +++ b/pkg/network/standard/dial_test.go @@ -1,5 +1,5 @@ /* - * Copyright 2022 CloudWeGo Authors + * Copyright 2023 CloudWeGo Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. From e10116237834228cf302b67386ddac220938938d Mon Sep 17 00:00:00 2001 From: a631807682 <631807682@qq.com> Date: Mon, 20 Mar 2023 17:55:47 +0800 Subject: [PATCH 9/9] test: update test addr --- pkg/network/netpoll/dial_test.go | 6 +++--- pkg/network/netpoll/transport_test.go | 2 +- pkg/network/standard/dial_test.go | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkg/network/netpoll/dial_test.go b/pkg/network/netpoll/dial_test.go index 29614cd6b..119225312 100644 --- a/pkg/network/netpoll/dial_test.go +++ b/pkg/network/netpoll/dial_test.go @@ -32,7 +32,7 @@ import ( func TestDial(t *testing.T) { t.Run("NetpollDial", func(t *testing.T) { const nw = "tcp" - const addr = ":10100" + const addr = "localhost:10100" transporter := NewTransporter(&config.Options{ Addr: addr, Network: nw, @@ -45,7 +45,7 @@ func TestDial(t *testing.T) { dial := NewDialer() // DialConnection - _, err := dial.DialConnection("tcp", ":10101", time.Second, nil) // wrong addr + _, err := dial.DialConnection("tcp", "localhost:10101", time.Second, nil) // wrong addr assert.NotNil(t, err) nwConn, err := dial.DialConnection(nw, addr, time.Second, nil) @@ -63,7 +63,7 @@ func TestDial(t *testing.T) { dial := NewDialer() _, err := dial.AddTLS(mock.NewConn(""), nil) assert.DeepEqual(t, errNotSupportTLS, err) - _, err = dial.DialConnection("tcp", ":10102", time.Microsecond, &tls.Config{}) + _, err = dial.DialConnection("tcp", "localhost:10102", time.Microsecond, &tls.Config{}) assert.DeepEqual(t, errNotSupportTLS, err) }) } diff --git a/pkg/network/netpoll/transport_test.go b/pkg/network/netpoll/transport_test.go index 7b88e482b..d8a06090c 100644 --- a/pkg/network/netpoll/transport_test.go +++ b/pkg/network/netpoll/transport_test.go @@ -34,7 +34,7 @@ import ( func TestTransport(t *testing.T) { const nw = "tcp" - const addr = ":10103" + const addr = "localhost:10103" t.Run("TestDefault", func(t *testing.T) { var onConnFlag, onAcceptFlag, onDataFlag int32 transporter := NewTransporter(&config.Options{ diff --git a/pkg/network/standard/dial_test.go b/pkg/network/standard/dial_test.go index db26e841b..7d9f3a03b 100644 --- a/pkg/network/standard/dial_test.go +++ b/pkg/network/standard/dial_test.go @@ -35,7 +35,7 @@ import ( func TestDial(t *testing.T) { const nw = "tcp" - const addr = ":10104" + const addr = "localhost:10104" transporter := NewTransporter(&config.Options{ Addr: addr, Network: nw, @@ -58,7 +58,7 @@ func TestDial(t *testing.T) { func TestDialTLS(t *testing.T) { const nw = "tcp" - const addr = ":10104" + const addr = "localhost:10105" data := []byte("abcdefg") listened := make(chan struct{}) go func() {