mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-31 07:20:13 +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 (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"fmt"
|
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
|
||||||
|
|
||||||
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
|
||||||
)
|
)
|
||||||
@ -77,17 +75,25 @@ func TestGetK8sVersionFromUserInput(t *testing.T) {
|
|||||||
name: "Version is optional",
|
name: "Version is optional",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
for tnum, tt := range tcases {
|
for _, tt := range tcases {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
flags := &applyPlanFlags{}
|
flags := &applyPlanFlags{}
|
||||||
if len(tt.clusterConfig) > 0 {
|
if len(tt.clusterConfig) > 0 {
|
||||||
tmpfile := fmt.Sprintf("/tmp/kubeadm-upgrade-common-test-%d-%d.yaml", tnum, time.Now().Unix())
|
file, err := ioutil.TempFile("", "kubeadm-upgrade-common-test-*.yaml")
|
||||||
if err := ioutil.WriteFile(tmpfile, []byte(tt.clusterConfig), 0666); err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to create test config file: %+v", err)
|
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)
|
userVersion, err := getK8sVersionFromUserInput(flags, tt.args, tt.isVersionMandatory)
|
||||||
|
Loading…
Reference in New Issue
Block a user