10 "github.com/docker/docker/integration-cli/cli"
13 var ensureHTTPServerOnce sync.Once
15 func ensureHTTPServerImage(t testingT) {
17 ensureHTTPServerOnce.Do(func() {
25 defer testEnv.ProtectImage(t, "httpserver:latest")
27 tmp, err := ioutil.TempDir("", "docker-http-server-test")
29 t.Fatalf("could not build http server: %v", err)
31 defer os.RemoveAll(tmp)
33 goos := testEnv.DaemonPlatform()
37 goarch := os.Getenv("DOCKER_ENGINE_GOARCH")
42 goCmd, lookErr := exec.LookPath("go")
44 t.Fatalf("could not build http server: %v", lookErr)
47 cmd := exec.Command(goCmd, "build", "-o", filepath.Join(tmp, "httpserver"), "github.com/docker/docker/contrib/httpserver")
48 cmd.Env = append(os.Environ(), []string{
54 if out, err = cmd.CombinedOutput(); err != nil {
55 t.Fatalf("could not build http server: %s", string(out))
58 cpCmd, lookErr := exec.LookPath("cp")
60 t.Fatalf("could not build http server: %v", lookErr)
62 if out, err = exec.Command(cpCmd, "../contrib/httpserver/Dockerfile", filepath.Join(tmp, "Dockerfile")).CombinedOutput(); err != nil {
63 t.Fatalf("could not build http server: %v", string(out))
66 cli.DockerCmd(t, "build", "-q", "-t", "httpserver", tmp)