diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/cmd_test.go b/staging/src/k8s.io/kubectl/pkg/cmd/cmd_test.go index 6b3aad60bab..3a2bdeac8ee 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/cmd_test.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/cmd_test.go @@ -342,7 +342,7 @@ func TestKubectlCommandHeadersHooks(t *testing.T) { if kubeConfigFlags.WrapConfigFn != nil { t.Fatal("expected initial nil WrapConfigFn") } - os.Setenv(kubectlCmdHeaders, testCase.envVar) + t.Setenv(kubectlCmdHeaders, testCase.envVar) addCmdHeaderHooks(cmds, kubeConfigFlags) // Valdidate whether the hooks were added. if testCase.addsHooks && kubeConfigFlags.WrapConfigFn == nil { diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/create/create_configmap_test.go b/staging/src/k8s.io/kubectl/pkg/cmd/create/create_configmap_test.go index c7a4739cc0c..bf71bf030e0 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/create/create_configmap_test.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/create/create_configmap_test.go @@ -293,8 +293,8 @@ func TestCreateConfigMap(t *testing.T) { "create_get_env_from_env_file_configmap": { configMapName: "get_env", setup: func() func(t *testing.T, configMapOptions *ConfigMapOptions) func() { - os.Setenv("g_key1", "1") - os.Setenv("g_key2", "2") + t.Setenv("g_key1", "1") + t.Setenv("g_key2", "2") return setupEnvFile([][]string{{"g_key1", "g_key2="}}) }(), fromEnvFile: []string{"file.env"}, @@ -316,8 +316,8 @@ func TestCreateConfigMap(t *testing.T) { "create_get_env_from_env_file_hash_configmap": { configMapName: "get_env", setup: func() func(t *testing.T, configMapOptions *ConfigMapOptions) func() { - os.Setenv("g_key1", "1") - os.Setenv("g_key2", "2") + t.Setenv("g_key1", "1") + t.Setenv("g_key2", "2") return setupEnvFile([][]string{{"g_key1", "g_key2="}}) }(), fromEnvFile: []string{"file.env"}, diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/create/create_secret_test.go b/staging/src/k8s.io/kubectl/pkg/cmd/create/create_secret_test.go index 60aef92ebec..9307d8ad3d2 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/create/create_secret_test.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/create/create_secret_test.go @@ -340,8 +340,8 @@ func TestCreateSecretGeneric(t *testing.T) { "create_secret_get_env_from_env_file": { secretName: "get_env", setup: func() func(t *testing.T, secretGenericOptions *CreateSecretOptions) func() { - os.Setenv("g_key1", "1") - os.Setenv("g_key2", "2") + t.Setenv("g_key1", "1") + t.Setenv("g_key2", "2") return setupSecretEnvFile([][]string{{"g_key1", "g_key2="}}) }(), fromEnvFile: []string{"file.env"}, @@ -362,8 +362,8 @@ func TestCreateSecretGeneric(t *testing.T) { "create_secret_get_env_from_env_file_hash": { secretName: "get_env", setup: func() func(t *testing.T, secretGenericOptions *CreateSecretOptions) func() { - os.Setenv("g_key1", "1") - os.Setenv("g_key2", "2") + t.Setenv("g_key1", "1") + t.Setenv("g_key2", "2") return setupSecretEnvFile([][]string{{"g_key1", "g_key2="}}) }(), fromEnvFile: []string{"file.env"}, diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/diff/diff_test.go b/staging/src/k8s.io/kubectl/pkg/cmd/diff/diff_test.go index 14797c59885..037858c5c22 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/diff/diff_test.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/diff/diff_test.go @@ -64,13 +64,10 @@ func (f *FakeObject) Live() runtime.Object { func TestDiffProgram(t *testing.T) { externalDiffCommands := [3]string{"diff", "diff -ruN", "diff --report-identical-files"} - if oriLang := os.Getenv("LANG"); oriLang != "C" { - os.Setenv("LANG", "C") - defer os.Setenv("LANG", oriLang) - } + t.Setenv("LANG", "C") for i, c := range externalDiffCommands { - os.Setenv("KUBECTL_EXTERNAL_DIFF", c) + t.Setenv("KUBECTL_EXTERNAL_DIFF", c) streams, _, stdout, _ := genericiooptions.NewTestIOStreams() diff := DiffProgram{ IOStreams: streams, diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/edit/edit_test.go b/staging/src/k8s.io/kubectl/pkg/cmd/edit/edit_test.go index c4746f4ebd6..38b4f98fb58 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/edit/edit_test.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/edit/edit_test.go @@ -170,8 +170,8 @@ func TestEdit(t *testing.T) { server := httptest.NewServer(handler) defer server.Close() - os.Setenv("KUBE_EDITOR", "testdata/test_editor.sh") - os.Setenv("KUBE_EDITOR_CALLBACK", server.URL+"/callback") + t.Setenv("KUBE_EDITOR", "testdata/test_editor.sh") + t.Setenv("KUBE_EDITOR_CALLBACK", server.URL+"/callback") testcases := sets.NewString() filepath.Walk("testdata", func(path string, info os.FileInfo, err error) error { diff --git a/staging/src/k8s.io/kubectl/pkg/cmd/util/env_file_test.go b/staging/src/k8s.io/kubectl/pkg/cmd/util/env_file_test.go index 89b9f73a2dc..b4081ba949d 100644 --- a/staging/src/k8s.io/kubectl/pkg/cmd/util/env_file_test.go +++ b/staging/src/k8s.io/kubectl/pkg/cmd/util/env_file_test.go @@ -17,7 +17,6 @@ limitations under the License. package util import ( - "os" "strings" "testing" ) @@ -85,12 +84,7 @@ func Test_processEnvFileLine_readEnvironment(t *testing.T) { const realKey = "k8s_test_env_file_key" const realValue = `my_value` - // Just in case, these two lines ensure the environment is restored to - // its original state. - original := os.Getenv(realKey) - defer func() { os.Setenv(realKey, original) }() - - os.Setenv(realKey, `my_value`) + t.Setenv(realKey, `my_value`) key, value, err := processEnvFileLine([]byte(realKey), `filename`, 3) if err != nil { diff --git a/staging/src/k8s.io/kubectl/pkg/util/i18n/i18n_test.go b/staging/src/k8s.io/kubectl/pkg/util/i18n/i18n_test.go index 57b2281652b..f7e606def2a 100644 --- a/staging/src/k8s.io/kubectl/pkg/util/i18n/i18n_test.go +++ b/staging/src/k8s.io/kubectl/pkg/util/i18n/i18n_test.go @@ -65,71 +65,70 @@ func TestTranslationUsingEnvVar(t *testing.T) { testCases := []struct { name string - setenvFn func() + setenv map[string]string expectedStr string }{ { name: "Only LC_ALL is set", - setenvFn: func() { os.Setenv("LC_ALL", knownTestLocale) }, + setenv: map[string]string{"LC_ALL": knownTestLocale}, expectedStr: expectedStrEnUSLocale, }, { name: "Only LC_MESSAGES is set", - setenvFn: func() { os.Setenv("LC_MESSAGES", knownTestLocale) }, + setenv: map[string]string{"LC_MESSAGES": knownTestLocale}, expectedStr: expectedStrEnUSLocale, }, { name: "Only LANG", - setenvFn: func() { os.Setenv("LANG", knownTestLocale) }, + setenv: map[string]string{"LANG": knownTestLocale}, expectedStr: expectedStrEnUSLocale, }, { name: "LC_MESSAGES overrides LANG", - setenvFn: func() { - os.Setenv("LANG", "be_BY.UTF-8") // Unknown locale - os.Setenv("LC_MESSAGES", knownTestLocale) + setenv: map[string]string{ + "LANG": "be_BY.UTF-8", // Unknown locale + "LC_MESSAGES": knownTestLocale, }, expectedStr: expectedStrEnUSLocale, }, { name: "LC_ALL overrides LANG", - setenvFn: func() { - os.Setenv("LANG", "be_BY.UTF-8") // Unknown locale - os.Setenv("LC_ALL", knownTestLocale) + setenv: map[string]string{ + "LANG": "be_BY.UTF-8", // Unknown locale + "LC_ALL": knownTestLocale, }, expectedStr: expectedStrEnUSLocale, }, { name: "LC_ALL overrides LC_MESSAGES", - setenvFn: func() { - os.Setenv("LC_MESSAGES", "be_BY.UTF-8") // Unknown locale - os.Setenv("LC_ALL", knownTestLocale) + setenv: map[string]string{ + "LC_MESSAGES": "be_BY.UTF-8", // Unknown locale + "LC_ALL": knownTestLocale, }, expectedStr: expectedStrEnUSLocale, }, { name: "Unknown locale in LANG", - setenvFn: func() { os.Setenv("LANG", "be_BY.UTF-8") }, + setenv: map[string]string{"LANG": "be_BY.UTF-8"}, expectedStr: expectedStrFallback, }, { name: "Unknown locale in LC_MESSAGES", - setenvFn: func() { os.Setenv("LC_MESSAGES", "be_BY.UTF-8") }, + setenv: map[string]string{"LC_MESSAGES": "be_BY.UTF-8"}, expectedStr: expectedStrFallback, }, { name: "Unknown locale in LC_ALL", - setenvFn: func() { os.Setenv("LC_ALL", "be_BY.UTF-8") }, + setenv: map[string]string{"LC_ALL": "be_BY.UTF-8"}, expectedStr: expectedStrFallback, }, { name: "Invalid env var", - setenvFn: func() { os.Setenv("LC_MESSAGES", "fake.locale.UTF-8") }, + setenv: map[string]string{"LC_MESSAGES": "fake.locale.UTF-8"}, expectedStr: expectedStrFallback, }, { name: "No env vars", - setenvFn: func() {}, expectedStr: expectedStrFallback, }, } @@ -139,13 +138,14 @@ func TestTranslationUsingEnvVar(t *testing.T) { for _, envVar := range envVarsToBackup { if envVarValue := os.Getenv(envVar); envVarValue != "" { envVarValue, envVar := envVarValue, envVar + t.Cleanup(func() { os.Setenv(envVar, envVarValue) }) os.Unsetenv(envVar) - // Restore env var at the end - defer func() { os.Setenv(envVar, envVarValue) }() } } - test.setenvFn() + for envVar, envVarValue := range test.setenv { + t.Setenv(envVar, envVarValue) + } err := LoadTranslations("test", nil) if err != nil {