func initEnv(launchProcess bool) {
if launchProcess {
+ /*kill xds-server if needed*/
cmd := exec.Command("killall", "-9", "xds-server")
if err := cmd.Start(); err != nil {
log.Fatal(err)
}
cmd.Wait()
}
+ /*set environment variable*/
rootTestLog := "/tmp/xds-server-test"
if err := os.Setenv(envRootCfgDir, rootTestLog); err != nil {
log.Fatal(err)
if err := os.Setenv("XDS_LOG_SILLY", "1"); err != nil {
log.Fatal(err)
}
+ /*remove and recreate working directories*/
os.RemoveAll(rootTestLog)
os.MkdirAll(rootTestLog, 0755)
logDir = rootTestLog + "/logs/"
os.MkdirAll(logDir, 0755)
}
+/*prepare xds-server process*/
func launchXdsServer(proc **os.Process) *os.File {
logFile := logDir + logFileXdsServer
file, err := os.OpenFile(logFile, os.O_CREATE|os.O_WRONLY, 0644)
}
func NewIoSocketClient(url, clientID string) (*IOSockClient, error) {
-
var err error
sCli := &IOSockClient{
Transport: "websocket",
Header: make(map[string][]string),
},
- //ServerDiscoChan: make(chan Disconnection, 1),
}
sCli.Options.Header["XDS-SID"] = []string{clientID}
return sCli, nil
}
func TestMain(m *testing.M) {
+ /* useful for debugging, preventing from launching xds-server
+ * it can be launch separetly */
launchProcess := true
log.Printf("TestMain: launchProcess is %v, so launching xds-server", launchProcess)
initEnv(launchProcess)
if launchProcess {
fileXdsServer = launchXdsServer(&proc)
go func(p *os.Process) {
+ log.Print("xds-server is launching")
if status, err := p.Wait(); err != nil {
log.Fatalf("status=%v\n err=%v\n", status, err)
}
res := m.Run()
defer os.Exit(res)
}
-
-func init() {
-}