fix fd leaks and failed file removing for pkg kubectl and pod-security-admission

Kubernetes-commit: b94c6daa0b7602e2d30e35cf2b94f9d1e8fde56e
This commit is contained in:
HirazawaUi 2023-05-03 01:36:46 +08:00 committed by Kubernetes Publisher
parent 81568ad465
commit 08300912da
15 changed files with 44 additions and 20 deletions

View File

@ -29,6 +29,7 @@ import (
"k8s.io/cli-runtime/pkg/genericiooptions"
"k8s.io/client-go/tools/clientcmd"
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
utiltesting "k8s.io/client-go/util/testing"
cmdutil "k8s.io/kubectl/pkg/cmd/util"
)
@ -52,7 +53,7 @@ func Example_view() {
expectedConfig: expectedConfig,
}
output := test.run(nil)
output := test.run(&testing.T{})
fmt.Printf("%v", output)
// Output:
// apiVersion: v1
@ -261,7 +262,7 @@ func TestAdditionalAuth(t *testing.T) {
func TestEmbedClientCert(t *testing.T) {
fakeCertFile, _ := os.CreateTemp(os.TempDir(), "")
defer os.Remove(fakeCertFile.Name())
defer utiltesting.CloseAndRemove(t, fakeCertFile)
fakeData := []byte("fake-data")
os.WriteFile(fakeCertFile.Name(), fakeData, 0600)
expectedConfig := newRedFederalCowHammerConfig()
@ -280,7 +281,7 @@ func TestEmbedClientCert(t *testing.T) {
func TestEmbedClientKey(t *testing.T) {
fakeKeyFile, _ := os.CreateTemp(os.TempDir(), "")
defer os.Remove(fakeKeyFile.Name())
defer utiltesting.CloseAndRemove(t, fakeKeyFile)
fakeData := []byte("fake-data")
os.WriteFile(fakeKeyFile.Name(), fakeData, 0600)
expectedConfig := newRedFederalCowHammerConfig()
@ -326,7 +327,7 @@ func TestEmbedNoKeyOrCertDisallowed(t *testing.T) {
func TestEmptyTokenAndCertAllowed(t *testing.T) {
fakeCertFile, _ := os.CreateTemp(os.TempDir(), "cert-file")
defer os.Remove(fakeCertFile.Name())
defer utiltesting.CloseAndRemove(t, fakeCertFile)
expectedConfig := newRedFederalCowHammerConfig()
authInfo := clientcmdapi.NewAuthInfo()
authInfo.ClientCertificate = path.Base(fakeCertFile.Name())
@ -569,7 +570,7 @@ func TestUnsetBytes(t *testing.T) {
func TestCAClearsInsecure(t *testing.T) {
fakeCAFile, _ := os.CreateTemp(os.TempDir(), "ca-file")
defer os.Remove(fakeCAFile.Name())
defer utiltesting.CloseAndRemove(t, fakeCAFile)
clusterInfoWithInsecure := clientcmdapi.NewCluster()
clusterInfoWithInsecure.InsecureSkipTLSVerify = true
@ -638,7 +639,7 @@ func TestInsecureClearsCA(t *testing.T) {
func TestCADataClearsCA(t *testing.T) {
fakeCAFile, _ := os.CreateTemp(os.TempDir(), "")
defer os.Remove(fakeCAFile.Name())
defer utiltesting.CloseAndRemove(t, fakeCAFile)
fakeData := []byte("cadata")
os.WriteFile(fakeCAFile.Name(), fakeData, 0600)
@ -852,7 +853,7 @@ func TestToBool(t *testing.T) {
func testConfigCommand(args []string, startingConfig clientcmdapi.Config, t *testing.T) (string, clientcmdapi.Config) {
fakeKubeFile, _ := os.CreateTemp(os.TempDir(), "")
defer os.Remove(fakeKubeFile.Name())
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
err := clientcmd.WriteToFile(startingConfig, fakeKubeFile.Name())
if err != nil {
t.Fatalf("unexpected error: %v", err)

View File

@ -18,6 +18,7 @@ package config
import (
"bytes"
utiltesting "k8s.io/client-go/util/testing"
"os"
"strings"
"testing"
@ -60,7 +61,7 @@ func (test currentContextTest) run(t *testing.T) {
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
defer os.Remove(fakeKubeFile.Name())
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
err = clientcmd.WriteToFile(test.startingConfig, fakeKubeFile.Name())
if err != nil {
t.Fatalf("unexpected error: %v", err)

View File

@ -19,6 +19,7 @@ package config
import (
"bytes"
"fmt"
utiltesting "k8s.io/client-go/util/testing"
"os"
"reflect"
"testing"
@ -56,7 +57,7 @@ func (test deleteClusterTest) run(t *testing.T) {
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
defer os.Remove(fakeKubeFile.Name())
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
if err != nil {
t.Fatalf("unexpected error: %v", err)

View File

@ -19,6 +19,7 @@ package config
import (
"bytes"
"fmt"
utiltesting "k8s.io/client-go/util/testing"
"os"
"reflect"
"testing"
@ -56,7 +57,7 @@ func (test deleteContextTest) run(t *testing.T) {
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
defer os.Remove(fakeKubeFile.Name())
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
if err != nil {
t.Fatalf("unexpected error: %v", err)

View File

@ -21,6 +21,8 @@ import (
"os"
"testing"
utiltesting "k8s.io/client-go/util/testing"
"k8s.io/client-go/tools/clientcmd"
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
)
@ -60,7 +62,7 @@ func (test getClustersTest) run(t *testing.T) {
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
defer os.Remove(fakeKubeFile.Name())
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
if err != nil {
t.Fatalf("unexpected error: %v", err)

View File

@ -20,6 +20,8 @@ import (
"os"
"testing"
utiltesting "k8s.io/client-go/util/testing"
"k8s.io/cli-runtime/pkg/genericiooptions"
"k8s.io/client-go/tools/clientcmd"
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
@ -147,7 +149,7 @@ func (test getContextsTest) run(t *testing.T) {
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
defer os.Remove(fakeKubeFile.Name())
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
err = clientcmd.WriteToFile(test.startingConfig, fakeKubeFile.Name())
if err != nil {
t.Fatalf("unexpected error: %v", err)

View File

@ -23,6 +23,8 @@ import (
"strings"
"testing"
utiltesting "k8s.io/client-go/util/testing"
"k8s.io/client-go/tools/clientcmd"
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
)
@ -103,7 +105,7 @@ func TestRenameToAlreadyExistingContext(t *testing.T) {
func (test renameContextTest) run(t *testing.T) {
fakeKubeFile, _ := os.CreateTemp(os.TempDir(), "")
defer os.Remove(fakeKubeFile.Name())
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
err := clientcmd.WriteToFile(test.initialConfig, fakeKubeFile.Name())
if err != nil {
t.Fatalf("unexpected error: %v", err)

View File

@ -21,6 +21,8 @@ import (
"os"
"testing"
utiltesting "k8s.io/client-go/util/testing"
"k8s.io/client-go/tools/clientcmd"
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
)
@ -186,7 +188,7 @@ func (test setClusterTest) run(t *testing.T) {
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
defer os.Remove(fakeKubeFile.Name())
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
if err != nil {
t.Fatalf("unexpected error: %v", err)

View File

@ -21,6 +21,8 @@ import (
"os"
"testing"
utiltesting "k8s.io/client-go/util/testing"
"k8s.io/client-go/tools/clientcmd"
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
)
@ -110,7 +112,7 @@ func (test setContextTest) run(t *testing.T) {
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
defer os.Remove(fakeKubeFile.Name())
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
if err != nil {
t.Fatalf("unexpected error: %v", err)

View File

@ -18,6 +18,7 @@ package config
import (
"bytes"
utiltesting "k8s.io/client-go/util/testing"
"os"
"reflect"
"testing"
@ -457,7 +458,7 @@ func (test setCredentialsTest) run(t *testing.T) {
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
defer os.Remove(fakeKubeFile.Name())
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
if err != nil {
t.Fatalf("unexpected error: %v", err)

View File

@ -21,6 +21,8 @@ import (
"os"
"testing"
utiltesting "k8s.io/client-go/util/testing"
"reflect"
"k8s.io/client-go/tools/clientcmd"
@ -58,7 +60,7 @@ func (test setConfigTest) run(t *testing.T) {
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
defer os.Remove(fakeKubeFile.Name())
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
if err != nil {
t.Fatalf("unexpected error: %v", err)

View File

@ -21,6 +21,8 @@ import (
"os"
"testing"
utiltesting "k8s.io/client-go/util/testing"
"k8s.io/client-go/tools/clientcmd"
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
)
@ -109,7 +111,7 @@ func (test unsetConfigTest) run(t *testing.T) {
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
defer os.Remove(fakeKubeFile.Name())
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
if err != nil {
t.Fatalf("unexpected error: %v", err)

View File

@ -21,6 +21,8 @@ import (
"os"
"testing"
utiltesting "k8s.io/client-go/util/testing"
"k8s.io/client-go/tools/clientcmd"
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
)
@ -74,7 +76,7 @@ func (test useContextTest) run(t *testing.T) {
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
defer os.Remove(fakeKubeFile.Name())
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
if err != nil {
t.Fatalf("unexpected error: %v", err)

View File

@ -20,6 +20,8 @@ import (
"os"
"testing"
utiltesting "k8s.io/client-go/util/testing"
"k8s.io/cli-runtime/pkg/genericiooptions"
"k8s.io/client-go/tools/clientcmd"
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
@ -297,7 +299,7 @@ func (test viewClusterTest) run(t *testing.T) {
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
defer os.Remove(fakeKubeFile.Name())
defer utiltesting.CloseAndRemove(t, fakeKubeFile)
err = clientcmd.WriteToFile(test.config, fakeKubeFile.Name())
if err != nil {
t.Fatalf("unexpected error: %v", err)

View File

@ -483,6 +483,7 @@ func (f *TestFactory) Cleanup() {
return
}
f.tempConfigFile.Close()
os.Remove(f.tempConfigFile.Name())
}