mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-10-30 17:58:14 +00:00 
			
		
		
		
	Remove ioutil in kubelet and its tests
Signed-off-by: inosato <si17_21@yahoo.co.jp>
This commit is contained in:
		| @@ -18,7 +18,7 @@ package kubelet | ||||
|  | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"io/ioutil" | ||||
| 	"io" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| 	"testing" | ||||
| @@ -84,17 +84,17 @@ func TestApplyKubeletConfigPatches(t *testing.T) { | ||||
| 		expectedOutput = []byte("bar: 1\nfoo: 0\n") | ||||
| 	) | ||||
|  | ||||
| 	dir, err := ioutil.TempDir("", "patches") | ||||
| 	dir, err := os.MkdirTemp("", "patches") | ||||
| 	if err != nil { | ||||
| 		t.Fatalf("could not create temp dir: %v", err) | ||||
| 	} | ||||
| 	defer os.RemoveAll(dir) | ||||
|  | ||||
| 	if err := ioutil.WriteFile(filepath.Join(dir, "kubeletconfiguration.yaml"), patch, 0644); err != nil { | ||||
| 	if err := os.WriteFile(filepath.Join(dir, "kubeletconfiguration.yaml"), patch, 0644); err != nil { | ||||
| 		t.Fatalf("could not write patch file: %v", err) | ||||
| 	} | ||||
|  | ||||
| 	output, err := applyKubeletConfigPatches(input, dir, ioutil.Discard) | ||||
| 	output, err := applyKubeletConfigPatches(input, dir, io.Discard) | ||||
| 	if err != nil { | ||||
| 		t.Fatalf("could not apply patch: %v", err) | ||||
| 	} | ||||
|   | ||||
| @@ -20,7 +20,6 @@ import ( | ||||
| 	"context" | ||||
| 	"fmt" | ||||
| 	"io" | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"reflect" | ||||
| 	"testing" | ||||
| @@ -101,11 +100,11 @@ users: | ||||
|     client-key: mycertvalid.key | ||||
|  | ||||
| `) | ||||
| 	filevalid, err := ioutil.TempFile(fileDir, "kubeconfigvalid") | ||||
| 	filevalid, err := os.CreateTemp(fileDir, "kubeconfigvalid") | ||||
| 	if err != nil { | ||||
| 		t.Fatal(err) | ||||
| 	} | ||||
| 	ioutil.WriteFile(filevalid.Name(), testDataValid, os.FileMode(0755)) | ||||
| 	os.WriteFile(filevalid.Name(), testDataValid, os.FileMode(0755)) | ||||
|  | ||||
| 	testDataInvalid := []byte(` | ||||
| apiVersion: v1 | ||||
| @@ -141,11 +140,11 @@ users: | ||||
|     client-key: mycertinvalid.key | ||||
|  | ||||
| `) | ||||
| 	fileinvalid, err := ioutil.TempFile(fileDir, "kubeconfiginvalid") | ||||
| 	fileinvalid, err := os.CreateTemp(fileDir, "kubeconfiginvalid") | ||||
| 	if err != nil { | ||||
| 		t.Fatal(err) | ||||
| 	} | ||||
| 	ioutil.WriteFile(fileinvalid.Name(), testDataInvalid, os.FileMode(0755)) | ||||
| 	os.WriteFile(fileinvalid.Name(), testDataInvalid, os.FileMode(0755)) | ||||
|  | ||||
| 	testDatabootstrap := []byte(` | ||||
| apiVersion: v1 | ||||
| @@ -178,13 +177,13 @@ users: | ||||
|   user: | ||||
|    token: mytoken-b | ||||
| `) | ||||
| 	fileboot, err := ioutil.TempFile(fileDir, "kubeconfig") | ||||
| 	fileboot, err := os.CreateTemp(fileDir, "kubeconfig") | ||||
| 	if err != nil { | ||||
| 		t.Fatal(err) | ||||
| 	} | ||||
| 	ioutil.WriteFile(fileboot.Name(), testDatabootstrap, os.FileMode(0755)) | ||||
| 	os.WriteFile(fileboot.Name(), testDatabootstrap, os.FileMode(0755)) | ||||
|  | ||||
| 	dir, err := ioutil.TempDir(fileDir, "k8s-test-certstore-current") | ||||
| 	dir, err := os.MkdirTemp(fileDir, "k8s-test-certstore-current") | ||||
| 	if err != nil { | ||||
| 		t.Fatalf("Unable to create the test directory %q: %v", dir, err) | ||||
| 	} | ||||
| @@ -316,12 +315,12 @@ users: | ||||
|   user: | ||||
|     token: mytoken-b | ||||
| `) | ||||
| 	f, err := ioutil.TempFile("", "kubeconfig") | ||||
| 	f, err := os.CreateTemp("", "kubeconfig") | ||||
| 	if err != nil { | ||||
| 		t.Fatal(err) | ||||
| 	} | ||||
| 	defer os.Remove(f.Name()) | ||||
| 	ioutil.WriteFile(f.Name(), testData, os.FileMode(0755)) | ||||
| 	os.WriteFile(f.Name(), testData, os.FileMode(0755)) | ||||
|  | ||||
| 	config, err := loadRESTClientConfig(f.Name()) | ||||
| 	if err != nil { | ||||
|   | ||||
| @@ -19,7 +19,6 @@ package cm | ||||
| import ( | ||||
| 	"errors" | ||||
| 	"fmt" | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"path" | ||||
| 	"path/filepath" | ||||
| @@ -320,7 +319,7 @@ func getCpuWeight(cpuShares *uint64) uint64 { | ||||
|  | ||||
| // readUnifiedControllers reads the controllers available at the specified cgroup | ||||
| func readUnifiedControllers(path string) (sets.String, error) { | ||||
| 	controllersFileContent, err := ioutil.ReadFile(filepath.Join(path, "cgroup.controllers")) | ||||
| 	controllersFileContent, err := os.ReadFile(filepath.Join(path, "cgroup.controllers")) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|   | ||||
| @@ -22,7 +22,6 @@ package cm | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"fmt" | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"path" | ||||
| 	"strings" | ||||
| @@ -204,7 +203,7 @@ func NewContainerManager(mountUtil mount.Interface, cadvisorInterface cadvisor.I | ||||
| 	if failSwapOn { | ||||
| 		// Check whether swap is enabled. The Kubelet does not support running with swap enabled. | ||||
| 		swapFile := "/proc/swaps" | ||||
| 		swapData, err := ioutil.ReadFile(swapFile) | ||||
| 		swapData, err := os.ReadFile(swapFile) | ||||
| 		if err != nil { | ||||
| 			if os.IsNotExist(err) { | ||||
| 				klog.InfoS("File does not exist, assuming that swap is disabled", "path", swapFile) | ||||
|   | ||||
| @@ -21,7 +21,6 @@ package cm | ||||
|  | ||||
| import ( | ||||
| 	"errors" | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"path" | ||||
| 	"testing" | ||||
| @@ -148,11 +147,11 @@ func TestSoftRequirementsValidationSuccess(t *testing.T) { | ||||
| 		t.Skip("skipping cgroup v1 test on a cgroup v2 system") | ||||
| 	} | ||||
| 	req := require.New(t) | ||||
| 	tempDir, err := ioutil.TempDir("", "") | ||||
| 	tempDir, err := os.MkdirTemp("", "") | ||||
| 	req.NoError(err) | ||||
| 	defer os.RemoveAll(tempDir) | ||||
| 	req.NoError(ioutil.WriteFile(path.Join(tempDir, "cpu.cfs_period_us"), []byte("0"), os.ModePerm)) | ||||
| 	req.NoError(ioutil.WriteFile(path.Join(tempDir, "cpu.cfs_quota_us"), []byte("0"), os.ModePerm)) | ||||
| 	req.NoError(os.WriteFile(path.Join(tempDir, "cpu.cfs_period_us"), []byte("0"), os.ModePerm)) | ||||
| 	req.NoError(os.WriteFile(path.Join(tempDir, "cpu.cfs_quota_us"), []byte("0"), os.ModePerm)) | ||||
| 	mountInt := mount.NewFakeMounter( | ||||
| 		[]mount.MountPoint{ | ||||
| 			{ | ||||
|   | ||||
| @@ -18,15 +18,13 @@ package cpumanager | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"os" | ||||
| 	"reflect" | ||||
| 	"strconv" | ||||
| 	"strings" | ||||
| 	"testing" | ||||
| 	"time" | ||||
|  | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
|  | ||||
| 	cadvisorapi "github.com/google/cadvisor/info/v1" | ||||
| 	v1 "k8s.io/api/core/v1" | ||||
| 	"k8s.io/apimachinery/pkg/api/resource" | ||||
| @@ -629,7 +627,7 @@ func TestCPUManagerGenerate(t *testing.T) { | ||||
| 			if testCase.isTopologyBroken { | ||||
| 				machineInfo = &cadvisorapi.MachineInfo{} | ||||
| 			} | ||||
| 			sDir, err := ioutil.TempDir("/tmp/", "cpu_manager_test") | ||||
| 			sDir, err := os.MkdirTemp("/tmp/", "cpu_manager_test") | ||||
| 			if err != nil { | ||||
| 				t.Errorf("cannot create state file: %s", err.Error()) | ||||
| 			} | ||||
| @@ -1349,7 +1347,7 @@ func TestCPUManagerHandlePolicyOptions(t *testing.T) { | ||||
| 		t.Run(testCase.description, func(t *testing.T) { | ||||
| 			machineInfo := &mockedMachineInfo | ||||
| 			nodeAllocatableReservation := v1.ResourceList{} | ||||
| 			sDir, err := ioutil.TempDir("/tmp/", "cpu_manager_test") | ||||
| 			sDir, err := os.MkdirTemp("/tmp/", "cpu_manager_test") | ||||
| 			if err != nil { | ||||
| 				t.Errorf("cannot create state file: %s", err.Error()) | ||||
| 			} | ||||
|   | ||||
| @@ -17,7 +17,6 @@ limitations under the License. | ||||
| package state | ||||
|  | ||||
| import ( | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"reflect" | ||||
| 	"strings" | ||||
| @@ -201,7 +200,7 @@ func TestCheckpointStateRestore(t *testing.T) { | ||||
| 	} | ||||
|  | ||||
| 	// create temp dir | ||||
| 	testingDir, err := ioutil.TempDir("", "cpumanager_state_test") | ||||
| 	testingDir, err := os.MkdirTemp("", "cpumanager_state_test") | ||||
| 	require.NoError(t, err) | ||||
| 	defer os.RemoveAll(testingDir) | ||||
| 	// create checkpoint manager for testing | ||||
| @@ -258,7 +257,7 @@ func TestCheckpointStateStore(t *testing.T) { | ||||
| 	} | ||||
|  | ||||
| 	// create temp dir | ||||
| 	testingDir, err := ioutil.TempDir("", "cpumanager_state_test") | ||||
| 	testingDir, err := os.MkdirTemp("", "cpumanager_state_test") | ||||
| 	if err != nil { | ||||
| 		t.Fatal(err) | ||||
| 	} | ||||
| @@ -331,7 +330,7 @@ func TestCheckpointStateHelpers(t *testing.T) { | ||||
| 	} | ||||
|  | ||||
| 	// create temp dir | ||||
| 	testingDir, err := ioutil.TempDir("", "cpumanager_state_test") | ||||
| 	testingDir, err := os.MkdirTemp("", "cpumanager_state_test") | ||||
| 	if err != nil { | ||||
| 		t.Fatal(err) | ||||
| 	} | ||||
| @@ -390,7 +389,7 @@ func TestCheckpointStateClear(t *testing.T) { | ||||
| 	for _, tc := range testCases { | ||||
| 		t.Run(tc.description, func(t *testing.T) { | ||||
| 			// create temp dir | ||||
| 			testingDir, err := ioutil.TempDir("", "cpumanager_state_test") | ||||
| 			testingDir, err := os.MkdirTemp("", "cpumanager_state_test") | ||||
| 			if err != nil { | ||||
| 				t.Fatal(err) | ||||
| 			} | ||||
|   | ||||
| @@ -18,7 +18,6 @@ package devicemanager | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| 	"reflect" | ||||
| @@ -78,7 +77,7 @@ func (m *wrappedManagerImpl) PluginListAndWatchReceiver(r string, resp *pluginap | ||||
| } | ||||
|  | ||||
| func tmpSocketDir() (socketDir, socketName, pluginSocketName string, err error) { | ||||
| 	socketDir, err = ioutil.TempDir("", "device_plugin") | ||||
| 	socketDir, err = os.MkdirTemp("", "device_plugin") | ||||
| 	if err != nil { | ||||
| 		return | ||||
| 	} | ||||
| @@ -592,7 +591,7 @@ func TestCheckpoint(t *testing.T) { | ||||
| 	resourceName2 := "domain2.com/resource2" | ||||
| 	resourceName3 := "domain2.com/resource3" | ||||
| 	as := assert.New(t) | ||||
| 	tmpDir, err := ioutil.TempDir("", "checkpoint") | ||||
| 	tmpDir, err := os.MkdirTemp("", "checkpoint") | ||||
| 	as.Nil(err) | ||||
| 	defer os.RemoveAll(tmpDir) | ||||
| 	ckm, err := checkpointmanager.NewCheckpointManager(tmpDir) | ||||
| @@ -910,7 +909,7 @@ func TestPodContainerDeviceAllocation(t *testing.T) { | ||||
| 	podsStub := activePodsStub{ | ||||
| 		activePods: []*v1.Pod{}, | ||||
| 	} | ||||
| 	tmpDir, err := ioutil.TempDir("", "checkpoint") | ||||
| 	tmpDir, err := os.MkdirTemp("", "checkpoint") | ||||
| 	as.Nil(err) | ||||
| 	defer os.RemoveAll(tmpDir) | ||||
| 	testManager, err := getTestManager(tmpDir, podsStub.getActivePods, testResources) | ||||
| @@ -1009,7 +1008,7 @@ func TestGetDeviceRunContainerOptions(t *testing.T) { | ||||
| 	} | ||||
| 	as := require.New(t) | ||||
|  | ||||
| 	tmpDir, err := ioutil.TempDir("", "checkpoint") | ||||
| 	tmpDir, err := os.MkdirTemp("", "checkpoint") | ||||
| 	as.Nil(err) | ||||
| 	defer os.RemoveAll(tmpDir) | ||||
|  | ||||
| @@ -1071,7 +1070,7 @@ func TestInitContainerDeviceAllocation(t *testing.T) { | ||||
| 	podsStub := activePodsStub{ | ||||
| 		activePods: []*v1.Pod{}, | ||||
| 	} | ||||
| 	tmpDir, err := ioutil.TempDir("", "checkpoint") | ||||
| 	tmpDir, err := os.MkdirTemp("", "checkpoint") | ||||
| 	as.Nil(err) | ||||
| 	defer os.RemoveAll(tmpDir) | ||||
|  | ||||
| @@ -1162,7 +1161,7 @@ func TestUpdatePluginResources(t *testing.T) { | ||||
|  | ||||
| 	as := assert.New(t) | ||||
| 	monitorCallback := func(resourceName string, devices []pluginapi.Device) {} | ||||
| 	tmpDir, err := ioutil.TempDir("", "checkpoint") | ||||
| 	tmpDir, err := os.MkdirTemp("", "checkpoint") | ||||
| 	as.Nil(err) | ||||
| 	defer os.RemoveAll(tmpDir) | ||||
|  | ||||
| @@ -1220,7 +1219,7 @@ func TestDevicePreStartContainer(t *testing.T) { | ||||
| 	podsStub := activePodsStub{ | ||||
| 		activePods: []*v1.Pod{}, | ||||
| 	} | ||||
| 	tmpDir, err := ioutil.TempDir("", "checkpoint") | ||||
| 	tmpDir, err := os.MkdirTemp("", "checkpoint") | ||||
| 	as.Nil(err) | ||||
| 	defer os.RemoveAll(tmpDir) | ||||
|  | ||||
| @@ -1282,7 +1281,7 @@ func TestDevicePreStartContainer(t *testing.T) { | ||||
|  | ||||
| func TestResetExtendedResource(t *testing.T) { | ||||
| 	as := assert.New(t) | ||||
| 	tmpDir, err := ioutil.TempDir("", "checkpoint") | ||||
| 	tmpDir, err := os.MkdirTemp("", "checkpoint") | ||||
| 	as.Nil(err) | ||||
| 	defer os.RemoveAll(tmpDir) | ||||
| 	ckm, err := checkpointmanager.NewCheckpointManager(tmpDir) | ||||
| @@ -1392,7 +1391,7 @@ func TestReadPreNUMACheckpoint(t *testing.T) { | ||||
| 	require.NoError(t, err) | ||||
| 	defer os.RemoveAll(socketDir) | ||||
|  | ||||
| 	err = ioutil.WriteFile(filepath.Join(socketDir, deviceManagerCheckpointFilename), []byte(oldCheckpoint), 0644) | ||||
| 	err = os.WriteFile(filepath.Join(socketDir, deviceManagerCheckpointFilename), []byte(oldCheckpoint), 0644) | ||||
| 	require.NoError(t, err) | ||||
|  | ||||
| 	topologyStore := topologymanager.NewFakeManager() | ||||
|   | ||||
| @@ -18,7 +18,6 @@ package memorymanager | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"reflect" | ||||
| 	"strings" | ||||
| @@ -1982,7 +1981,7 @@ func TestNewManager(t *testing.T) { | ||||
| 	} | ||||
| 	for _, testCase := range testCases { | ||||
| 		t.Run(testCase.description, func(t *testing.T) { | ||||
| 			stateFileDirectory, err := ioutil.TempDir("/tmp/", "memory_manager_tests") | ||||
| 			stateFileDirectory, err := os.MkdirTemp("/tmp/", "memory_manager_tests") | ||||
| 			if err != nil { | ||||
| 				t.Errorf("Cannot create state file: %s", err.Error()) | ||||
| 			} | ||||
|   | ||||
| @@ -17,7 +17,6 @@ limitations under the License. | ||||
| package state | ||||
|  | ||||
| import ( | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"strings" | ||||
| 	"testing" | ||||
| @@ -111,7 +110,7 @@ func TestCheckpointStateRestore(t *testing.T) { | ||||
| 	} | ||||
|  | ||||
| 	// create temp dir | ||||
| 	testingDir, err := ioutil.TempDir("", "memorymanager_state_test") | ||||
| 	testingDir, err := os.MkdirTemp("", "memorymanager_state_test") | ||||
| 	if err != nil { | ||||
| 		t.Fatal(err) | ||||
| 	} | ||||
| @@ -174,7 +173,7 @@ func TestCheckpointStateStore(t *testing.T) { | ||||
| 	} | ||||
|  | ||||
| 	// create temp dir | ||||
| 	testingDir, err := ioutil.TempDir("", "memorymanager_state_test") | ||||
| 	testingDir, err := os.MkdirTemp("", "memorymanager_state_test") | ||||
| 	if err != nil { | ||||
| 		t.Fatal(err) | ||||
| 	} | ||||
| @@ -293,7 +292,7 @@ func TestCheckpointStateHelpers(t *testing.T) { | ||||
| 	} | ||||
|  | ||||
| 	// create temp dir | ||||
| 	testingDir, err := ioutil.TempDir("", "memorymanager_state_test") | ||||
| 	testingDir, err := os.MkdirTemp("", "memorymanager_state_test") | ||||
| 	if err != nil { | ||||
| 		t.Fatal(err) | ||||
| 	} | ||||
| @@ -362,7 +361,7 @@ func TestCheckpointStateClear(t *testing.T) { | ||||
| 	} | ||||
|  | ||||
| 	// create temp dir | ||||
| 	testingDir, err := ioutil.TempDir("", "memorymanager_state_test") | ||||
| 	testingDir, err := os.MkdirTemp("", "memorymanager_state_test") | ||||
| 	if err != nil { | ||||
| 		t.Fatal(err) | ||||
| 	} | ||||
|   | ||||
| @@ -17,7 +17,6 @@ limitations under the License. | ||||
| package config | ||||
|  | ||||
| import ( | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| 	"testing" | ||||
| @@ -35,7 +34,7 @@ func TestExtractFromBadDataFile(t *testing.T) { | ||||
| 	defer removeAll(dirName, t) | ||||
|  | ||||
| 	fileName := filepath.Join(dirName, "test_pod_config") | ||||
| 	err = ioutil.WriteFile(fileName, []byte{1, 2, 3}, 0555) | ||||
| 	err = os.WriteFile(fileName, []byte{1, 2, 3}, 0555) | ||||
| 	if err != nil { | ||||
| 		t.Fatalf("unable to write test file %#v", err) | ||||
| 	} | ||||
| @@ -74,7 +73,7 @@ func TestExtractFromEmptyDir(t *testing.T) { | ||||
| } | ||||
|  | ||||
| func mkTempDir(prefix string) (string, error) { | ||||
| 	return ioutil.TempDir(os.TempDir(), prefix) | ||||
| 	return os.MkdirTemp(os.TempDir(), prefix) | ||||
| } | ||||
|  | ||||
| func removeAll(dir string, t *testing.T) { | ||||
|   | ||||
| @@ -17,7 +17,6 @@ limitations under the License. | ||||
| package container | ||||
|  | ||||
| import ( | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| 	"time" | ||||
| @@ -36,7 +35,7 @@ type OSInterface interface { | ||||
| 	Hostname() (name string, err error) | ||||
| 	Chtimes(path string, atime time.Time, mtime time.Time) error | ||||
| 	Pipe() (r *os.File, w *os.File, err error) | ||||
| 	ReadDir(dirname string) ([]os.FileInfo, error) | ||||
| 	ReadDir(dirname string) ([]os.DirEntry, error) | ||||
| 	Glob(pattern string) ([]string, error) | ||||
| 	Open(name string) (*os.File, error) | ||||
| 	OpenFile(name string, flag int, perm os.FileMode) (*os.File, error) | ||||
| @@ -98,9 +97,9 @@ func (RealOS) Pipe() (r *os.File, w *os.File, err error) { | ||||
| 	return os.Pipe() | ||||
| } | ||||
|  | ||||
| // ReadDir will call ioutil.ReadDir to return the files under the directory. | ||||
| func (RealOS) ReadDir(dirname string) ([]os.FileInfo, error) { | ||||
| 	return ioutil.ReadDir(dirname) | ||||
| // ReadDir will call os.ReadDir to return the files under the directory. | ||||
| func (RealOS) ReadDir(dirname string) ([]os.DirEntry, error) { | ||||
| 	return os.ReadDir(dirname) | ||||
| } | ||||
|  | ||||
| // Glob will call filepath.Glob to return the names of all files matching | ||||
|   | ||||
							
								
								
									
										107
									
								
								pkg/kubelet/container/testing/mockdirentry.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								pkg/kubelet/container/testing/mockdirentry.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,107 @@ | ||||
| /* | ||||
| Copyright 2022 The Kubernetes Authors. | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
|  | ||||
| // Code generated by MockGen. | ||||
| // Source: os (interfaces: DirEntry) | ||||
|  | ||||
| package testing | ||||
|  | ||||
| import ( | ||||
| 	fs "io/fs" | ||||
| 	reflect "reflect" | ||||
|  | ||||
| 	gomock "github.com/golang/mock/gomock" | ||||
| ) | ||||
|  | ||||
| // MockDirEntry is a mock of DirEntry interface. | ||||
| type MockDirEntry struct { | ||||
| 	ctrl     *gomock.Controller | ||||
| 	recorder *MockDirEntryMockRecorder | ||||
| } | ||||
|  | ||||
| // MockDirEntryMockRecorder is the mock recorder for MockDirEntry. | ||||
| type MockDirEntryMockRecorder struct { | ||||
| 	mock *MockDirEntry | ||||
| } | ||||
|  | ||||
| // NewMockDirEntry creates a new mock instance. | ||||
| func NewMockDirEntry(ctrl *gomock.Controller) *MockDirEntry { | ||||
| 	mock := &MockDirEntry{ctrl: ctrl} | ||||
| 	mock.recorder = &MockDirEntryMockRecorder{mock} | ||||
| 	return mock | ||||
| } | ||||
|  | ||||
| // EXPECT returns an object that allows the caller to indicate expected use. | ||||
| func (m *MockDirEntry) EXPECT() *MockDirEntryMockRecorder { | ||||
| 	return m.recorder | ||||
| } | ||||
|  | ||||
| // Info mocks base method. | ||||
| func (m *MockDirEntry) Info() (fs.FileInfo, error) { | ||||
| 	m.ctrl.T.Helper() | ||||
| 	ret := m.ctrl.Call(m, "Info") | ||||
| 	ret0, _ := ret[0].(fs.FileInfo) | ||||
| 	ret1, _ := ret[1].(error) | ||||
| 	return ret0, ret1 | ||||
| } | ||||
|  | ||||
| // Info indicates an expected call of Info. | ||||
| func (mr *MockDirEntryMockRecorder) Info() *gomock.Call { | ||||
| 	mr.mock.ctrl.T.Helper() | ||||
| 	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Info", reflect.TypeOf((*MockDirEntry)(nil).Info)) | ||||
| } | ||||
|  | ||||
| // IsDir mocks base method. | ||||
| func (m *MockDirEntry) IsDir() bool { | ||||
| 	m.ctrl.T.Helper() | ||||
| 	ret := m.ctrl.Call(m, "IsDir") | ||||
| 	ret0, _ := ret[0].(bool) | ||||
| 	return ret0 | ||||
| } | ||||
|  | ||||
| // IsDir indicates an expected call of IsDir. | ||||
| func (mr *MockDirEntryMockRecorder) IsDir() *gomock.Call { | ||||
| 	mr.mock.ctrl.T.Helper() | ||||
| 	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsDir", reflect.TypeOf((*MockDirEntry)(nil).IsDir)) | ||||
| } | ||||
|  | ||||
| // Name mocks base method. | ||||
| func (m *MockDirEntry) Name() string { | ||||
| 	m.ctrl.T.Helper() | ||||
| 	ret := m.ctrl.Call(m, "Name") | ||||
| 	ret0, _ := ret[0].(string) | ||||
| 	return ret0 | ||||
| } | ||||
|  | ||||
| // Name indicates an expected call of Name. | ||||
| func (mr *MockDirEntryMockRecorder) Name() *gomock.Call { | ||||
| 	mr.mock.ctrl.T.Helper() | ||||
| 	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Name", reflect.TypeOf((*MockDirEntry)(nil).Name)) | ||||
| } | ||||
|  | ||||
| // Type mocks base method. | ||||
| func (m *MockDirEntry) Type() fs.FileMode { | ||||
| 	m.ctrl.T.Helper() | ||||
| 	ret := m.ctrl.Call(m, "Type") | ||||
| 	ret0, _ := ret[0].(fs.FileMode) | ||||
| 	return ret0 | ||||
| } | ||||
|  | ||||
| // Type indicates an expected call of Type. | ||||
| func (mr *MockDirEntryMockRecorder) Type() *gomock.Call { | ||||
| 	mr.mock.ctrl.T.Helper() | ||||
| 	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Type", reflect.TypeOf((*MockDirEntry)(nil).Type)) | ||||
| } | ||||
| @@ -1,109 +0,0 @@ | ||||
| /* | ||||
| Copyright 2016 The Kubernetes Authors. | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
|  | ||||
| // Generated via: mockgen os FileInfo | ||||
| // Edited to include required boilerplate | ||||
| // Source: os (interfaces: FileInfo) | ||||
|  | ||||
| package testing | ||||
|  | ||||
| import ( | ||||
| 	os "os" | ||||
| 	time "time" | ||||
|  | ||||
| 	gomock "github.com/golang/mock/gomock" | ||||
| ) | ||||
|  | ||||
| // Mock of FileInfo interface | ||||
| type MockFileInfo struct { | ||||
| 	ctrl     *gomock.Controller | ||||
| 	recorder *_MockFileInfoRecorder | ||||
| } | ||||
|  | ||||
| // Recorder for MockFileInfo (not exported) | ||||
| type _MockFileInfoRecorder struct { | ||||
| 	mock *MockFileInfo | ||||
| } | ||||
|  | ||||
| func NewMockFileInfo(ctrl *gomock.Controller) *MockFileInfo { | ||||
| 	mock := &MockFileInfo{ctrl: ctrl} | ||||
| 	mock.recorder = &_MockFileInfoRecorder{mock} | ||||
| 	return mock | ||||
| } | ||||
|  | ||||
| func (_m *MockFileInfo) EXPECT() *_MockFileInfoRecorder { | ||||
| 	return _m.recorder | ||||
| } | ||||
|  | ||||
| func (_m *MockFileInfo) IsDir() bool { | ||||
| 	ret := _m.ctrl.Call(_m, "IsDir") | ||||
| 	ret0, _ := ret[0].(bool) | ||||
| 	return ret0 | ||||
| } | ||||
|  | ||||
| func (_mr *_MockFileInfoRecorder) IsDir() *gomock.Call { | ||||
| 	return _mr.mock.ctrl.RecordCall(_mr.mock, "IsDir") | ||||
| } | ||||
|  | ||||
| func (_m *MockFileInfo) ModTime() time.Time { | ||||
| 	ret := _m.ctrl.Call(_m, "ModTime") | ||||
| 	ret0, _ := ret[0].(time.Time) | ||||
| 	return ret0 | ||||
| } | ||||
|  | ||||
| func (_mr *_MockFileInfoRecorder) ModTime() *gomock.Call { | ||||
| 	return _mr.mock.ctrl.RecordCall(_mr.mock, "ModTime") | ||||
| } | ||||
|  | ||||
| func (_m *MockFileInfo) Mode() os.FileMode { | ||||
| 	ret := _m.ctrl.Call(_m, "Mode") | ||||
| 	ret0, _ := ret[0].(os.FileMode) | ||||
| 	return ret0 | ||||
| } | ||||
|  | ||||
| func (_mr *_MockFileInfoRecorder) Mode() *gomock.Call { | ||||
| 	return _mr.mock.ctrl.RecordCall(_mr.mock, "Mode") | ||||
| } | ||||
|  | ||||
| func (_m *MockFileInfo) Name() string { | ||||
| 	ret := _m.ctrl.Call(_m, "Name") | ||||
| 	ret0, _ := ret[0].(string) | ||||
| 	return ret0 | ||||
| } | ||||
|  | ||||
| func (_mr *_MockFileInfoRecorder) Name() *gomock.Call { | ||||
| 	return _mr.mock.ctrl.RecordCall(_mr.mock, "Name") | ||||
| } | ||||
|  | ||||
| func (_m *MockFileInfo) Size() int64 { | ||||
| 	ret := _m.ctrl.Call(_m, "Size") | ||||
| 	ret0, _ := ret[0].(int64) | ||||
| 	return ret0 | ||||
| } | ||||
|  | ||||
| func (_mr *_MockFileInfoRecorder) Size() *gomock.Call { | ||||
| 	return _mr.mock.ctrl.RecordCall(_mr.mock, "Size") | ||||
| } | ||||
|  | ||||
| func (_m *MockFileInfo) Sys() interface{} { | ||||
| 	ret := _m.ctrl.Call(_m, "Sys") | ||||
| 	ret0, _ := ret[0].(interface{}) | ||||
| 	return ret0 | ||||
| } | ||||
|  | ||||
| func (_mr *_MockFileInfoRecorder) Sys() *gomock.Call { | ||||
| 	return _mr.mock.ctrl.RecordCall(_mr.mock, "Sys") | ||||
| } | ||||
| @@ -27,7 +27,7 @@ import ( | ||||
| // of the real call. | ||||
| type FakeOS struct { | ||||
| 	StatFn     func(string) (os.FileInfo, error) | ||||
| 	ReadDirFn  func(string) ([]os.FileInfo, error) | ||||
| 	ReadDirFn  func(string) ([]os.DirEntry, error) | ||||
| 	MkdirAllFn func(string, os.FileMode) error | ||||
| 	SymlinkFn  func(string, string) error | ||||
| 	GlobFn     func(string, string) bool | ||||
| @@ -109,7 +109,7 @@ func (FakeOS) Pipe() (r *os.File, w *os.File, err error) { | ||||
| } | ||||
|  | ||||
| // ReadDir is a fake call that returns the files under the directory. | ||||
| func (f *FakeOS) ReadDir(dirname string) ([]os.FileInfo, error) { | ||||
| func (f *FakeOS) ReadDir(dirname string) ([]os.DirEntry, error) { | ||||
| 	if f.ReadDirFn != nil { | ||||
| 		return f.ReadDirFn(dirname) | ||||
| 	} | ||||
|   | ||||
| @@ -21,7 +21,6 @@ import ( | ||||
| 	"context" | ||||
| 	"fmt" | ||||
| 	"io" | ||||
| 	"io/ioutil" | ||||
| 	"net/http" | ||||
| 	"net/url" | ||||
| 	"os" | ||||
| @@ -344,12 +343,12 @@ func ensureHostsFile(fileName string, hostIPs []string, hostName, hostDomainName | ||||
| 		hostsFileContent = managedHostsFileContent(hostIPs, hostName, hostDomainName, hostAliases) | ||||
| 	} | ||||
|  | ||||
| 	return ioutil.WriteFile(fileName, hostsFileContent, 0644) | ||||
| 	return os.WriteFile(fileName, hostsFileContent, 0644) | ||||
| } | ||||
|  | ||||
| // nodeHostsFileContent reads the content of node's hosts file. | ||||
| func nodeHostsFileContent(hostsFilePath string, hostAliases []v1.HostAlias) ([]byte, error) { | ||||
| 	hostsFileContent, err := ioutil.ReadFile(hostsFilePath) | ||||
| 	hostsFileContent, err := os.ReadFile(hostsFilePath) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|   | ||||
| @@ -19,7 +19,6 @@ package kubelet | ||||
| import ( | ||||
| 	"errors" | ||||
| 	"fmt" | ||||
| 	"io/ioutil" | ||||
| 	"net" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| @@ -182,11 +181,11 @@ fe00::2	ip6-allrouters | ||||
| // writeHostsFile will write a hosts file into a temporary dir, and return that dir. | ||||
| // Caller is responsible for deleting the dir and its contents. | ||||
| func writeHostsFile(filename string, cfg string) (string, error) { | ||||
| 	tmpdir, err := ioutil.TempDir("", "kubelet=kubelet_pods_test.go=") | ||||
| 	tmpdir, err := os.MkdirTemp("", "kubelet=kubelet_pods_test.go=") | ||||
| 	if err != nil { | ||||
| 		return "", err | ||||
| 	} | ||||
| 	return tmpdir, ioutil.WriteFile(filepath.Join(tmpdir, filename), []byte(cfg), 0644) | ||||
| 	return tmpdir, os.WriteFile(filepath.Join(tmpdir, filename), []byte(cfg), 0644) | ||||
| } | ||||
|  | ||||
| func TestManagedHostsFileContent(t *testing.T) { | ||||
|   | ||||
| @@ -19,7 +19,6 @@ package kubelet | ||||
| import ( | ||||
| 	"context" | ||||
| 	"fmt" | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| 	"reflect" | ||||
| @@ -184,7 +183,7 @@ func newTestKubeletWithImageList( | ||||
| 	kubelet.nodeName = types.NodeName(testKubeletHostname) | ||||
| 	kubelet.runtimeState = newRuntimeState(maxWaitForContainerRuntime) | ||||
| 	kubelet.runtimeState.setNetworkState(nil) | ||||
| 	if tempDir, err := ioutil.TempDir("", "kubelet_test."); err != nil { | ||||
| 	if tempDir, err := os.MkdirTemp("", "kubelet_test."); err != nil { | ||||
| 		t.Fatalf("can't make a temp rootdir: %v", err) | ||||
| 	} else { | ||||
| 		kubelet.rootDirectory = tempDir | ||||
|   | ||||
| @@ -21,7 +21,6 @@ package kubelet | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| 	"testing" | ||||
| @@ -146,7 +145,7 @@ func TestCleanupOrphanedPodDirs(t *testing.T) { | ||||
| 				if err := os.MkdirAll(volumePath, 0750); err != nil { | ||||
| 					return err | ||||
| 				} | ||||
| 				return ioutil.WriteFile(filepath.Join(volumePath, "test.txt"), []byte("test1"), 0640) | ||||
| 				return os.WriteFile(filepath.Join(volumePath, "test.txt"), []byte("test1"), 0640) | ||||
| 			}, | ||||
| 			validateFunc: func(kubelet *Kubelet) error { | ||||
| 				podDir := kubelet.getPodDir("pod1uid") | ||||
| @@ -160,7 +159,7 @@ func TestCleanupOrphanedPodDirs(t *testing.T) { | ||||
| 				if err := os.MkdirAll(subPath, 0750); err != nil { | ||||
| 					return err | ||||
| 				} | ||||
| 				return ioutil.WriteFile(filepath.Join(subPath, "test.txt"), []byte("test1"), 0640) | ||||
| 				return os.WriteFile(filepath.Join(subPath, "test.txt"), []byte("test1"), 0640) | ||||
| 			}, | ||||
| 			validateFunc: func(kubelet *Kubelet) error { | ||||
| 				podDir := kubelet.getPodDir("pod1uid") | ||||
|   | ||||
| @@ -91,7 +91,7 @@ func WriteTmpFile(fs utilfs.Filesystem, path string, data []byte) (tmpPath strin | ||||
| 		} | ||||
| 	}() | ||||
|  | ||||
| 	// Name() will be an absolute path when using utilfs.DefaultFS, because ioutil.TempFile passes | ||||
| 	// Name() will be an absolute path when using utilfs.DefaultFS, because os.CreateTemp passes | ||||
| 	// an absolute path to os.Open, and we ensure similar behavior in utilfs.FakeFS for testing. | ||||
| 	tmpPath = tmpFile.Name() | ||||
|  | ||||
|   | ||||
| @@ -405,7 +405,7 @@ func (m *kubeGenericRuntimeManager) makeMounts(opts *kubecontainer.RunContainerO | ||||
| 		} else { | ||||
| 			fs.Close() | ||||
|  | ||||
| 			// Chmod is needed because ioutil.WriteFile() ends up calling | ||||
| 			// Chmod is needed because os.WriteFile() ends up calling | ||||
| 			// open(2) to create the file, so the final mode used is "mode & | ||||
| 			// ~umask". But we want to make sure the specified mode is used | ||||
| 			// in the file no matter what the umask is. | ||||
|   | ||||
| @@ -17,7 +17,6 @@ limitations under the License. | ||||
| package kuberuntime | ||||
|  | ||||
| import ( | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| 	"regexp" | ||||
| @@ -440,11 +439,11 @@ func TestRestartCountByLogDir(t *testing.T) { | ||||
| 			restartCount: 8, | ||||
| 		}, | ||||
| 	} { | ||||
| 		tempDirPath, err := ioutil.TempDir("", "test-restart-count-") | ||||
| 		tempDirPath, err := os.MkdirTemp("", "test-restart-count-") | ||||
| 		assert.NoError(t, err, "create tempdir error") | ||||
| 		defer os.RemoveAll(tempDirPath) | ||||
| 		for _, filename := range tc.filenames { | ||||
| 			err = ioutil.WriteFile(filepath.Join(tempDirPath, filename), []byte("a log line"), 0600) | ||||
| 			err = os.WriteFile(filepath.Join(tempDirPath, filename), []byte("a log line"), 0600) | ||||
| 			assert.NoError(t, err, "could not write log file") | ||||
| 		} | ||||
| 		count, _ := calcRestartCountByLogDir(tempDirPath) | ||||
|   | ||||
| @@ -438,14 +438,14 @@ func TestPodLogDirectoryGC(t *testing.T) { | ||||
| 	ctrl := gomock.NewController(t) | ||||
| 	defer ctrl.Finish() | ||||
|  | ||||
| 	fakeOS.ReadDirFn = func(string) ([]os.FileInfo, error) { | ||||
| 		var fileInfos []os.FileInfo | ||||
| 	fakeOS.ReadDirFn = func(string) ([]os.DirEntry, error) { | ||||
| 		var dirEntries []os.DirEntry | ||||
| 		for _, file := range files { | ||||
| 			mockFI := containertest.NewMockFileInfo(ctrl) | ||||
| 			mockFI.EXPECT().Name().Return(file) | ||||
| 			fileInfos = append(fileInfos, mockFI) | ||||
| 			mockDE := containertest.NewMockDirEntry(ctrl) | ||||
| 			mockDE.EXPECT().Name().Return(file) | ||||
| 			dirEntries = append(dirEntries, mockDE) | ||||
| 		} | ||||
| 		return fileInfos, nil | ||||
| 		return dirEntries, nil | ||||
| 	} | ||||
|  | ||||
| 	// allSourcesReady == true, pod log directories without corresponding pod should be removed. | ||||
|   | ||||
| @@ -19,16 +19,16 @@ package logs | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"context" | ||||
| 	"io/ioutil" | ||||
| 	apitesting "k8s.io/cri-api/pkg/apis/testing" | ||||
| 	"k8s.io/utils/pointer" | ||||
| 	"os" | ||||
| 	"testing" | ||||
| 	"time" | ||||
|  | ||||
| 	v1 "k8s.io/api/core/v1" | ||||
| 	apitesting "k8s.io/cri-api/pkg/apis/testing" | ||||
| 	"k8s.io/utils/pointer" | ||||
|  | ||||
| 	"github.com/stretchr/testify/assert" | ||||
|  | ||||
| 	"k8s.io/api/core/v1" | ||||
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||
| 	runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1" | ||||
| ) | ||||
| @@ -72,7 +72,7 @@ func TestLogOptions(t *testing.T) { | ||||
| } | ||||
|  | ||||
| func TestReadLogs(t *testing.T) { | ||||
| 	file, err := ioutil.TempFile("", "TestFollowLogs") | ||||
| 	file, err := os.CreateTemp("", "TestFollowLogs") | ||||
| 	if err != nil { | ||||
| 		t.Fatalf("unable to create temp file") | ||||
| 	} | ||||
|   | ||||
| @@ -18,7 +18,7 @@ package lifecycle | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"io/ioutil" | ||||
| 	"io" | ||||
| 	"net/http" | ||||
| 	"reflect" | ||||
| 	"strings" | ||||
| @@ -225,7 +225,7 @@ func TestRunHandlerExecFailure(t *testing.T) { | ||||
| func TestRunHandlerHttpFailure(t *testing.T) { | ||||
| 	expectedErr := fmt.Errorf("fake http error") | ||||
| 	expectedResp := http.Response{ | ||||
| 		Body: ioutil.NopCloser(strings.NewReader(expectedErr.Error())), | ||||
| 		Body: io.NopCloser(strings.NewReader(expectedErr.Error())), | ||||
| 	} | ||||
| 	fakeHTTPGetter := fakeHTTP{err: expectedErr, resp: &expectedResp} | ||||
| 	handlerRunner := NewHandlerRunner(&fakeHTTPGetter, &fakeContainerCommandRunner{}, nil) | ||||
|   | ||||
| @@ -20,7 +20,6 @@ import ( | ||||
| 	"bytes" | ||||
| 	"fmt" | ||||
| 	"io" | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| 	"testing" | ||||
| @@ -36,7 +35,7 @@ import ( | ||||
| ) | ||||
|  | ||||
| func TestGetAllLogs(t *testing.T) { | ||||
| 	dir, err := ioutil.TempDir("", "test-get-all-logs") | ||||
| 	dir, err := os.MkdirTemp("", "test-get-all-logs") | ||||
| 	require.NoError(t, err) | ||||
| 	defer os.RemoveAll(dir) | ||||
| 	testLogs := []string{ | ||||
| @@ -75,7 +74,7 @@ func TestGetAllLogs(t *testing.T) { | ||||
| } | ||||
|  | ||||
| func TestRotateLogs(t *testing.T) { | ||||
| 	dir, err := ioutil.TempDir("", "test-rotate-logs") | ||||
| 	dir, err := os.MkdirTemp("", "test-rotate-logs") | ||||
| 	require.NoError(t, err) | ||||
| 	defer os.RemoveAll(dir) | ||||
|  | ||||
| @@ -162,7 +161,7 @@ func TestRotateLogs(t *testing.T) { | ||||
| } | ||||
|  | ||||
| func TestClean(t *testing.T) { | ||||
| 	dir, err := ioutil.TempDir("", "test-clean") | ||||
| 	dir, err := os.MkdirTemp("", "test-clean") | ||||
| 	require.NoError(t, err) | ||||
| 	defer os.RemoveAll(dir) | ||||
|  | ||||
| @@ -233,7 +232,7 @@ func TestClean(t *testing.T) { | ||||
| } | ||||
|  | ||||
| func TestCleanupUnusedLog(t *testing.T) { | ||||
| 	dir, err := ioutil.TempDir("", "test-cleanup-unused-log") | ||||
| 	dir, err := os.MkdirTemp("", "test-cleanup-unused-log") | ||||
| 	require.NoError(t, err) | ||||
| 	defer os.RemoveAll(dir) | ||||
|  | ||||
| @@ -285,7 +284,7 @@ func TestRemoveExcessLog(t *testing.T) { | ||||
| 		}, | ||||
| 	} { | ||||
| 		t.Logf("TestCase %q", desc) | ||||
| 		dir, err := ioutil.TempDir("", "test-remove-excess-log") | ||||
| 		dir, err := os.MkdirTemp("", "test-remove-excess-log") | ||||
| 		require.NoError(t, err) | ||||
| 		defer os.RemoveAll(dir) | ||||
|  | ||||
| @@ -319,11 +318,11 @@ func TestRemoveExcessLog(t *testing.T) { | ||||
| } | ||||
|  | ||||
| func TestCompressLog(t *testing.T) { | ||||
| 	dir, err := ioutil.TempDir("", "test-compress-log") | ||||
| 	dir, err := os.MkdirTemp("", "test-compress-log") | ||||
| 	require.NoError(t, err) | ||||
| 	defer os.RemoveAll(dir) | ||||
|  | ||||
| 	testFile, err := ioutil.TempFile(dir, "test-rotate-latest-log") | ||||
| 	testFile, err := os.CreateTemp(dir, "test-rotate-latest-log") | ||||
| 	require.NoError(t, err) | ||||
| 	defer testFile.Close() | ||||
| 	testContent := "test log content" | ||||
| @@ -350,7 +349,7 @@ func TestCompressLog(t *testing.T) { | ||||
| } | ||||
|  | ||||
| func TestRotateLatestLog(t *testing.T) { | ||||
| 	dir, err := ioutil.TempDir("", "test-rotate-latest-log") | ||||
| 	dir, err := os.MkdirTemp("", "test-rotate-latest-log") | ||||
| 	require.NoError(t, err) | ||||
| 	defer os.RemoveAll(dir) | ||||
|  | ||||
| @@ -387,7 +386,7 @@ func TestRotateLatestLog(t *testing.T) { | ||||
| 		if test.runtimeError != nil { | ||||
| 			f.InjectError("ReopenContainerLog", test.runtimeError) | ||||
| 		} | ||||
| 		testFile, err := ioutil.TempFile(dir, "test-rotate-latest-log") | ||||
| 		testFile, err := os.CreateTemp(dir, "test-rotate-latest-log") | ||||
| 		require.NoError(t, err) | ||||
| 		defer testFile.Close() | ||||
| 		testLog := testFile.Name() | ||||
|   | ||||
| @@ -19,13 +19,12 @@ package dns | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"io" | ||||
| 	"io/ioutil" | ||||
| 	"net" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| 	"strings" | ||||
|  | ||||
| 	"k8s.io/api/core/v1" | ||||
| 	v1 "k8s.io/api/core/v1" | ||||
| 	utilerrors "k8s.io/apimachinery/pkg/util/errors" | ||||
| 	utilvalidation "k8s.io/apimachinery/pkg/util/validation" | ||||
| 	utilfeature "k8s.io/apiserver/pkg/util/feature" | ||||
| @@ -455,7 +454,7 @@ func (c *Configurer) SetupDNSinContainerizedMounter(mounterPath string) { | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 	if err := ioutil.WriteFile(resolvePath, []byte(dnsString), 0600); err != nil { | ||||
| 	if err := os.WriteFile(resolvePath, []byte(dnsString), 0600); err != nil { | ||||
| 		klog.ErrorS(err, "Could not write dns nameserver in the file", "path", resolvePath) | ||||
| 	} | ||||
| } | ||||
|   | ||||
| @@ -18,7 +18,6 @@ package dns | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"io/ioutil" | ||||
| 	"net" | ||||
| 	"os" | ||||
| 	"strconv" | ||||
| @@ -596,7 +595,7 @@ func TestGetPodDNSCustom(t *testing.T) { | ||||
| 	} | ||||
|  | ||||
| 	resolvConfContent := []byte(fmt.Sprintf("nameserver %s\nsearch %s\n", testHostNameserver, testHostDomain)) | ||||
| 	tmpfile, err := ioutil.TempFile("", "tmpResolvConf") | ||||
| 	tmpfile, err := os.CreateTemp("", "tmpResolvConf") | ||||
| 	if err != nil { | ||||
| 		t.Fatal(err) | ||||
| 	} | ||||
|   | ||||
| @@ -19,7 +19,6 @@ package nodeshutdown | ||||
| import ( | ||||
| 	"encoding/json" | ||||
| 	"io" | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| 	"time" | ||||
| @@ -67,7 +66,7 @@ type state struct { | ||||
|  | ||||
| // atomicWrite atomically writes data to a file specified by filename. | ||||
| func atomicWrite(filename string, data []byte, perm os.FileMode) error { | ||||
| 	f, err := ioutil.TempFile(filepath.Dir(filename), ".tmp-"+filepath.Base(filename)) | ||||
| 	f, err := os.CreateTemp(filepath.Dir(filename), ".tmp-"+filepath.Base(filename)) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|   | ||||
| @@ -21,7 +21,6 @@ package systemd | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| 	"syscall" | ||||
| @@ -193,7 +192,7 @@ InhibitDelayMaxSec=%.0f | ||||
| `, inhibitDelayMax.Seconds()) | ||||
|  | ||||
| 	logindOverridePath := filepath.Join(logindConfigDirectory, kubeletLogindConf) | ||||
| 	if err := ioutil.WriteFile(logindOverridePath, []byte(inhibitOverride), 0644); err != nil { | ||||
| 	if err := os.WriteFile(logindOverridePath, []byte(inhibitOverride), 0644); err != nil { | ||||
| 		return fmt.Errorf("failed writing logind shutdown inhibit override file %v: %w", logindOverridePath, err) | ||||
| 	} | ||||
|  | ||||
|   | ||||
| @@ -18,7 +18,7 @@ package operationexecutor | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"strconv" | ||||
| 	"testing" | ||||
| 	"time" | ||||
| @@ -35,7 +35,7 @@ var _ OperationGenerator = &fakeOperationGenerator{} | ||||
| var socketDir string | ||||
|  | ||||
| func init() { | ||||
| 	d, err := ioutil.TempDir("", "operation_executor_test") | ||||
| 	d, err := os.MkdirTemp("", "operation_executor_test") | ||||
| 	if err != nil { | ||||
| 		panic(fmt.Sprintf("Could not create a temp directory: %s", d)) | ||||
| 	} | ||||
|   | ||||
| @@ -18,7 +18,6 @@ package pluginmanager | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| 	"reflect" | ||||
| @@ -81,7 +80,7 @@ func (f *fakePluginHandler) Reset() { | ||||
| } | ||||
|  | ||||
| func init() { | ||||
| 	d, err := ioutil.TempDir("", "plugin_manager_test") | ||||
| 	d, err := os.MkdirTemp("", "plugin_manager_test") | ||||
| 	if err != nil { | ||||
| 		panic(fmt.Sprintf("Could not create a temp directory: %s", d)) | ||||
| 	} | ||||
|   | ||||
| @@ -19,7 +19,6 @@ package pluginwatcher | ||||
| import ( | ||||
| 	"flag" | ||||
| 	"fmt" | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"sync" | ||||
| 	"testing" | ||||
| @@ -46,7 +45,7 @@ func init() { | ||||
| 	flag.StringVar(&logLevel, "logLevel", "6", "test") | ||||
| 	flag.Lookup("v").Value.Set(logLevel) | ||||
|  | ||||
| 	d, err := ioutil.TempDir("", "plugin_test") | ||||
| 	d, err := os.MkdirTemp("", "plugin_test") | ||||
| 	if err != nil { | ||||
| 		panic(fmt.Sprintf("Could not create a temp directory: %s", d)) | ||||
| 	} | ||||
|   | ||||
| @@ -18,7 +18,6 @@ package reconciler | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"testing" | ||||
| 	"time" | ||||
| @@ -44,7 +43,7 @@ var ( | ||||
| ) | ||||
|  | ||||
| func init() { | ||||
| 	d, err := ioutil.TempDir("", "reconciler_test") | ||||
| 	d, err := os.MkdirTemp("", "reconciler_test") | ||||
| 	if err != nil { | ||||
| 		panic(fmt.Sprintf("Could not create a temp directory: %s", d)) | ||||
| 	} | ||||
|   | ||||
| @@ -21,7 +21,6 @@ import ( | ||||
| 	"errors" | ||||
| 	"fmt" | ||||
| 	"io" | ||||
| 	"io/ioutil" | ||||
| 	"net" | ||||
| 	"net/http" | ||||
| 	"net/http/httptest" | ||||
| @@ -432,7 +431,7 @@ func TestServeRunInContainer(t *testing.T) { | ||||
| 	} | ||||
| 	defer resp.Body.Close() | ||||
|  | ||||
| 	body, err := ioutil.ReadAll(resp.Body) | ||||
| 	body, err := io.ReadAll(resp.Body) | ||||
| 	if err != nil { | ||||
| 		// copying the response body did not work | ||||
| 		t.Errorf("Cannot copy resp: %#v", err) | ||||
| @@ -475,7 +474,7 @@ func TestServeRunInContainerWithUID(t *testing.T) { | ||||
| 	} | ||||
| 	defer resp.Body.Close() | ||||
|  | ||||
| 	body, err := ioutil.ReadAll(resp.Body) | ||||
| 	body, err := io.ReadAll(resp.Body) | ||||
| 	if err != nil { | ||||
| 		// copying the response body did not work | ||||
| 		t.Errorf("Cannot copy resp: %#v", err) | ||||
| @@ -745,7 +744,7 @@ func assertHealthIsOk(t *testing.T, httpURL string) { | ||||
| 	if resp.StatusCode != http.StatusOK { | ||||
| 		t.Errorf("expected status code %d, got %d", http.StatusOK, resp.StatusCode) | ||||
| 	} | ||||
| 	body, readErr := ioutil.ReadAll(resp.Body) | ||||
| 	body, readErr := io.ReadAll(resp.Body) | ||||
| 	if readErr != nil { | ||||
| 		// copying the response body did not work | ||||
| 		t.Fatalf("Cannot copy resp: %#v", readErr) | ||||
| @@ -821,7 +820,7 @@ func TestContainerLogs(t *testing.T) { | ||||
| 			} | ||||
| 			defer resp.Body.Close() | ||||
|  | ||||
| 			body, err := ioutil.ReadAll(resp.Body) | ||||
| 			body, err := io.ReadAll(resp.Body) | ||||
| 			if err != nil { | ||||
| 				t.Errorf("Error reading container logs: %v", err) | ||||
| 			} | ||||
| @@ -911,7 +910,7 @@ func TestCheckpointContainer(t *testing.T) { | ||||
| 		} | ||||
| 		defer resp.Body.Close() | ||||
| 		assert.Equal(t, resp.StatusCode, 500) | ||||
| 		body, _ := ioutil.ReadAll(resp.Body) | ||||
| 		body, _ := io.ReadAll(resp.Body) | ||||
| 		assert.Equal(t, string(body), "checkpointing of other/foo/checkpointingFailure failed (Returning error for test)") | ||||
| 	}) | ||||
| 	// Now test a successful checkpoint succeeds | ||||
| @@ -1111,7 +1110,7 @@ func testExecAttach(t *testing.T, verb string) { | ||||
| 			require.NoError(t, err, "POSTing") | ||||
| 			defer resp.Body.Close() | ||||
|  | ||||
| 			_, err = ioutil.ReadAll(resp.Body) | ||||
| 			_, err = io.ReadAll(resp.Body) | ||||
| 			assert.NoError(t, err, "reading response body") | ||||
|  | ||||
| 			require.Equal(t, test.responseStatusCode, resp.StatusCode, "response status") | ||||
| @@ -1453,7 +1452,7 @@ func TestFailedParseParamsSummaryHandler(t *testing.T) { | ||||
| 	resp, err := http.Post(fw.testHTTPServer.URL+"/stats/summary", "invalid/content/type", nil) | ||||
| 	assert.NoError(t, err) | ||||
| 	defer resp.Body.Close() | ||||
| 	v, err := ioutil.ReadAll(resp.Body) | ||||
| 	v, err := io.ReadAll(resp.Body) | ||||
| 	assert.NoError(t, err) | ||||
| 	assert.Equal(t, http.StatusInternalServerError, resp.StatusCode) | ||||
| 	assert.Contains(t, string(v), "parse form failed") | ||||
| @@ -1463,14 +1462,14 @@ func verifyEndpointResponse(t *testing.T, fw *serverTestFramework, path string, | ||||
| 	resp, err := http.Get(fw.testHTTPServer.URL + path) | ||||
| 	require.NoError(t, err) | ||||
| 	assert.Equal(t, http.StatusMethodNotAllowed, resp.StatusCode) | ||||
| 	body, err := ioutil.ReadAll(resp.Body) | ||||
| 	body, err := io.ReadAll(resp.Body) | ||||
| 	require.NoError(t, err) | ||||
| 	assert.Equal(t, expectedResponse, string(body)) | ||||
|  | ||||
| 	resp, err = http.Post(fw.testHTTPServer.URL+path, "", nil) | ||||
| 	require.NoError(t, err) | ||||
| 	assert.Equal(t, http.StatusMethodNotAllowed, resp.StatusCode) | ||||
| 	body, err = ioutil.ReadAll(resp.Body) | ||||
| 	body, err = io.ReadAll(resp.Body) | ||||
| 	require.NoError(t, err) | ||||
| 	assert.Equal(t, expectedResponse, string(body)) | ||||
| } | ||||
|   | ||||
| @@ -211,20 +211,20 @@ func TestCRIListPodStats(t *testing.T) { | ||||
| 	defer ctrl.Finish() | ||||
|  | ||||
| 	fakeOS := &kubecontainertest.FakeOS{} | ||||
| 	fakeOS.ReadDirFn = func(path string) ([]os.FileInfo, error) { | ||||
| 		var fileInfos []os.FileInfo | ||||
| 		mockFI := kubecontainertest.NewMockFileInfo(ctrl) | ||||
| 	fakeOS.ReadDirFn = func(path string) ([]os.DirEntry, error) { | ||||
| 		var dirEntries []os.DirEntry | ||||
| 		mockDE := kubecontainertest.NewMockDirEntry(ctrl) | ||||
| 		switch path { | ||||
| 		case kuberuntime.BuildPodLogsDirectory("sandbox0-ns", "sandbox0-name", types.UID("sandbox0-uid")): | ||||
| 			mockFI.EXPECT().Name().Return(podLogName0) | ||||
| 			mockDE.EXPECT().Name().Return(podLogName0) | ||||
| 		case kuberuntime.BuildPodLogsDirectory("sandbox1-ns", "sandbox1-name", types.UID("sandbox1-uid")): | ||||
| 			mockFI.EXPECT().Name().Return(podLogName1) | ||||
| 			mockDE.EXPECT().Name().Return(podLogName1) | ||||
| 		default: | ||||
| 			return nil, nil | ||||
| 		} | ||||
| 		mockFI.EXPECT().IsDir().Return(false) | ||||
| 		fileInfos = append(fileInfos, mockFI) | ||||
| 		return fileInfos, nil | ||||
| 		mockDE.EXPECT().IsDir().Return(false) | ||||
| 		dirEntries = append(dirEntries, mockDE) | ||||
| 		return dirEntries, nil | ||||
| 	} | ||||
|  | ||||
| 	provider := NewCRIStatsProvider( | ||||
|   | ||||
| @@ -21,7 +21,7 @@ package pidlimit | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"io/ioutil" | ||||
| 	"os" | ||||
| 	"strconv" | ||||
| 	"strings" | ||||
| 	"syscall" | ||||
| @@ -39,7 +39,7 @@ func Stats() (*statsapi.RlimitStats, error) { | ||||
| 	// Calculate the mininum of kernel.pid_max and kernel.threads-max as they both specify the | ||||
| 	// system-wide limit on the number of tasks. | ||||
| 	for _, file := range []string{"/proc/sys/kernel/pid_max", "/proc/sys/kernel/threads-max"} { | ||||
| 		if content, err := ioutil.ReadFile(file); err == nil { | ||||
| 		if content, err := os.ReadFile(file); err == nil { | ||||
| 			if limit, err := strconv.ParseInt(string(content[:len(content)-1]), 10, 64); err == nil { | ||||
| 				if taskMax == -1 || taskMax > limit { | ||||
| 					taskMax = limit | ||||
| @@ -71,7 +71,7 @@ func Stats() (*statsapi.RlimitStats, error) { | ||||
|  | ||||
| func runningTaskCount() (int64, error) { | ||||
| 	// Example: 1.36 3.49 4.53 2/3518 3715089 | ||||
| 	bytes, err := ioutil.ReadFile("/proc/loadavg") | ||||
| 	bytes, err := os.ReadFile("/proc/loadavg") | ||||
| 	if err != nil { | ||||
| 		return 0, err | ||||
| 	} | ||||
|   | ||||
| @@ -22,7 +22,6 @@ package util | ||||
| import ( | ||||
| 	"context" | ||||
| 	"fmt" | ||||
| 	"io/ioutil" | ||||
| 	"net" | ||||
| 	"net/url" | ||||
| 	"os" | ||||
| @@ -58,7 +57,7 @@ func CreateListener(endpoint string) (net.Listener, error) { | ||||
| 	} | ||||
|  | ||||
| 	// Create the socket on a tempfile and move it to the destination socket to handle improper cleanup | ||||
| 	file, err := ioutil.TempFile(filepath.Dir(addr), "") | ||||
| 	file, err := os.CreateTemp(filepath.Dir(addr), "") | ||||
| 	if err != nil { | ||||
| 		return nil, fmt.Errorf("failed to create temporary file: %v", err) | ||||
| 	} | ||||
|   | ||||
| @@ -20,7 +20,6 @@ limitations under the License. | ||||
| package util | ||||
|  | ||||
| import ( | ||||
| 	"io/ioutil" | ||||
| 	"net" | ||||
| 	"os" | ||||
| 	"testing" | ||||
| @@ -102,7 +101,7 @@ func TestIsUnixDomainSocket(t *testing.T) { | ||||
| 		}, | ||||
| 	} | ||||
| 	for _, test := range tests { | ||||
| 		f, err := ioutil.TempFile("", "test-domain-socket") | ||||
| 		f, err := os.CreateTemp("", "test-domain-socket") | ||||
| 		require.NoErrorf(t, err, "Failed to create file for test purposes: %v while setting up: %s", err, test.label) | ||||
| 		addr := f.Name() | ||||
| 		f.Close() | ||||
|   | ||||
| @@ -21,7 +21,6 @@ package util | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"io/ioutil" | ||||
| 	"math/rand" | ||||
| 	"net" | ||||
| 	"os" | ||||
| @@ -204,7 +203,7 @@ func testPipe(t *testing.T, label string) { | ||||
| } | ||||
|  | ||||
| func testRegularFile(t *testing.T, label string, exists bool) { | ||||
| 	f, err := ioutil.TempFile("", "test-file") | ||||
| 	f, err := os.CreateTemp("", "test-file") | ||||
| 	require.NoErrorf(t, err, "Failed to create file for test purposes: %v while setting up: %s", err, label) | ||||
| 	testFile := f.Name() | ||||
| 	if !exists { | ||||
| @@ -218,7 +217,7 @@ func testRegularFile(t *testing.T, label string, exists bool) { | ||||
| } | ||||
|  | ||||
| func testUnixDomainSocket(t *testing.T, label string) { | ||||
| 	f, err := ioutil.TempFile("", "test-domain-socket") | ||||
| 	f, err := os.CreateTemp("", "test-domain-socket") | ||||
| 	require.NoErrorf(t, err, "Failed to create file for test purposes: %v while setting up: %s", err, label) | ||||
| 	testFile := f.Name() | ||||
| 	f.Close() | ||||
| @@ -241,7 +240,7 @@ func testPendingUnixDomainSocket(t *testing.T, label string) { | ||||
| 	// not-yet-ready state. We need this because the Kubelet keeps an eye on file | ||||
| 	// changes and acts on them, leading to potential race issues as described in | ||||
| 	// the referenced issue above | ||||
| 	f, err := ioutil.TempFile("", "test-domain-socket") | ||||
| 	f, err := os.CreateTemp("", "test-domain-socket") | ||||
| 	require.NoErrorf(t, err, "Failed to create file for test purposes: %v while setting up: %s", err, label) | ||||
| 	testFile := f.Name() | ||||
| 	f.Close() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 inosato
					inosato