Skip to content

Commit

Permalink
test v2ray close
Browse files Browse the repository at this point in the history
  • Loading branch information
DarienRaymond committed Feb 5, 2017
1 parent 05626ca commit a13a8cf
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 2 deletions.
6 changes: 4 additions & 2 deletions app/proxyman/inbound/worker.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,10 @@ func (w *tcpWorker) Start() error {
}

func (w *tcpWorker) Close() {
w.hub.Close()
w.cancel()
if w.hub != nil {
w.hub.Close()
w.cancel()
}
}

func (w *tcpWorker) Port() v2net.Port {
Expand Down
65 changes: 65 additions & 0 deletions v2ray_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
package core_test

import (
"testing"

. "v2ray.com/core"
"v2ray.com/core/app/proxyman"
"v2ray.com/core/common/dice"
v2net "v2ray.com/core/common/net"
"v2ray.com/core/common/protocol"
"v2ray.com/core/common/serial"
"v2ray.com/core/common/uuid"
_ "v2ray.com/core/main/distro/all"
"v2ray.com/core/proxy/dokodemo"
"v2ray.com/core/proxy/vmess"
"v2ray.com/core/proxy/vmess/outbound"
"v2ray.com/core/testing/assert"
)

func TestV2RayClose(t *testing.T) {
assert := assert.On(t)

port := v2net.Port(dice.Roll(65535))
config := &Config{
Inbound: []*proxyman.InboundHandlerConfig{
{
ReceiverSettings: serial.ToTypedMessage(&proxyman.ReceiverConfig{
PortRange: v2net.SinglePortRange(port),
Listen: v2net.NewIPOrDomain(v2net.LocalHostIP),
}),
ProxySettings: serial.ToTypedMessage(&dokodemo.Config{
Address: v2net.NewIPOrDomain(v2net.LocalHostIP),
Port: uint32(0),
NetworkList: &v2net.NetworkList{
Network: []v2net.Network{v2net.Network_TCP, v2net.Network_UDP},
},
}),
},
},
Outbound: []*proxyman.OutboundHandlerConfig{
{
ProxySettings: serial.ToTypedMessage(&outbound.Config{
Receiver: []*protocol.ServerEndpoint{
{
Address: v2net.NewIPOrDomain(v2net.LocalHostIP),
Port: uint32(0),
User: []*protocol.User{
{
Account: serial.ToTypedMessage(&vmess.Account{
Id: uuid.New().String(),
}),
},
},
},
},
}),
},
},
}

point, err := NewPoint(config)
assert.Error(err).IsNil()

point.Close()
}

0 comments on commit a13a8cf

Please sign in to comment.