mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-30 06:54:01 +00:00
kubeadm: Don't hardcode temp path in a test
Hardcoding a temp path of /tmp/... is not portable and can potentially cause other issues (such as flakyness) too. Use TempFile instead. Signed-off-by: Rostislav M. Georgiev <rostislavg@vmware.com>
This commit is contained in:
parent
9c75270b2b
commit
5a3b1a0c7c
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user