github.com/ijc/docker-app@v0.6.1-0.20181012090447-c7ca8bc483fb/e2e/main_test.go (about) 1 package e2e 2 3 import ( 4 "bytes" 5 "flag" 6 "os" 7 "os/exec" 8 "path/filepath" 9 "strings" 10 "testing" 11 ) 12 13 var ( 14 e2ePath = flag.String("e2e-path", ".", "Set path to the e2e directory") 15 dockerApp = os.Getenv("DOCKERAPP_BINARY") 16 hasExperimental = false 17 renderers = "" 18 ) 19 20 func TestMain(m *testing.M) { 21 flag.Parse() 22 if err := os.Chdir(*e2ePath); err != nil { 23 panic(err) 24 } 25 cwd, err := os.Getwd() 26 if err != nil { 27 panic(err) 28 } 29 if dockerApp == "" { 30 dockerApp = filepath.Join(cwd, "../bin/docker-app") 31 } 32 dockerApp, err = filepath.Abs(dockerApp) 33 if err != nil { 34 panic(err) 35 } 36 cmd := exec.Command(dockerApp, "version") 37 output, err := cmd.CombinedOutput() 38 if err != nil { 39 panic(err) 40 } 41 hasExperimental = bytes.Contains(output, []byte("Experimental: on")) 42 i := strings.Index(string(output), "Renderers") 43 renderers = string(output)[i+10:] 44 os.Exit(m.Run()) 45 }