Merge pull request #10800 from ahmetalpbalkan/TestRunEnv-fix

integration-cli: Preserve DOCKER_TEST_HOST in env-clearing tests
Upstream-commit: 9ee8d41ab27181a919da11828c573c030e8a5611
Component: engine
This commit is contained in:
Arnaud Porterie
2015-02-16 09:23:42 -08:00
2 changed files with 14 additions and 2 deletions
@@ -862,7 +862,8 @@ func TestRunEnvironmentErase(t *testing.T) {
// not set in our local env that they're removed (if present) in
// the container
cmd := exec.Command(dockerBinary, "run", "-e", "FOO", "-e", "HOSTNAME", "busybox", "env")
cmd.Env = []string{}
cmd.Env = appendDockerHostEnv([]string{})
out, _, err := runCommandWithOutput(cmd)
if err != nil {
t.Fatal(err, out)
@@ -900,7 +901,8 @@ func TestRunEnvironmentOverride(t *testing.T) {
// Test to make sure that when we use -e on env vars that are
// already in the env that we're overriding them
cmd := exec.Command(dockerBinary, "run", "-e", "HOSTNAME", "-e", "HOME=/root2", "busybox", "env")
cmd.Env = []string{"HOSTNAME=bar"}
cmd.Env = appendDockerHostEnv([]string{"HOSTNAME=bar"})
out, _, err := runCommandWithOutput(cmd)
if err != nil {
t.Fatal(err, out)
@@ -897,3 +897,13 @@ func setupRegistry(t *testing.T) func() {
return func() { reg.Close() }
}
// appendDockerHostEnv adds given env slice DOCKER_HOST value if set in the
// environment. Useful when environment is cleared but we want to preserve DOCKER_HOST
// to execute tests against a remote daemon.
func appendDockerHostEnv(env []string) []string {
if dockerHost := os.Getenv("DOCKER_HOST"); dockerHost != "" {
env = append(env, fmt.Sprintf("DOCKER_HOST=%s", dockerHost))
}
return env
}