github.com/simonferquel/app@v0.6.1-0.20181012141724-68b7cccf26ac/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  }