Skip to content

Commit

Permalink
Fix stomping os env in kubectl e2e tests
Browse files Browse the repository at this point in the history
  • Loading branch information
liggitt committed Apr 18, 2023
1 parent d97ea0f commit 0c54d9a
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 7 deletions.
10 changes: 7 additions & 3 deletions test/e2e/framework/kubectl/builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (
"io"
"net"
"net/url"
"os"
"os/exec"
"strings"
"syscall"
Expand All @@ -48,9 +49,12 @@ func NewKubectlCommand(namespace string, args ...string) *KubectlBuilder {
return b
}

// WithEnv sets the given environment and returns itself.
func (b *KubectlBuilder) WithEnv(env []string) *KubectlBuilder {
b.cmd.Env = env
// WithEnv appends the given environment and returns itself.
func (b *KubectlBuilder) AppendEnv(env []string) *KubectlBuilder {
if b.cmd.Env == nil {
b.cmd.Env = os.Environ()
}
b.cmd.Env = append(b.cmd.Env, env...)
return b
}

Expand Down
8 changes: 4 additions & 4 deletions test/e2e/kubectl/kubectl.go
Original file line number Diff line number Diff line change
Expand Up @@ -487,7 +487,7 @@ var _ = SIGDescribe("Kubectl client", func() {
proxyLogs.Reset()
ginkgo.By("Running kubectl via an HTTP proxy using " + proxyVar)
output := e2ekubectl.NewKubectlCommand(ns, "exec", podRunningTimeoutArg, simplePodName, "--", "echo", "running", "in", "container").
WithEnv(append(os.Environ(), fmt.Sprintf("%s=%s", proxyVar, proxyAddr))).
AppendEnv(append(os.Environ(), fmt.Sprintf("%s=%s", proxyVar, proxyAddr))).
ExecOrDie(ns)

// Verify we got the normal output captured by the exec server
Expand Down Expand Up @@ -868,7 +868,7 @@ metadata:

manifest1 = strings.ReplaceAll(manifest1, "{{ns}}", ns)
args := []string{"apply", "--prune", "--applyset=applyset1", "-f", "-"}
e2ekubectl.NewKubectlCommand(ns, args...).WithEnv([]string{"KUBECTL_APPLYSET=true"}).WithStdinData(manifest1).ExecOrDie(ns)
e2ekubectl.NewKubectlCommand(ns, args...).AppendEnv([]string{"KUBECTL_APPLYSET=true"}).WithStdinData(manifest1).ExecOrDie(ns)

framework.Logf("checking which objects exist")
objects := mustListObjectsInNamespace(ctx, c, ns)
Expand All @@ -887,7 +887,7 @@ metadata:
`
manifest2 = strings.ReplaceAll(manifest2, "{{ns}}", ns)

e2ekubectl.NewKubectlCommand(ns, args...).WithEnv([]string{"KUBECTL_APPLYSET=true"}).WithStdinData(manifest2).ExecOrDie(ns)
e2ekubectl.NewKubectlCommand(ns, args...).AppendEnv([]string{"KUBECTL_APPLYSET=true"}).WithStdinData(manifest2).ExecOrDie(ns)

framework.Logf("checking which objects exist")
objects = mustListObjectsInNamespace(ctx, c, ns)
Expand All @@ -897,7 +897,7 @@ metadata:
}

framework.Logf("applying manifest2 (again)")
e2ekubectl.NewKubectlCommand(ns, args...).WithEnv([]string{"KUBECTL_APPLYSET=true"}).WithStdinData(manifest2).ExecOrDie(ns)
e2ekubectl.NewKubectlCommand(ns, args...).AppendEnv([]string{"KUBECTL_APPLYSET=true"}).WithStdinData(manifest2).ExecOrDie(ns)

framework.Logf("checking which objects exist")
objects = mustListObjectsInNamespace(ctx, c, ns)
Expand Down

0 comments on commit 0c54d9a

Please sign in to comment.