| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package main
- import (
- "bytes"
- "os"
- "os/exec"
- "path/filepath"
- "runtime"
- "strings"
- "testing"
- "time"
- "v2ray.com/core/testing/assert"
- )
- func TestBuildAndRun(t *testing.T) {
- assert := assert.On(t)
- gopath := os.Getenv("GOPATH")
- goOS := parseOS(runtime.GOOS)
- goArch := parseArch(runtime.GOARCH)
- target := filepath.Join(gopath, "src", "v2ray_test")
- if goOS == Windows {
- target += ".exe"
- }
- err := buildV2Ray(target, "v1.0", goOS, goArch, "")
- assert.Error(err).IsNil()
- outBuffer := bytes.NewBuffer(make([]byte, 0, 1024))
- errBuffer := bytes.NewBuffer(make([]byte, 0, 1024))
- configFile := filepath.Join(gopath, "src", "github.com", "v2ray", "v2ray-core", "tools", "release", "config", "vpoint_socks_vmess.json")
- cmd := exec.Command(target, "--config="+configFile)
- cmd.Stdout = outBuffer
- cmd.Stderr = errBuffer
- cmd.Start()
- time.Sleep(1 * time.Second)
- cmd.Process.Kill()
- outStr := string(outBuffer.Bytes())
- errStr := string(errBuffer.Bytes())
- assert.Bool(strings.Contains(outStr, "v1.0")).IsTrue()
- assert.String(errStr).Equals("")
- os.Remove(target)
- }
|