| 1234567891011121314151617181920212223242526272829303132333435 | // +build coveragepackage scenariosimport (	"os"	"os/exec"	"path/filepath")func BuildV2Ray() error {	if _, err := os.Stat(binaryPath); err == nil {		return nil	}	if err := FillBinaryPath(); err != nil {		return err	}	cmd := exec.Command("go", "test", "-tags", "json coverage coveragemain", "-coverpkg", "github.com/v2ray/v2ray-core/...", "-c", "-o", binaryPath, GetSourcePath())	return cmd.Run()}func RunV2Ray(configFile string) *exec.Cmd {	profile := "coversingle.out"	wd, err := os.Getwd()	if err != nil {		profile = filepath.Join(wd, profile)	}	proc := exec.Command(binaryPath, "-config", configFile, "-test.run", "TestRunMainForCoverage", "-test.coverprofile", profile)	proc.Stderr = os.Stderr	proc.Stdout = os.Stdout	return proc}
 |