fix fd leaks and failed file removing for pkg controller-manager and apiserver

Kubernetes-commit: 982d2966cd33d79026a5d111dcb8bfeae62e657f
This commit is contained in:
HirazawaUi 2023-05-03 01:36:00 +08:00 committed by Kubernetes Publisher
parent aa6ff55e90
commit 709ca925ae
3 changed files with 11 additions and 2 deletions

View File

@ -23,6 +23,8 @@ import (
"reflect"
"testing"
utiltesting "k8s.io/client-go/util/testing"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apiserver/pkg/apis/apiserver"
)
@ -281,7 +283,7 @@ spec:
if err != nil {
t.Fatal(err)
}
defer os.Remove(f.Name())
defer utiltesting.CloseAndRemove(t, f)
if err := ioutil.WriteFile(f.Name(), []byte(tc.contents), os.FileMode(0755)); err != nil {
t.Fatal(err)
}

View File

@ -704,6 +704,7 @@ func bootstrapTestDir(t *testing.T) string {
// Write the certificate files to disk or fail
for fileName, fileData := range files {
if err := ioutil.WriteFile(filepath.Join(dir, fileName), fileData, 0400); err != nil {
os.RemoveAll(dir)
t.Fatal(err)
}
}
@ -713,6 +714,10 @@ func bootstrapTestDir(t *testing.T) string {
func newKubeConfigFile(config v1.Config) (string, error) {
configFile, err := ioutil.TempFile("", "")
if err != nil {
return "", err
}
defer configFile.Close()
if err != nil {
return "", fmt.Errorf("unable to create the Kubernetes client config file: %v", err)

View File

@ -34,6 +34,8 @@ import (
"text/template"
"time"
utiltesting "k8s.io/client-go/util/testing"
"github.com/google/go-cmp/cmp"
authorizationv1 "k8s.io/api/authorization/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@ -185,7 +187,7 @@ current-context: default
return err
}
p := tempfile.Name()
defer os.Remove(p)
defer utiltesting.CloseAndRemove(t, tempfile)
tmpl, err := template.New("test").Parse(tt.configTmpl)
if err != nil {