|
|
@@ -18,20 +18,20 @@ import (
|
|
|
"v2ray.com/core/proxy/vmess"
|
|
|
"v2ray.com/core/proxy/vmess/inbound"
|
|
|
"v2ray.com/core/proxy/vmess/outbound"
|
|
|
- "v2ray.com/core/testing/assert"
|
|
|
+ . "v2ray.com/ext/assert"
|
|
|
"v2ray.com/core/testing/servers/tcp"
|
|
|
"v2ray.com/core/testing/servers/udp"
|
|
|
"v2ray.com/core/transport/internet"
|
|
|
)
|
|
|
|
|
|
func TestVMessDynamicPort(t *testing.T) {
|
|
|
- assert := assert.On(t)
|
|
|
+ assert := With(t)
|
|
|
|
|
|
tcpServer := tcp.Server{
|
|
|
MsgProcessor: xor,
|
|
|
}
|
|
|
dest, err := tcpServer.Start()
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
defer tcpServer.Close()
|
|
|
|
|
|
userID := protocol.NewID(uuid.New())
|
|
|
@@ -135,38 +135,38 @@ func TestVMessDynamicPort(t *testing.T) {
|
|
|
}
|
|
|
|
|
|
servers, err := InitializeServerConfigs(serverConfig, clientConfig)
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
|
|
|
for i := 0; i < 10; i++ {
|
|
|
conn, err := net.DialTCP("tcp", nil, &net.TCPAddr{
|
|
|
IP: []byte{127, 0, 0, 1},
|
|
|
Port: int(clientPort),
|
|
|
})
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
|
|
|
payload := "dokodemo request."
|
|
|
nBytes, err := conn.Write([]byte(payload))
|
|
|
- assert.Error(err).IsNil()
|
|
|
- assert.Int(nBytes).Equals(len(payload))
|
|
|
+ assert(err, IsNil)
|
|
|
+ assert(nBytes, Equals, len(payload))
|
|
|
|
|
|
response := make([]byte, 1024)
|
|
|
nBytes, err = conn.Read(response)
|
|
|
- assert.Error(err).IsNil()
|
|
|
- assert.Bytes(response[:nBytes]).Equals(xor([]byte(payload)))
|
|
|
- assert.Error(conn.Close()).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
+ assert(response[:nBytes], Equals, xor([]byte(payload)))
|
|
|
+ assert(conn.Close(), IsNil)
|
|
|
}
|
|
|
|
|
|
CloseAllServers(servers)
|
|
|
}
|
|
|
|
|
|
func TestVMessGCM(t *testing.T) {
|
|
|
- assert := assert.On(t)
|
|
|
+ assert := With(t)
|
|
|
|
|
|
tcpServer := tcp.Server{
|
|
|
MsgProcessor: xor,
|
|
|
}
|
|
|
dest, err := tcpServer.Start()
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
defer tcpServer.Close()
|
|
|
|
|
|
userID := protocol.NewID(uuid.New())
|
|
|
@@ -252,7 +252,7 @@ func TestVMessGCM(t *testing.T) {
|
|
|
}
|
|
|
|
|
|
servers, err := InitializeServerConfigs(serverConfig, clientConfig)
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
|
|
|
var wg sync.WaitGroup
|
|
|
wg.Add(10)
|
|
|
@@ -262,18 +262,18 @@ func TestVMessGCM(t *testing.T) {
|
|
|
IP: []byte{127, 0, 0, 1},
|
|
|
Port: int(clientPort),
|
|
|
})
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
|
|
|
payload := make([]byte, 10240*1024)
|
|
|
rand.Read(payload)
|
|
|
|
|
|
nBytes, err := conn.Write([]byte(payload))
|
|
|
- assert.Error(err).IsNil()
|
|
|
- assert.Int(nBytes).Equals(len(payload))
|
|
|
+ assert(err, IsNil)
|
|
|
+ assert(nBytes, Equals, len(payload))
|
|
|
|
|
|
response := readFrom(conn, time.Second*20, 10240*1024)
|
|
|
- assert.Bytes(response).Equals(xor([]byte(payload)))
|
|
|
- assert.Error(conn.Close()).IsNil()
|
|
|
+ assert(response, Equals, xor([]byte(payload)))
|
|
|
+ assert(conn.Close(), IsNil)
|
|
|
wg.Done()
|
|
|
}()
|
|
|
}
|
|
|
@@ -283,13 +283,13 @@ func TestVMessGCM(t *testing.T) {
|
|
|
}
|
|
|
|
|
|
func TestVMessGCMUDP(t *testing.T) {
|
|
|
- assert := assert.On(t)
|
|
|
+ assert := With(t)
|
|
|
|
|
|
udpServer := udp.Server{
|
|
|
MsgProcessor: xor,
|
|
|
}
|
|
|
dest, err := udpServer.Start()
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
defer udpServer.Close()
|
|
|
|
|
|
userID := protocol.NewID(uuid.New())
|
|
|
@@ -375,7 +375,7 @@ func TestVMessGCMUDP(t *testing.T) {
|
|
|
}
|
|
|
|
|
|
servers, err := InitializeServerConfigs(serverConfig, clientConfig)
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
|
|
|
var wg sync.WaitGroup
|
|
|
wg.Add(10)
|
|
|
@@ -385,28 +385,28 @@ func TestVMessGCMUDP(t *testing.T) {
|
|
|
IP: []byte{127, 0, 0, 1},
|
|
|
Port: int(clientPort),
|
|
|
})
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
|
|
|
payload := make([]byte, 1024)
|
|
|
rand.Read(payload)
|
|
|
|
|
|
nBytes, err := conn.Write([]byte(payload))
|
|
|
- assert.Error(err).IsNil()
|
|
|
- assert.Int(nBytes).Equals(len(payload))
|
|
|
+ assert(err, IsNil)
|
|
|
+ assert(nBytes, Equals, len(payload))
|
|
|
|
|
|
payload1 := make([]byte, 1024)
|
|
|
rand.Read(payload1)
|
|
|
nBytes, err = conn.Write([]byte(payload1))
|
|
|
- assert.Error(err).IsNil()
|
|
|
- assert.Int(nBytes).Equals(len(payload1))
|
|
|
+ assert(err, IsNil)
|
|
|
+ assert(nBytes, Equals, len(payload1))
|
|
|
|
|
|
response := readFrom(conn, time.Second*5, 1024)
|
|
|
- assert.Bytes(response).Equals(xor([]byte(payload)))
|
|
|
+ assert(response, Equals, xor([]byte(payload)))
|
|
|
|
|
|
response = readFrom(conn, time.Second*5, 1024)
|
|
|
- assert.Bytes(response).Equals(xor([]byte(payload1)))
|
|
|
+ assert(response, Equals, xor([]byte(payload1)))
|
|
|
|
|
|
- assert.Error(conn.Close()).IsNil()
|
|
|
+ assert(conn.Close(), IsNil)
|
|
|
wg.Done()
|
|
|
}()
|
|
|
}
|
|
|
@@ -416,13 +416,13 @@ func TestVMessGCMUDP(t *testing.T) {
|
|
|
}
|
|
|
|
|
|
func TestVMessChacha20(t *testing.T) {
|
|
|
- assert := assert.On(t)
|
|
|
+ assert := With(t)
|
|
|
|
|
|
tcpServer := tcp.Server{
|
|
|
MsgProcessor: xor,
|
|
|
}
|
|
|
dest, err := tcpServer.Start()
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
defer tcpServer.Close()
|
|
|
|
|
|
userID := protocol.NewID(uuid.New())
|
|
|
@@ -508,7 +508,7 @@ func TestVMessChacha20(t *testing.T) {
|
|
|
}
|
|
|
|
|
|
servers, err := InitializeServerConfigs(serverConfig, clientConfig)
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
|
|
|
var wg sync.WaitGroup
|
|
|
wg.Add(10)
|
|
|
@@ -518,18 +518,18 @@ func TestVMessChacha20(t *testing.T) {
|
|
|
IP: []byte{127, 0, 0, 1},
|
|
|
Port: int(clientPort),
|
|
|
})
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
|
|
|
payload := make([]byte, 10240*1024)
|
|
|
rand.Read(payload)
|
|
|
|
|
|
nBytes, err := conn.Write([]byte(payload))
|
|
|
- assert.Error(err).IsNil()
|
|
|
- assert.Int(nBytes).Equals(len(payload))
|
|
|
+ assert(err, IsNil)
|
|
|
+ assert(nBytes, Equals, len(payload))
|
|
|
|
|
|
response := readFrom(conn, time.Second*20, 10240*1024)
|
|
|
- assert.Bytes(response).Equals(xor([]byte(payload)))
|
|
|
- assert.Error(conn.Close()).IsNil()
|
|
|
+ assert(response, Equals, xor([]byte(payload)))
|
|
|
+ assert(conn.Close(), IsNil)
|
|
|
wg.Done()
|
|
|
}()
|
|
|
}
|
|
|
@@ -539,13 +539,13 @@ func TestVMessChacha20(t *testing.T) {
|
|
|
}
|
|
|
|
|
|
func TestVMessNone(t *testing.T) {
|
|
|
- assert := assert.On(t)
|
|
|
+ assert := With(t)
|
|
|
|
|
|
tcpServer := tcp.Server{
|
|
|
MsgProcessor: xor,
|
|
|
}
|
|
|
dest, err := tcpServer.Start()
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
defer tcpServer.Close()
|
|
|
|
|
|
userID := protocol.NewID(uuid.New())
|
|
|
@@ -631,7 +631,7 @@ func TestVMessNone(t *testing.T) {
|
|
|
}
|
|
|
|
|
|
servers, err := InitializeServerConfigs(serverConfig, clientConfig)
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
|
|
|
var wg sync.WaitGroup
|
|
|
wg.Add(10)
|
|
|
@@ -641,18 +641,18 @@ func TestVMessNone(t *testing.T) {
|
|
|
IP: []byte{127, 0, 0, 1},
|
|
|
Port: int(clientPort),
|
|
|
})
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
|
|
|
payload := make([]byte, 1024*1024)
|
|
|
rand.Read(payload)
|
|
|
|
|
|
nBytes, err := conn.Write(payload)
|
|
|
- assert.Error(err).IsNil()
|
|
|
- assert.Int(nBytes).Equals(len(payload))
|
|
|
+ assert(err, IsNil)
|
|
|
+ assert(nBytes, Equals, len(payload))
|
|
|
|
|
|
response := readFrom(conn, time.Second*20, 1024*1024)
|
|
|
- assert.Bytes(response).Equals(xor(payload))
|
|
|
- assert.Error(conn.Close()).IsNil()
|
|
|
+ assert(response, Equals, xor(payload))
|
|
|
+ assert(conn.Close(), IsNil)
|
|
|
wg.Done()
|
|
|
}()
|
|
|
}
|
|
|
@@ -662,13 +662,13 @@ func TestVMessNone(t *testing.T) {
|
|
|
}
|
|
|
|
|
|
func TestVMessKCP(t *testing.T) {
|
|
|
- assert := assert.On(t)
|
|
|
+ assert := With(t)
|
|
|
|
|
|
tcpServer := tcp.Server{
|
|
|
MsgProcessor: xor,
|
|
|
}
|
|
|
dest, err := tcpServer.Start()
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
defer tcpServer.Close()
|
|
|
|
|
|
userID := protocol.NewID(uuid.New())
|
|
|
@@ -762,7 +762,7 @@ func TestVMessKCP(t *testing.T) {
|
|
|
}
|
|
|
|
|
|
servers, err := InitializeServerConfigs(serverConfig, clientConfig)
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
|
|
|
var wg sync.WaitGroup
|
|
|
for i := 0; i < 10; i++ {
|
|
|
@@ -772,18 +772,18 @@ func TestVMessKCP(t *testing.T) {
|
|
|
IP: []byte{127, 0, 0, 1},
|
|
|
Port: int(clientPort),
|
|
|
})
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
|
|
|
payload := make([]byte, 10240*1024)
|
|
|
rand.Read(payload)
|
|
|
|
|
|
nBytes, err := conn.Write(payload)
|
|
|
- assert.Error(err).IsNil()
|
|
|
- assert.Int(nBytes).Equals(len(payload))
|
|
|
+ assert(err, IsNil)
|
|
|
+ assert(nBytes, Equals, len(payload))
|
|
|
|
|
|
response := readFrom(conn, time.Minute, 10240*1024)
|
|
|
- assert.Bytes(response).Equals(xor(payload))
|
|
|
- assert.Error(conn.Close()).IsNil()
|
|
|
+ assert(response, Equals, xor(payload))
|
|
|
+ assert(conn.Close(), IsNil)
|
|
|
wg.Done()
|
|
|
}()
|
|
|
}
|
|
|
@@ -794,14 +794,14 @@ func TestVMessKCP(t *testing.T) {
|
|
|
|
|
|
func TestVMessIPv6(t *testing.T) {
|
|
|
t.SkipNow() // No IPv6 on travis-ci.
|
|
|
- assert := assert.On(t)
|
|
|
+ assert := With(t)
|
|
|
|
|
|
tcpServer := tcp.Server{
|
|
|
MsgProcessor: xor,
|
|
|
Listen: net.LocalHostIPv6,
|
|
|
}
|
|
|
dest, err := tcpServer.Start()
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
defer tcpServer.Close()
|
|
|
|
|
|
userID := protocol.NewID(uuid.New())
|
|
|
@@ -887,36 +887,36 @@ func TestVMessIPv6(t *testing.T) {
|
|
|
}
|
|
|
|
|
|
servers, err := InitializeServerConfigs(serverConfig, clientConfig)
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
|
|
|
conn, err := net.DialTCP("tcp", nil, &net.TCPAddr{
|
|
|
IP: net.LocalHostIPv6.IP(),
|
|
|
Port: int(clientPort),
|
|
|
})
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
|
|
|
payload := make([]byte, 1024)
|
|
|
rand.Read(payload)
|
|
|
|
|
|
nBytes, err := conn.Write(payload)
|
|
|
- assert.Error(err).IsNil()
|
|
|
- assert.Int(nBytes).Equals(len(payload))
|
|
|
+ assert(err, IsNil)
|
|
|
+ assert(nBytes, Equals, len(payload))
|
|
|
|
|
|
response := readFrom(conn, time.Second*20, 1024)
|
|
|
- assert.Bytes(response).Equals(xor(payload))
|
|
|
- assert.Error(conn.Close()).IsNil()
|
|
|
+ assert(response, Equals, xor(payload))
|
|
|
+ assert(conn.Close(), IsNil)
|
|
|
|
|
|
CloseAllServers(servers)
|
|
|
}
|
|
|
|
|
|
func TestVMessGCMMux(t *testing.T) {
|
|
|
- assert := assert.On(t)
|
|
|
+ assert := With(t)
|
|
|
|
|
|
tcpServer := tcp.Server{
|
|
|
MsgProcessor: xor,
|
|
|
}
|
|
|
dest, err := tcpServer.Start()
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
defer tcpServer.Close()
|
|
|
|
|
|
userID := protocol.NewID(uuid.New())
|
|
|
@@ -1008,7 +1008,7 @@ func TestVMessGCMMux(t *testing.T) {
|
|
|
}
|
|
|
|
|
|
servers, err := InitializeServerConfigs(serverConfig, clientConfig)
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
|
|
|
for range "abcd" {
|
|
|
var wg sync.WaitGroup
|
|
|
@@ -1020,7 +1020,7 @@ func TestVMessGCMMux(t *testing.T) {
|
|
|
IP: []byte{127, 0, 0, 1},
|
|
|
Port: int(clientPort),
|
|
|
})
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
|
|
|
payload := make([]byte, 10240)
|
|
|
rand.Read(payload)
|
|
|
@@ -1028,12 +1028,12 @@ func TestVMessGCMMux(t *testing.T) {
|
|
|
xorpayload := xor(payload)
|
|
|
|
|
|
nBytes, err := conn.Write(payload)
|
|
|
- assert.Error(err).IsNil()
|
|
|
- assert.Int(nBytes).Equals(len(payload))
|
|
|
+ assert(err, IsNil)
|
|
|
+ assert(nBytes, Equals, len(payload))
|
|
|
|
|
|
response := readFrom(conn, time.Second*20, 10240)
|
|
|
- assert.Bytes(response).Equals(xorpayload)
|
|
|
- assert.Error(conn.Close()).IsNil()
|
|
|
+ assert(response, Equals, xorpayload)
|
|
|
+ assert(conn.Close(), IsNil)
|
|
|
wg.Done()
|
|
|
}()
|
|
|
}
|
|
|
@@ -1045,20 +1045,20 @@ func TestVMessGCMMux(t *testing.T) {
|
|
|
}
|
|
|
|
|
|
func TestVMessGCMMuxUDP(t *testing.T) {
|
|
|
- assert := assert.On(t)
|
|
|
+ assert := With(t)
|
|
|
|
|
|
tcpServer := tcp.Server{
|
|
|
MsgProcessor: xor,
|
|
|
}
|
|
|
dest, err := tcpServer.Start()
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
defer tcpServer.Close()
|
|
|
|
|
|
udpServer := udp.Server{
|
|
|
MsgProcessor: xor,
|
|
|
}
|
|
|
udpDest, err := udpServer.Start()
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
defer udpServer.Close()
|
|
|
|
|
|
userID := protocol.NewID(uuid.New())
|
|
|
@@ -1164,7 +1164,7 @@ func TestVMessGCMMuxUDP(t *testing.T) {
|
|
|
}
|
|
|
|
|
|
servers, err := InitializeServerConfigs(serverConfig, clientConfig)
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
|
|
|
for range "abcd" {
|
|
|
var wg sync.WaitGroup
|
|
|
@@ -1176,7 +1176,7 @@ func TestVMessGCMMuxUDP(t *testing.T) {
|
|
|
IP: []byte{127, 0, 0, 1},
|
|
|
Port: int(clientPort),
|
|
|
})
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
|
|
|
payload := make([]byte, 10240)
|
|
|
rand.Read(payload)
|
|
|
@@ -1184,12 +1184,12 @@ func TestVMessGCMMuxUDP(t *testing.T) {
|
|
|
xorpayload := xor(payload)
|
|
|
|
|
|
nBytes, err := conn.Write(payload)
|
|
|
- assert.Error(err).IsNil()
|
|
|
- assert.Int(nBytes).Equals(len(payload))
|
|
|
+ assert(err, IsNil)
|
|
|
+ assert(nBytes, Equals, len(payload))
|
|
|
|
|
|
response := readFrom(conn, time.Second*20, 10240)
|
|
|
- assert.Bytes(response).Equals(xorpayload)
|
|
|
- assert.Error(conn.Close()).IsNil()
|
|
|
+ assert(response, Equals, xorpayload)
|
|
|
+ assert(conn.Close(), IsNil)
|
|
|
wg.Done()
|
|
|
}()
|
|
|
}
|
|
|
@@ -1199,7 +1199,7 @@ func TestVMessGCMMuxUDP(t *testing.T) {
|
|
|
IP: []byte{127, 0, 0, 1},
|
|
|
Port: int(clientUDPPort),
|
|
|
})
|
|
|
- assert.Error(err).IsNil()
|
|
|
+ assert(err, IsNil)
|
|
|
|
|
|
conn.SetDeadline(time.Now().Add(time.Second * 10))
|
|
|
|
|
|
@@ -1210,20 +1210,20 @@ func TestVMessGCMMuxUDP(t *testing.T) {
|
|
|
|
|
|
for j := 0; j < 2; j++ {
|
|
|
nBytes, _, err := conn.WriteMsgUDP(payload, nil, nil)
|
|
|
- assert.Error(err).IsNil()
|
|
|
- assert.Int(nBytes).Equals(len(payload))
|
|
|
+ assert(err, IsNil)
|
|
|
+ assert(nBytes, Equals, len(payload))
|
|
|
}
|
|
|
|
|
|
response := make([]byte, 1024)
|
|
|
oob := make([]byte, 16)
|
|
|
for j := 0; j < 2; j++ {
|
|
|
nBytes, _, _, _, err := conn.ReadMsgUDP(response, oob)
|
|
|
- assert.Error(err).IsNil()
|
|
|
- assert.Int(nBytes).Equals(1024)
|
|
|
- assert.Bytes(response).Equals(xorpayload)
|
|
|
+ assert(err, IsNil)
|
|
|
+ assert(nBytes, Equals, 1024)
|
|
|
+ assert(response, Equals, xorpayload)
|
|
|
}
|
|
|
|
|
|
- assert.Error(conn.Close()).IsNil()
|
|
|
+ assert(conn.Close(), IsNil)
|
|
|
wg.Done()
|
|
|
}()
|
|
|
}
|