소스 검색

Merge pull request #29762 from vdemeester/integration-mini-clean

Small cleanup in `integration-cli/docker_utils.go` 👼
Sebastiaan van Stijn 8 년 전
부모
커밋
79f1c9c81d

+ 19 - 0
integration-cli/docker_cli_cp_to_container_unix_test.go

@@ -6,6 +6,8 @@ import (
 	"fmt"
 	"fmt"
 	"os"
 	"os"
 	"path/filepath"
 	"path/filepath"
+	"strconv"
+	"strings"
 
 
 	"github.com/docker/docker/pkg/integration/checker"
 	"github.com/docker/docker/pkg/integration/checker"
 	"github.com/docker/docker/pkg/system"
 	"github.com/docker/docker/pkg/system"
@@ -37,3 +39,20 @@ func (s *DockerSuite) TestCpCheckDestOwnership(c *check.C) {
 	c.Assert(stat.UID(), checker.Equals, uint32(uid), check.Commentf("Copied file not owned by container root UID"))
 	c.Assert(stat.UID(), checker.Equals, uint32(uid), check.Commentf("Copied file not owned by container root UID"))
 	c.Assert(stat.GID(), checker.Equals, uint32(gid), check.Commentf("Copied file not owned by container root GID"))
 	c.Assert(stat.GID(), checker.Equals, uint32(gid), check.Commentf("Copied file not owned by container root GID"))
 }
 }
+
+func getRootUIDGID() (int, int, error) {
+	uidgid := strings.Split(filepath.Base(dockerBasePath), ".")
+	if len(uidgid) == 1 {
+		//user namespace remapping is not turned on; return 0
+		return 0, 0, nil
+	}
+	uid, err := strconv.Atoi(uidgid[0])
+	if err != nil {
+		return 0, 0, err
+	}
+	gid, err := strconv.Atoi(uidgid[1])
+	if err != nil {
+		return 0, 0, err
+	}
+	return uid, gid, nil
+}

+ 10 - 0
integration-cli/docker_cli_daemon_test.go

@@ -225,6 +225,16 @@ func (s *DockerDaemonSuite) TestDaemonRestartWithIncreasedBasesize(c *check.C) {
 	s.d.Stop(c)
 	s.d.Stop(c)
 }
 }
 
 
+func convertBasesize(basesizeBytes int64) (int64, error) {
+	basesize := units.HumanSize(float64(basesizeBytes))
+	basesize = strings.Trim(basesize, " ")[:len(basesize)-3]
+	basesizeFloat, err := strconv.ParseFloat(strings.Trim(basesize, " "), 64)
+	if err != nil {
+		return 0, err
+	}
+	return int64(basesizeFloat) * 1024 * 1024 * 1024, nil
+}
+
 // Issue #8444: If docker0 bridge is modified (intentionally or unintentionally) and
 // Issue #8444: If docker0 bridge is modified (intentionally or unintentionally) and
 // no longer has an IP associated, we should gracefully handle that case and associate
 // no longer has an IP associated, we should gracefully handle that case and associate
 // an IP with it rather than fail daemon start
 // an IP with it rather than fail daemon start

+ 0 - 54
integration-cli/docker_cli_tag_test.go

@@ -12,14 +12,6 @@ import (
 
 
 // tagging a named image in a new unprefixed repo should work
 // tagging a named image in a new unprefixed repo should work
 func (s *DockerSuite) TestTagUnprefixedRepoByName(c *check.C) {
 func (s *DockerSuite) TestTagUnprefixedRepoByName(c *check.C) {
-	// Don't attempt to pull on Windows as not in hub. It's installed
-	// as an image through .ensure-frozen-images-windows
-	if daemonPlatform != "windows" {
-		if err := pullImageIfNotExist("busybox:latest"); err != nil {
-			c.Fatal("couldn't find the busybox:latest image locally and failed to pull it")
-		}
-	}
-
 	dockerCmd(c, "tag", "busybox:latest", "testfoobarbaz")
 	dockerCmd(c, "tag", "busybox:latest", "testfoobarbaz")
 }
 }
 
 
@@ -53,14 +45,6 @@ func (s *DockerSuite) TestTagInvalidPrefixedRepo(c *check.C) {
 
 
 // ensure we allow the use of valid tags
 // ensure we allow the use of valid tags
 func (s *DockerSuite) TestTagValidPrefixedRepo(c *check.C) {
 func (s *DockerSuite) TestTagValidPrefixedRepo(c *check.C) {
-	// Don't attempt to pull on Windows as not in hub. It's installed
-	// as an image through .ensure-frozen-images-windows
-	if daemonPlatform != "windows" {
-		if err := pullImageIfNotExist("busybox:latest"); err != nil {
-			c.Fatal("couldn't find the busybox:latest image locally and failed to pull it")
-		}
-	}
-
 	validRepos := []string{"fooo/bar", "fooaa/test", "foooo:t", "HOSTNAME.DOMAIN.COM:443/foo/bar"}
 	validRepos := []string{"fooo/bar", "fooaa/test", "foooo:t", "HOSTNAME.DOMAIN.COM:443/foo/bar"}
 
 
 	for _, repo := range validRepos {
 	for _, repo := range validRepos {
@@ -75,25 +59,10 @@ func (s *DockerSuite) TestTagValidPrefixedRepo(c *check.C) {
 
 
 // tag an image with an existed tag name without -f option should work
 // tag an image with an existed tag name without -f option should work
 func (s *DockerSuite) TestTagExistedNameWithoutForce(c *check.C) {
 func (s *DockerSuite) TestTagExistedNameWithoutForce(c *check.C) {
-	// Don't attempt to pull on Windows as not in hub. It's installed
-	// as an image through .ensure-frozen-images-windows
-	if daemonPlatform != "windows" {
-		if err := pullImageIfNotExist("busybox:latest"); err != nil {
-			c.Fatal("couldn't find the busybox:latest image locally and failed to pull it")
-		}
-	}
-
 	dockerCmd(c, "tag", "busybox:latest", "busybox:test")
 	dockerCmd(c, "tag", "busybox:latest", "busybox:test")
 }
 }
 
 
 func (s *DockerSuite) TestTagWithPrefixHyphen(c *check.C) {
 func (s *DockerSuite) TestTagWithPrefixHyphen(c *check.C) {
-	// Don't attempt to pull on Windows as not in hub. It's installed
-	// as an image through .ensure-frozen-images-windows
-	if daemonPlatform != "windows" {
-		if err := pullImageIfNotExist("busybox:latest"); err != nil {
-			c.Fatal("couldn't find the busybox:latest image locally and failed to pull it")
-		}
-	}
 	// test repository name begin with '-'
 	// test repository name begin with '-'
 	out, _, err := dockerCmdWithError("tag", "busybox:latest", "-busybox:test")
 	out, _, err := dockerCmdWithError("tag", "busybox:latest", "-busybox:test")
 	c.Assert(err, checker.NotNil, check.Commentf(out))
 	c.Assert(err, checker.NotNil, check.Commentf(out))
@@ -150,13 +119,6 @@ func (s *DockerSuite) TestTagOfficialNames(c *check.C) {
 
 
 // ensure tags can not match digests
 // ensure tags can not match digests
 func (s *DockerSuite) TestTagMatchesDigest(c *check.C) {
 func (s *DockerSuite) TestTagMatchesDigest(c *check.C) {
-	// Don't attempt to pull on Windows as not in hub. It's installed
-	// as an image through .ensure-frozen-images-windows
-	if daemonPlatform != "windows" {
-		if err := pullImageIfNotExist("busybox:latest"); err != nil {
-			c.Fatal("couldn't find the busybox:latest image locally and failed to pull it")
-		}
-	}
 	digest := "busybox@sha256:abcdef76720241213f5303bda7704ec4c2ef75613173910a56fb1b6e20251507"
 	digest := "busybox@sha256:abcdef76720241213f5303bda7704ec4c2ef75613173910a56fb1b6e20251507"
 	// test setting tag fails
 	// test setting tag fails
 	_, _, err := dockerCmdWithError("tag", "busybox:latest", digest)
 	_, _, err := dockerCmdWithError("tag", "busybox:latest", digest)
@@ -171,14 +133,6 @@ func (s *DockerSuite) TestTagMatchesDigest(c *check.C) {
 }
 }
 
 
 func (s *DockerSuite) TestTagInvalidRepoName(c *check.C) {
 func (s *DockerSuite) TestTagInvalidRepoName(c *check.C) {
-	// Don't attempt to pull on Windows as not in hub. It's installed
-	// as an image through .ensure-frozen-images-windows
-	if daemonPlatform != "windows" {
-		if err := pullImageIfNotExist("busybox:latest"); err != nil {
-			c.Fatal("couldn't find the busybox:latest image locally and failed to pull it")
-		}
-	}
-
 	// test setting tag fails
 	// test setting tag fails
 	_, _, err := dockerCmdWithError("tag", "busybox:latest", "sha256:sometag")
 	_, _, err := dockerCmdWithError("tag", "busybox:latest", "sha256:sometag")
 	if err == nil {
 	if err == nil {
@@ -188,14 +142,6 @@ func (s *DockerSuite) TestTagInvalidRepoName(c *check.C) {
 
 
 // ensure tags cannot create ambiguity with image ids
 // ensure tags cannot create ambiguity with image ids
 func (s *DockerSuite) TestTagTruncationAmbiguity(c *check.C) {
 func (s *DockerSuite) TestTagTruncationAmbiguity(c *check.C) {
-	//testRequires(c, DaemonIsLinux)
-	// Don't attempt to pull on Windows as not in hub. It's installed
-	// as an image through .ensure-frozen-images-windows
-	if daemonPlatform != "windows" {
-		if err := pullImageIfNotExist("busybox:latest"); err != nil {
-			c.Fatal("couldn't find the busybox:latest image locally and failed to pull it")
-		}
-	}
 	imageID, err := buildImage("notbusybox:latest",
 	imageID, err := buildImage("notbusybox:latest",
 		`FROM busybox
 		`FROM busybox
 		MAINTAINER dockerio`,
 		MAINTAINER dockerio`,

+ 0 - 108
integration-cli/docker_utils.go

@@ -31,7 +31,6 @@ import (
 	icmd "github.com/docker/docker/pkg/integration/cmd"
 	icmd "github.com/docker/docker/pkg/integration/cmd"
 	"github.com/docker/docker/pkg/ioutils"
 	"github.com/docker/docker/pkg/ioutils"
 	"github.com/docker/docker/pkg/stringutils"
 	"github.com/docker/docker/pkg/stringutils"
-	units "github.com/docker/go-units"
 	"github.com/go-check/check"
 	"github.com/go-check/check"
 )
 )
 
 
@@ -89,16 +88,6 @@ func init() {
 	isolation = info.Isolation
 	isolation = info.Isolation
 }
 }
 
 
-func convertBasesize(basesizeBytes int64) (int64, error) {
-	basesize := units.HumanSize(float64(basesizeBytes))
-	basesize = strings.Trim(basesize, " ")[:len(basesize)-3]
-	basesizeFloat, err := strconv.ParseFloat(strings.Trim(basesize, " "), 64)
-	if err != nil {
-		return 0, err
-	}
-	return int64(basesizeFloat) * 1024 * 1024 * 1024, nil
-}
-
 func daemonHost() string {
 func daemonHost() string {
 	daemonURLStr := "unix://" + opts.DefaultUnixSocket
 	daemonURLStr := "unix://" + opts.DefaultUnixSocket
 	if daemonHostVar := os.Getenv("DOCKER_HOST"); daemonHostVar != "" {
 	if daemonHostVar := os.Getenv("DOCKER_HOST"); daemonHostVar != "" {
@@ -370,22 +359,6 @@ func deleteImages(images ...string) error {
 	return icmd.RunCmd(icmd.Cmd{Command: append(args, images...)}).Error
 	return icmd.RunCmd(icmd.Cmd{Command: append(args, images...)}).Error
 }
 }
 
 
-func imageExists(image string) error {
-	return icmd.RunCommand(dockerBinary, "inspect", image).Error
-}
-
-func pullImageIfNotExist(image string) error {
-	if err := imageExists(image); err != nil {
-		pullCmd := exec.Command(dockerBinary, "pull", image)
-		_, exitCode, err := runCommandWithOutput(pullCmd)
-
-		if err != nil || exitCode != 0 {
-			return fmt.Errorf("image %q wasn't found locally and it couldn't be pulled: %s", image, err)
-		}
-	}
-	return nil
-}
-
 func dockerCmdWithError(args ...string) (string, int, error) {
 func dockerCmdWithError(args ...string) (string, int, error) {
 	if err := validateArgs(args...); err != nil {
 	if err := validateArgs(args...); err != nil {
 		return "", 0, err
 		return "", 0, err
@@ -441,18 +414,6 @@ func dockerCmdInDir(c *check.C, path string, args ...string) (string, int, error
 	return result.Combined(), result.ExitCode, result.Error
 	return result.Combined(), result.ExitCode, result.Error
 }
 }
 
 
-// execute a docker command in a directory with a timeout
-func dockerCmdInDirWithTimeout(timeout time.Duration, path string, args ...string) *icmd.Result {
-	if err := validateArgs(args...); err != nil {
-		return &icmd.Result{Error: err}
-	}
-	return icmd.RunCmd(icmd.Cmd{
-		Command: binaryWithArgs(args...),
-		Timeout: timeout,
-		Dir:     path,
-	})
-}
-
 // validateArgs is a checker to ensure tests are not running commands which are
 // validateArgs is a checker to ensure tests are not running commands which are
 // not supported on platforms. Specifically on Windows this is 'busybox top'.
 // not supported on platforms. Specifically on Windows this is 'busybox top'.
 func validateArgs(args ...string) error {
 func validateArgs(args ...string) error {
@@ -853,36 +814,6 @@ func getIDByName(name string) (string, error) {
 	return inspectFieldWithError(name, "Id")
 	return inspectFieldWithError(name, "Id")
 }
 }
 
 
-// getContainerState returns the exit code of the container
-// and true if it's running
-// the exit code should be ignored if it's running
-func getContainerState(c *check.C, id string) (int, bool, error) {
-	var (
-		exitStatus int
-		running    bool
-	)
-	out, exitCode := dockerCmd(c, "inspect", "--format={{.State.Running}} {{.State.ExitCode}}", id)
-	if exitCode != 0 {
-		return 0, false, fmt.Errorf("%q doesn't exist: %s", id, out)
-	}
-
-	out = strings.Trim(out, "\n")
-	splitOutput := strings.Split(out, " ")
-	if len(splitOutput) != 2 {
-		return 0, false, fmt.Errorf("failed to get container state: output is broken")
-	}
-	if splitOutput[0] == "true" {
-		running = true
-	}
-	if n, err := strconv.Atoi(splitOutput[1]); err == nil {
-		exitStatus = n
-	} else {
-		return 0, false, fmt.Errorf("failed to get container state: couldn't parse integer")
-	}
-
-	return exitStatus, running, nil
-}
-
 func buildImageCmd(name, dockerfile string, useCache bool, buildFlags ...string) *exec.Cmd {
 func buildImageCmd(name, dockerfile string, useCache bool, buildFlags ...string) *exec.Cmd {
 	return daemon.BuildImageCmdWithHost(dockerBinary, name, dockerfile, "", useCache, buildFlags...)
 	return daemon.BuildImageCmdWithHost(dockerBinary, name, dockerfile, "", useCache, buildFlags...)
 }
 }
@@ -1271,28 +1202,6 @@ func createTmpFile(c *check.C, content string) string {
 	return filename
 	return filename
 }
 }
 
 
-func buildImageWithOutInDamon(socket string, name, dockerfile string, useCache bool) (string, error) {
-	args := []string{"--host", socket}
-	buildCmd := buildImageCmdArgs(args, name, dockerfile, useCache)
-	out, exitCode, err := runCommandWithOutput(buildCmd)
-	if err != nil || exitCode != 0 {
-		return out, fmt.Errorf("failed to build the image: %s, error: %v", out, err)
-	}
-	return out, nil
-}
-
-func buildImageCmdArgs(args []string, name, dockerfile string, useCache bool) *exec.Cmd {
-	args = append(args, []string{"-D", "build", "-t", name}...)
-	if !useCache {
-		args = append(args, "--no-cache")
-	}
-	args = append(args, "-")
-	buildCmd := exec.Command(dockerBinary, args...)
-	buildCmd.Stdin = strings.NewReader(dockerfile)
-	return buildCmd
-
-}
-
 func waitForContainer(contID string, args ...string) error {
 func waitForContainer(contID string, args ...string) error {
 	args = append([]string{dockerBinary, "run", "--name", contID}, args...)
 	args = append([]string{dockerBinary, "run", "--name", contID}, args...)
 	result := icmd.RunCmd(icmd.Cmd{Command: args})
 	result := icmd.RunCmd(icmd.Cmd{Command: args})
@@ -1353,23 +1262,6 @@ func runSleepingContainerInImage(c *check.C, image string, extraArgs ...string)
 	return dockerCmd(c, args...)
 	return dockerCmd(c, args...)
 }
 }
 
 
-func getRootUIDGID() (int, int, error) {
-	uidgid := strings.Split(filepath.Base(dockerBasePath), ".")
-	if len(uidgid) == 1 {
-		//user namespace remapping is not turned on; return 0
-		return 0, 0, nil
-	}
-	uid, err := strconv.Atoi(uidgid[0])
-	if err != nil {
-		return 0, 0, err
-	}
-	gid, err := strconv.Atoi(uidgid[1])
-	if err != nil {
-		return 0, 0, err
-	}
-	return uid, gid, nil
-}
-
 // minimalBaseImage returns the name of the minimal base image for the current
 // minimalBaseImage returns the name of the minimal base image for the current
 // daemon platform.
 // daemon platform.
 func minimalBaseImage() string {
 func minimalBaseImage() string {