package main import ( "fmt" "os" "path/filepath" "testing" "v2ray.com/core/testing/assert" ) func cleanBinPath() { os.RemoveAll(binPath) os.Mkdir(binPath, os.ModeDir|0777) } func fileExists(file string) bool { _, err := os.Stat(file) return err == nil } func allFilesExists(files ...string) bool { for _, file := range files { fullPath := filepath.Join(binPath, file) if !fileExists(fullPath) { fmt.Println(fullPath + " doesn't exist.") return false } } return true } func TestBuildMacOS(t *testing.T) { assert := assert.On(t) binPath = filepath.Join(os.Getenv("GOPATH"), "testing") cleanBinPath() build("macos", "amd64", true, "test", "metadata.txt") assert.Bool(allFilesExists( "v2ray-macos.zip", "v2ray-test-macos", filepath.Join("v2ray-test-macos", "config.json"), filepath.Join("v2ray-test-macos", "v2ray"))).IsTrue() build("windows", "amd64", true, "test", "metadata.txt") assert.Bool(allFilesExists( "v2ray-windows-64.zip", "v2ray-test-windows-64", filepath.Join("v2ray-test-windows-64", "config.json"), filepath.Join("v2ray-test-windows-64", "v2ray.exe"))).IsTrue() build("linux", "amd64", true, "test", "metadata.txt") assert.Bool(allFilesExists( "v2ray-linux-64.zip", "v2ray-test-linux-64", filepath.Join("v2ray-test-linux-64", "vpoint_socks_vmess.json"), filepath.Join("v2ray-test-linux-64", "vpoint_vmess_freedom.json"), filepath.Join("v2ray-test-linux-64", "v2ray"))).IsTrue() }