1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2025-12-26 12:05:35 -05:00

refactor test

This commit is contained in:
Darien Raymond
2017-05-18 00:39:30 +02:00
parent 661c0fc237
commit 087a91c46c
10 changed files with 118 additions and 102 deletions

View File

@@ -61,31 +61,43 @@ func readFrom(conn net.Conn, timeout time.Duration, length int) []byte {
return b[:n]
}
func InitializeServerConfig(config *core.Config) error {
func InitializeServerConfigs(configs ...*core.Config) ([]*exec.Cmd, error) {
servers := make([]*exec.Cmd, 0, 10)
for _, config := range configs {
server, err := InitializeServerConfig(config)
if err != nil {
CloseAllServers(servers)
return nil, err
}
servers = append(servers, server)
}
time.Sleep(time.Second * 2)
return servers, nil
}
func InitializeServerConfig(config *core.Config) (*exec.Cmd, error) {
err := BuildV2Ray()
if err != nil {
return err
return nil, err
}
configBytes, err := proto.Marshal(config)
if err != nil {
return err
return nil, err
}
proc := RunV2RayProtobuf(configBytes)
if err := proc.Start(); err != nil {
return err
return nil, err
}
time.Sleep(time.Second)
runningServers = append(runningServers, proc)
return nil
return proc, nil
}
var (
runningServers = make([]*exec.Cmd, 0, 10)
testBinaryPath string
testBinaryPathGen sync.Once
)
@@ -114,14 +126,13 @@ func GetSourcePath() string {
return filepath.Join("v2ray.com", "core", "main")
}
func CloseAllServers() {
func CloseAllServers(servers []*exec.Cmd) {
log.Trace(errors.New("Closing all servers."))
for _, server := range runningServers {
for _, server := range servers {
server.Process.Signal(os.Interrupt)
}
for _, server := range runningServers {
for _, server := range servers {
server.Process.Wait()
}
runningServers = make([]*exec.Cmd, 0, 10)
log.Trace(errors.New("All server closed."))
}