diff --git a/cmd/kubeadm/app/cmd/upgrade/common_test.go b/cmd/kubeadm/app/cmd/upgrade/common_test.go index f2c228ba285..0c45da63dbf 100644 --- a/cmd/kubeadm/app/cmd/upgrade/common_test.go +++ b/cmd/kubeadm/app/cmd/upgrade/common_test.go @@ -18,11 +18,9 @@ package upgrade import ( "bytes" - "fmt" "io/ioutil" "os" "testing" - "time" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" ) @@ -77,17 +75,25 @@ func TestGetK8sVersionFromUserInput(t *testing.T) { name: "Version is optional", }, } - for tnum, tt := range tcases { + for _, tt := range tcases { t.Run(tt.name, func(t *testing.T) { flags := &applyPlanFlags{} if len(tt.clusterConfig) > 0 { - tmpfile := fmt.Sprintf("/tmp/kubeadm-upgrade-common-test-%d-%d.yaml", tnum, time.Now().Unix()) - if err := ioutil.WriteFile(tmpfile, []byte(tt.clusterConfig), 0666); err != nil { + file, err := ioutil.TempFile("", "kubeadm-upgrade-common-test-*.yaml") + if err != nil { t.Fatalf("Failed to create test config file: %+v", err) } - defer os.Remove(tmpfile) - flags.cfgPath = tmpfile + tmpFileName := file.Name() + defer os.Remove(tmpFileName) + + _, err = file.WriteString(tt.clusterConfig) + file.Close() + if err != nil { + t.Fatalf("Failed to write test config file contents: %+v", err) + } + + flags.cfgPath = tmpFileName } userVersion, err := getK8sVersionFromUserInput(flags, tt.args, tt.isVersionMandatory)