mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-09 03:57:41 +00:00
Replace os.Setenv with testing.T.Setenv in tests
T.Setenv ensures that the environment is returned to its prior state when the test ends. It also panics when called from a parallel test to prevent racy test interdependencies.
This commit is contained in:
parent
53cccbe4f9
commit
240fccd766
@ -249,18 +249,14 @@ func TestNewCmdToken(t *testing.T) {
|
|||||||
if _, err = f.WriteString(tc.configToWrite); err != nil {
|
if _, err = f.WriteString(tc.configToWrite); err != nil {
|
||||||
t.Errorf("Unable to write test file %q: %v", fullPath, err)
|
t.Errorf("Unable to write test file %q: %v", fullPath, err)
|
||||||
}
|
}
|
||||||
// store the current value of the environment variable.
|
|
||||||
storedEnv := os.Getenv(clientcmd.RecommendedConfigPathEnvVar)
|
|
||||||
if tc.kubeConfigEnv != "" {
|
if tc.kubeConfigEnv != "" {
|
||||||
os.Setenv(clientcmd.RecommendedConfigPathEnvVar, tc.kubeConfigEnv)
|
t.Setenv(clientcmd.RecommendedConfigPathEnvVar, tc.kubeConfigEnv)
|
||||||
}
|
}
|
||||||
cmd.SetArgs(tc.args)
|
cmd.SetArgs(tc.args)
|
||||||
err := cmd.Execute()
|
err := cmd.Execute()
|
||||||
if (err != nil) != tc.expectedError {
|
if (err != nil) != tc.expectedError {
|
||||||
t.Errorf("Test case %q: newCmdToken expected error: %v, saw: %v", tc.name, tc.expectedError, (err != nil))
|
t.Errorf("Test case %q: newCmdToken expected error: %v, saw: %v", tc.name, tc.expectedError, (err != nil))
|
||||||
}
|
}
|
||||||
// restore the environment variable.
|
|
||||||
os.Setenv(clientcmd.RecommendedConfigPathEnvVar, storedEnv)
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -27,11 +27,9 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/util/version"
|
"k8s.io/apimachinery/pkg/util/version"
|
||||||
)
|
)
|
||||||
|
|
||||||
func runKubeadmInit(args ...string) (string, string, int, error) {
|
func runKubeadmInit(t testing.TB, args ...string) (string, string, int, error) {
|
||||||
const dryRunDir = "KUBEADM_INIT_DRYRUN_DIR"
|
t.Helper()
|
||||||
if err := os.Setenv(dryRunDir, os.TempDir()); err != nil {
|
t.Setenv("KUBEADM_INIT_DRYRUN_DIR", os.TempDir())
|
||||||
panic(fmt.Sprintf("could not set the %s environment variable", dryRunDir))
|
|
||||||
}
|
|
||||||
kubeadmPath := getKubeadmPath()
|
kubeadmPath := getKubeadmPath()
|
||||||
kubeadmArgs := []string{"init", "--dry-run", "--ignore-preflight-errors=all"}
|
kubeadmArgs := []string{"init", "--dry-run", "--ignore-preflight-errors=all"}
|
||||||
kubeadmArgs = append(kubeadmArgs, args...)
|
kubeadmArgs = append(kubeadmArgs, args...)
|
||||||
@ -73,7 +71,7 @@ func TestCmdInitToken(t *testing.T) {
|
|||||||
|
|
||||||
for _, rt := range initTest {
|
for _, rt := range initTest {
|
||||||
t.Run(rt.name, func(t *testing.T) {
|
t.Run(rt.name, func(t *testing.T) {
|
||||||
_, _, _, err := runKubeadmInit(rt.args)
|
_, _, _, err := runKubeadmInit(t, rt.args)
|
||||||
if (err == nil) != rt.expected {
|
if (err == nil) != rt.expected {
|
||||||
t.Fatalf(dedent.Dedent(`
|
t.Fatalf(dedent.Dedent(`
|
||||||
CmdInitToken test case %q failed with an error: %v
|
CmdInitToken test case %q failed with an error: %v
|
||||||
@ -112,7 +110,7 @@ func TestCmdInitKubernetesVersion(t *testing.T) {
|
|||||||
|
|
||||||
for _, rt := range initTest {
|
for _, rt := range initTest {
|
||||||
t.Run(rt.name, func(t *testing.T) {
|
t.Run(rt.name, func(t *testing.T) {
|
||||||
_, _, _, err := runKubeadmInit(rt.args)
|
_, _, _, err := runKubeadmInit(t, rt.args)
|
||||||
if (err == nil) != rt.expected {
|
if (err == nil) != rt.expected {
|
||||||
t.Fatalf(dedent.Dedent(`
|
t.Fatalf(dedent.Dedent(`
|
||||||
CmdInitKubernetesVersion test case %q failed with an error: %v
|
CmdInitKubernetesVersion test case %q failed with an error: %v
|
||||||
@ -176,7 +174,7 @@ func TestCmdInitConfig(t *testing.T) {
|
|||||||
|
|
||||||
for _, rt := range initTest {
|
for _, rt := range initTest {
|
||||||
t.Run(rt.name, func(t *testing.T) {
|
t.Run(rt.name, func(t *testing.T) {
|
||||||
_, _, _, err := runKubeadmInit(rt.args)
|
_, _, _, err := runKubeadmInit(t, rt.args)
|
||||||
if (err == nil) != rt.expected {
|
if (err == nil) != rt.expected {
|
||||||
t.Fatalf(dedent.Dedent(`
|
t.Fatalf(dedent.Dedent(`
|
||||||
CmdInitConfig test case %q failed with an error: %v
|
CmdInitConfig test case %q failed with an error: %v
|
||||||
@ -225,7 +223,7 @@ func TestCmdInitAPIPort(t *testing.T) {
|
|||||||
|
|
||||||
for _, rt := range initTest {
|
for _, rt := range initTest {
|
||||||
t.Run(rt.name, func(t *testing.T) {
|
t.Run(rt.name, func(t *testing.T) {
|
||||||
_, _, _, err := runKubeadmInit(rt.args)
|
_, _, _, err := runKubeadmInit(t, rt.args)
|
||||||
if (err == nil) != rt.expected {
|
if (err == nil) != rt.expected {
|
||||||
t.Fatalf(dedent.Dedent(`
|
t.Fatalf(dedent.Dedent(`
|
||||||
CmdInitAPIPort test case %q failed with an error: %v
|
CmdInitAPIPort test case %q failed with an error: %v
|
||||||
@ -267,7 +265,7 @@ func TestCmdInitFeatureGates(t *testing.T) {
|
|||||||
|
|
||||||
for _, rt := range initTest {
|
for _, rt := range initTest {
|
||||||
t.Run(rt.name, func(t *testing.T) {
|
t.Run(rt.name, func(t *testing.T) {
|
||||||
_, _, exitcode, err := runKubeadmInit(rt.args)
|
_, _, exitcode, err := runKubeadmInit(t, rt.args)
|
||||||
if exitcode == PanicExitcode {
|
if exitcode == PanicExitcode {
|
||||||
t.Fatalf(dedent.Dedent(`
|
t.Fatalf(dedent.Dedent(`
|
||||||
CmdInitFeatureGates test case %q failed with an error: %v
|
CmdInitFeatureGates test case %q failed with an error: %v
|
||||||
|
Loading…
Reference in New Issue
Block a user