Fix: plugin-tests discarding current environment
By default, exec uses the environment of the current process, however, if `exec.Env` is not `nil`, the environment is discarded: https://github.com/golang/go/blob/e73f4894949c4ced611881329ff8f37805152585/src/os/exec/exec.go#L57-L60 > If Env is nil, the new process uses the current process's environment. When adding a new environment variable, prepend the current environment, to make sure it is not discarded. Signed-off-by: Sebastiaan van Stijn <github@gone.nl> (cherry picked from commit b84bff7f8ad1562a7d05f21bd84179d3306f2b4b) Signed-off-by: Sebastiaan van Stijn <github@gone.nl> Upstream-commit: 19e733f89f7652f58b567b5178bacc10ef2940b5 Component: engine
This commit is contained in:
@@ -31,7 +31,7 @@ func ensurePlugin(t *testing.T, name string) string {
|
||||
}
|
||||
|
||||
cmd := exec.Command(goBin, "build", "-o", installPath, "./"+filepath.Join("cmd", name))
|
||||
cmd.Env = append(cmd.Env, "CGO_ENABLED=0")
|
||||
cmd.Env = append(os.Environ(), "CGO_ENABLED=0")
|
||||
if out, err := cmd.CombinedOutput(); err != nil {
|
||||
t.Fatal(errors.Wrapf(err, "error building basic plugin bin: %s", string(out)))
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ func ensurePlugin(t *testing.T, name string) string {
|
||||
}
|
||||
|
||||
cmd := exec.Command(goBin, "build", "-o", installPath, "./"+filepath.Join("cmd", name))
|
||||
cmd.Env = append(cmd.Env, "CGO_ENABLED=0")
|
||||
cmd.Env = append(os.Environ(), "CGO_ENABLED=0")
|
||||
if out, err := cmd.CombinedOutput(); err != nil {
|
||||
t.Fatal(errors.Wrapf(err, "error building basic plugin bin: %s", string(out)))
|
||||
}
|
||||
|
||||
@@ -208,7 +208,7 @@ func ensureBasicPluginBin() (string, error) {
|
||||
installPath := filepath.Join(os.Getenv("GOPATH"), "bin", name)
|
||||
sourcePath := filepath.Join("github.com", "docker", "docker", "internal", "test", "fixtures", "plugin", "basic")
|
||||
cmd := exec.Command(goBin, "build", "-o", installPath, sourcePath)
|
||||
cmd.Env = append(cmd.Env, "GOPATH="+os.Getenv("GOPATH"), "CGO_ENABLED=0")
|
||||
cmd.Env = append(os.Environ(), "CGO_ENABLED=0")
|
||||
if out, err := cmd.CombinedOutput(); err != nil {
|
||||
return "", errors.Wrapf(err, "error building basic plugin bin: %s", string(out))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user