Merge pull request #38789 from jessfraz/cleanup-temp-dirs
Automatic merge from submit-queue (batch tested with PRs 37228, 40146, 40075, 38789, 40189) Cleanup temp dirs So funny story my /tmp ran out of space running the unit tests so I am cleaning up all the temp dirs we create.
This commit is contained in:
		@@ -33,7 +33,7 @@ func TestWriteStaticPodManifests(t *testing.T) {
 | 
				
			|||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		t.Fatalf("Couldn't create tmpdir")
 | 
							t.Fatalf("Couldn't create tmpdir")
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	defer os.Remove(tmpdir)
 | 
						defer os.RemoveAll(tmpdir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// set up tmp GlobalEnvParams values for testing
 | 
						// set up tmp GlobalEnvParams values for testing
 | 
				
			||||||
	oldEnv := kubeadmapi.GlobalEnvParams
 | 
						oldEnv := kubeadmapi.GlobalEnvParams
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -125,7 +125,7 @@ func TestWriteKeysAndCert(t *testing.T) {
 | 
				
			|||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		t.Fatalf("Couldn't create tmpdir")
 | 
							t.Fatalf("Couldn't create tmpdir")
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	defer os.Remove(tmpdir)
 | 
						defer os.RemoveAll(tmpdir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	caKey, err := rsa.GenerateKey(rand.Reader, 2048)
 | 
						caKey, err := rsa.GenerateKey(rand.Reader, 2048)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -142,7 +142,7 @@ func TestWriteKubeconfigToDisk(t *testing.T) {
 | 
				
			|||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		t.Fatalf("Couldn't create tmpdir")
 | 
							t.Fatalf("Couldn't create tmpdir")
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	defer os.Remove(tmpdir)
 | 
						defer os.RemoveAll(tmpdir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// set up tmp GlobalEnvParams values for testing
 | 
						// set up tmp GlobalEnvParams values for testing
 | 
				
			||||||
	oldEnv := kubeadmapi.GlobalEnvParams
 | 
						oldEnv := kubeadmapi.GlobalEnvParams
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -129,7 +129,7 @@ func TestErrorReadingNonFile(t *testing.T) {
 | 
				
			|||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		t.Fatalf("Couldn't create tmpdir")
 | 
							t.Fatalf("Couldn't create tmpdir")
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	defer os.Remove(tmpdir)
 | 
						defer os.RemoveAll(tmpdir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	loadingRules := ClientConfigLoadingRules{
 | 
						loadingRules := ClientConfigLoadingRules{
 | 
				
			||||||
		ExplicitPath: tmpdir,
 | 
							ExplicitPath: tmpdir,
 | 
				
			||||||
@@ -224,14 +224,15 @@ func TestResolveRelativePaths(t *testing.T) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	configDir1, _ := ioutil.TempDir("", "")
 | 
						configDir1, _ := ioutil.TempDir("", "")
 | 
				
			||||||
 | 
						defer os.RemoveAll(configDir1)
 | 
				
			||||||
	configFile1 := path.Join(configDir1, ".kubeconfig")
 | 
						configFile1 := path.Join(configDir1, ".kubeconfig")
 | 
				
			||||||
	configDir1, _ = filepath.Abs(configDir1)
 | 
						configDir1, _ = filepath.Abs(configDir1)
 | 
				
			||||||
	defer os.Remove(configFile1)
 | 
					
 | 
				
			||||||
	configDir2, _ := ioutil.TempDir("", "")
 | 
						configDir2, _ := ioutil.TempDir("", "")
 | 
				
			||||||
 | 
						defer os.RemoveAll(configDir2)
 | 
				
			||||||
	configDir2, _ = ioutil.TempDir(configDir2, "")
 | 
						configDir2, _ = ioutil.TempDir(configDir2, "")
 | 
				
			||||||
	configFile2 := path.Join(configDir2, ".kubeconfig")
 | 
						configFile2 := path.Join(configDir2, ".kubeconfig")
 | 
				
			||||||
	configDir2, _ = filepath.Abs(configDir2)
 | 
						configDir2, _ = filepath.Abs(configDir2)
 | 
				
			||||||
	defer os.Remove(configFile2)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	WriteToFile(pathResolutionConfig1, configFile1)
 | 
						WriteToFile(pathResolutionConfig1, configFile1)
 | 
				
			||||||
	WriteToFile(pathResolutionConfig2, configFile2)
 | 
						WriteToFile(pathResolutionConfig2, configFile2)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,6 +22,7 @@ import (
 | 
				
			|||||||
	"net/http"
 | 
						"net/http"
 | 
				
			||||||
	"net/http/httptest"
 | 
						"net/http/httptest"
 | 
				
			||||||
	"net/url"
 | 
						"net/url"
 | 
				
			||||||
 | 
						"os"
 | 
				
			||||||
	"path/filepath"
 | 
						"path/filepath"
 | 
				
			||||||
	"strings"
 | 
						"strings"
 | 
				
			||||||
	"testing"
 | 
						"testing"
 | 
				
			||||||
@@ -234,6 +235,7 @@ func TestFileServing(t *testing.T) {
 | 
				
			|||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		t.Fatalf("error creating tmp dir: %v", err)
 | 
							t.Fatalf("error creating tmp dir: %v", err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						defer os.RemoveAll(dir)
 | 
				
			||||||
	if err := ioutil.WriteFile(filepath.Join(dir, fname), []byte(data), 0755); err != nil {
 | 
						if err := ioutil.WriteFile(filepath.Join(dir, fname), []byte(data), 0755); err != nil {
 | 
				
			||||||
		t.Fatalf("error writing tmp file: %v", err)
 | 
							t.Fatalf("error writing tmp file: %v", err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -152,6 +152,7 @@ func TestSoftRequirementsValidationSuccess(t *testing.T) {
 | 
				
			|||||||
	req := require.New(t)
 | 
						req := require.New(t)
 | 
				
			||||||
	tempDir, err := ioutil.TempDir("", "")
 | 
						tempDir, err := ioutil.TempDir("", "")
 | 
				
			||||||
	req.NoError(err)
 | 
						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_period_us"), []byte("0"), os.ModePerm))
 | 
				
			||||||
	req.NoError(ioutil.WriteFile(path.Join(tempDir, "cpu.cfs_quota_us"), []byte("0"), os.ModePerm))
 | 
						req.NoError(ioutil.WriteFile(path.Join(tempDir, "cpu.cfs_quota_us"), []byte("0"), os.ModePerm))
 | 
				
			||||||
	mountInt := &fakeMountInterface{
 | 
						mountInt := &fakeMountInterface{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,6 +17,7 @@ limitations under the License.
 | 
				
			|||||||
package dockertools
 | 
					package dockertools
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
 | 
						"flag"
 | 
				
			||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
	"io/ioutil"
 | 
						"io/ioutil"
 | 
				
			||||||
	"net"
 | 
						"net"
 | 
				
			||||||
@@ -59,6 +60,21 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/pkg/util/intstr"
 | 
						"k8s.io/kubernetes/pkg/util/intstr"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var testTempDir string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func TestMain(m *testing.M) {
 | 
				
			||||||
 | 
						dir, err := ioutil.TempDir("", "dockertools")
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							panic(err)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						testTempDir = dir
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						flag.Parse()
 | 
				
			||||||
 | 
						status := m.Run()
 | 
				
			||||||
 | 
						os.RemoveAll(testTempDir)
 | 
				
			||||||
 | 
						os.Exit(status)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type fakeHTTP struct {
 | 
					type fakeHTTP struct {
 | 
				
			||||||
	url string
 | 
						url string
 | 
				
			||||||
	err error
 | 
						err error
 | 
				
			||||||
@@ -81,7 +97,7 @@ func (f *fakeRuntimeHelper) GenerateRunContainerOptions(pod *v1.Pod, container *
 | 
				
			|||||||
	var opts kubecontainer.RunContainerOptions
 | 
						var opts kubecontainer.RunContainerOptions
 | 
				
			||||||
	var err error
 | 
						var err error
 | 
				
			||||||
	if len(container.TerminationMessagePath) != 0 {
 | 
						if len(container.TerminationMessagePath) != 0 {
 | 
				
			||||||
		testPodContainerDir, err = ioutil.TempDir("", "fooPodContainerDir")
 | 
							testPodContainerDir, err = ioutil.TempDir(testTempDir, "fooPodContainerDir")
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			return nil, err
 | 
								return nil, err
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -36,6 +36,7 @@ func TestGetContainerInfo(t *testing.T) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	fakeRuntime := testKubelet.fakeRuntime
 | 
						fakeRuntime := testKubelet.fakeRuntime
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	cadvisorReq := &cadvisorapi.ContainerInfoRequest{}
 | 
						cadvisorReq := &cadvisorapi.ContainerInfoRequest{}
 | 
				
			||||||
@@ -72,6 +73,7 @@ func TestGetRawContainerInfoRoot(t *testing.T) {
 | 
				
			|||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	mockCadvisor := testKubelet.fakeCadvisor
 | 
						mockCadvisor := testKubelet.fakeCadvisor
 | 
				
			||||||
	cadvisorReq := &cadvisorapi.ContainerInfoRequest{}
 | 
						cadvisorReq := &cadvisorapi.ContainerInfoRequest{}
 | 
				
			||||||
@@ -99,6 +101,7 @@ func TestGetRawContainerInfoSubcontainers(t *testing.T) {
 | 
				
			|||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	mockCadvisor := testKubelet.fakeCadvisor
 | 
						mockCadvisor := testKubelet.fakeCadvisor
 | 
				
			||||||
	cadvisorReq := &cadvisorapi.ContainerInfoRequest{}
 | 
						cadvisorReq := &cadvisorapi.ContainerInfoRequest{}
 | 
				
			||||||
@@ -117,6 +120,7 @@ func TestGetRawContainerInfoSubcontainers(t *testing.T) {
 | 
				
			|||||||
func TestGetContainerInfoWhenCadvisorFailed(t *testing.T) {
 | 
					func TestGetContainerInfoWhenCadvisorFailed(t *testing.T) {
 | 
				
			||||||
	containerID := "ab2cdf"
 | 
						containerID := "ab2cdf"
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	mockCadvisor := testKubelet.fakeCadvisor
 | 
						mockCadvisor := testKubelet.fakeCadvisor
 | 
				
			||||||
	fakeRuntime := testKubelet.fakeRuntime
 | 
						fakeRuntime := testKubelet.fakeRuntime
 | 
				
			||||||
@@ -152,6 +156,7 @@ func TestGetContainerInfoWhenCadvisorFailed(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestGetContainerInfoOnNonExistContainer(t *testing.T) {
 | 
					func TestGetContainerInfoOnNonExistContainer(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	mockCadvisor := testKubelet.fakeCadvisor
 | 
						mockCadvisor := testKubelet.fakeCadvisor
 | 
				
			||||||
	fakeRuntime := testKubelet.fakeRuntime
 | 
						fakeRuntime := testKubelet.fakeRuntime
 | 
				
			||||||
@@ -166,6 +171,7 @@ func TestGetContainerInfoOnNonExistContainer(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestGetContainerInfoWhenContainerRuntimeFailed(t *testing.T) {
 | 
					func TestGetContainerInfoWhenContainerRuntimeFailed(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	mockCadvisor := testKubelet.fakeCadvisor
 | 
						mockCadvisor := testKubelet.fakeCadvisor
 | 
				
			||||||
	fakeRuntime := testKubelet.fakeRuntime
 | 
						fakeRuntime := testKubelet.fakeRuntime
 | 
				
			||||||
@@ -187,6 +193,7 @@ func TestGetContainerInfoWhenContainerRuntimeFailed(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestGetContainerInfoWithNoContainers(t *testing.T) {
 | 
					func TestGetContainerInfoWithNoContainers(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	mockCadvisor := testKubelet.fakeCadvisor
 | 
						mockCadvisor := testKubelet.fakeCadvisor
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -205,6 +212,7 @@ func TestGetContainerInfoWithNoContainers(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestGetContainerInfoWithNoMatchingContainers(t *testing.T) {
 | 
					func TestGetContainerInfoWithNoMatchingContainers(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	fakeRuntime := testKubelet.fakeRuntime
 | 
						fakeRuntime := testKubelet.fakeRuntime
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	mockCadvisor := testKubelet.fakeCadvisor
 | 
						mockCadvisor := testKubelet.fakeCadvisor
 | 
				
			||||||
@@ -253,6 +261,7 @@ func TestHasDedicatedImageFs(t *testing.T) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	for testName, testCase := range testCases {
 | 
						for testName, testCase := range testCases {
 | 
				
			||||||
		testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
							testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
							defer testKubelet.Cleanup()
 | 
				
			||||||
		kubelet := testKubelet.kubelet
 | 
							kubelet := testKubelet.kubelet
 | 
				
			||||||
		mockCadvisor := testKubelet.fakeCadvisor
 | 
							mockCadvisor := testKubelet.fakeCadvisor
 | 
				
			||||||
		mockCadvisor.On("Start").Return(nil)
 | 
							mockCadvisor.On("Start").Return(nil)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -25,6 +25,7 @@ import (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestKubeletDirs(t *testing.T) {
 | 
					func TestKubeletDirs(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	root := kubelet.rootDirectory
 | 
						root := kubelet.rootDirectory
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -87,6 +88,7 @@ func TestKubeletDirs(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestKubeletDirsCompat(t *testing.T) {
 | 
					func TestKubeletDirsCompat(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	root := kubelet.rootDirectory
 | 
						root := kubelet.rootDirectory
 | 
				
			||||||
	if err := os.MkdirAll(root, 0750); err != nil {
 | 
						if err := os.MkdirAll(root, 0750); err != nil {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,6 +30,7 @@ import (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestNodeIPParam(t *testing.T) {
 | 
					func TestNodeIPParam(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	tests := []struct {
 | 
						tests := []struct {
 | 
				
			||||||
		nodeIP   string
 | 
							nodeIP   string
 | 
				
			||||||
@@ -98,6 +99,7 @@ func TestParseResolvConf(t *testing.T) {
 | 
				
			|||||||
		{"#comment\nnameserver 1.2.3.4\n#comment\nsearch foo\ncomment", []string{"1.2.3.4"}, []string{"foo"}},
 | 
							{"#comment\nnameserver 1.2.3.4\n#comment\nsearch foo\ncomment", []string{"1.2.3.4"}, []string{"foo"}},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	for i, tc := range testCases {
 | 
						for i, tc := range testCases {
 | 
				
			||||||
		ns, srch, err := kubelet.parseResolvConf(strings.NewReader(tc.data))
 | 
							ns, srch, err := kubelet.parseResolvConf(strings.NewReader(tc.data))
 | 
				
			||||||
@@ -258,6 +260,7 @@ func TestCleanupBandwidthLimits(t *testing.T) {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		testKube := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
							testKube := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
							defer testKube.Cleanup()
 | 
				
			||||||
		testKube.kubelet.shaper = shaper
 | 
							testKube.kubelet.shaper = shaper
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		for _, pod := range test.pods {
 | 
							for _, pod := range test.pods {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -114,6 +114,7 @@ func TestUpdateNewNodeStatus(t *testing.T) {
 | 
				
			|||||||
	inputImageList, expectedImageList := generateTestingImageList(maxImagesInNodeStatus + 1)
 | 
						inputImageList, expectedImageList := generateTestingImageList(maxImagesInNodeStatus + 1)
 | 
				
			||||||
	testKubelet := newTestKubeletWithImageList(
 | 
						testKubelet := newTestKubeletWithImageList(
 | 
				
			||||||
		t, inputImageList, false /* controllerAttachDetachEnabled */)
 | 
							t, inputImageList, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	kubeClient := testKubelet.fakeKubeClient
 | 
						kubeClient := testKubelet.fakeKubeClient
 | 
				
			||||||
	existingNode := v1.Node{ObjectMeta: metav1.ObjectMeta{Name: testKubeletHostname}}
 | 
						existingNode := v1.Node{ObjectMeta: metav1.ObjectMeta{Name: testKubeletHostname}}
 | 
				
			||||||
@@ -253,6 +254,7 @@ func TestUpdateNewNodeStatus(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestUpdateNewNodeOutOfDiskStatusWithTransitionFrequency(t *testing.T) {
 | 
					func TestUpdateNewNodeOutOfDiskStatusWithTransitionFrequency(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	kubeClient := testKubelet.fakeKubeClient
 | 
						kubeClient := testKubelet.fakeKubeClient
 | 
				
			||||||
	existingNode := v1.Node{ObjectMeta: metav1.ObjectMeta{Name: testKubeletHostname}}
 | 
						existingNode := v1.Node{ObjectMeta: metav1.ObjectMeta{Name: testKubeletHostname}}
 | 
				
			||||||
@@ -328,6 +330,7 @@ func TestUpdateNewNodeOutOfDiskStatusWithTransitionFrequency(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestUpdateExistingNodeStatus(t *testing.T) {
 | 
					func TestUpdateExistingNodeStatus(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	kubeClient := testKubelet.fakeKubeClient
 | 
						kubeClient := testKubelet.fakeKubeClient
 | 
				
			||||||
	existingNode := v1.Node{
 | 
						existingNode := v1.Node{
 | 
				
			||||||
@@ -523,6 +526,7 @@ func TestUpdateExistingNodeStatus(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestUpdateExistingNodeOutOfDiskStatusWithTransitionFrequency(t *testing.T) {
 | 
					func TestUpdateExistingNodeOutOfDiskStatusWithTransitionFrequency(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	clock := testKubelet.fakeClock
 | 
						clock := testKubelet.fakeClock
 | 
				
			||||||
	// Do not set nano second, because apiserver function doesn't support nano second. (Only support
 | 
						// Do not set nano second, because apiserver function doesn't support nano second. (Only support
 | 
				
			||||||
@@ -681,6 +685,7 @@ func TestUpdateExistingNodeOutOfDiskStatusWithTransitionFrequency(t *testing.T)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestUpdateNodeStatusWithRuntimeStateError(t *testing.T) {
 | 
					func TestUpdateNodeStatusWithRuntimeStateError(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	clock := testKubelet.fakeClock
 | 
						clock := testKubelet.fakeClock
 | 
				
			||||||
	kubeClient := testKubelet.fakeKubeClient
 | 
						kubeClient := testKubelet.fakeKubeClient
 | 
				
			||||||
@@ -900,6 +905,7 @@ func TestUpdateNodeStatusWithRuntimeStateError(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestUpdateNodeStatusError(t *testing.T) {
 | 
					func TestUpdateNodeStatusError(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	// No matching node for the kubelet
 | 
						// No matching node for the kubelet
 | 
				
			||||||
	testKubelet.fakeKubeClient.ReactionChain = fake.NewSimpleClientset(&v1.NodeList{Items: []v1.Node{}}).ReactionChain
 | 
						testKubelet.fakeKubeClient.ReactionChain = fake.NewSimpleClientset(&v1.NodeList{Items: []v1.Node{}}).ReactionChain
 | 
				
			||||||
@@ -914,6 +920,7 @@ func TestUpdateNodeStatusError(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestRegisterWithApiServer(t *testing.T) {
 | 
					func TestRegisterWithApiServer(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	kubeClient := testKubelet.fakeKubeClient
 | 
						kubeClient := testKubelet.fakeKubeClient
 | 
				
			||||||
	kubeClient.AddReactor("create", "nodes", func(action core.Action) (bool, runtime.Object, error) {
 | 
						kubeClient.AddReactor("create", "nodes", func(action core.Action) (bool, runtime.Object, error) {
 | 
				
			||||||
@@ -1094,6 +1101,7 @@ func TestTryRegisterWithApiServer(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	for _, tc := range cases {
 | 
						for _, tc := range cases {
 | 
				
			||||||
		testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled is a don't-care for this test */)
 | 
							testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled is a don't-care for this test */)
 | 
				
			||||||
 | 
							defer testKubelet.Cleanup()
 | 
				
			||||||
		kubelet := testKubelet.kubelet
 | 
							kubelet := testKubelet.kubelet
 | 
				
			||||||
		kubeClient := testKubelet.fakeKubeClient
 | 
							kubeClient := testKubelet.fakeKubeClient
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -114,6 +114,7 @@ func TestMakeMounts(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestRunInContainerNoSuchPod(t *testing.T) {
 | 
					func TestRunInContainerNoSuchPod(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	fakeRuntime := testKubelet.fakeRuntime
 | 
						fakeRuntime := testKubelet.fakeRuntime
 | 
				
			||||||
	fakeRuntime.PodList = []*containertest.FakePod{}
 | 
						fakeRuntime.PodList = []*containertest.FakePod{}
 | 
				
			||||||
@@ -133,6 +134,7 @@ func TestRunInContainerNoSuchPod(t *testing.T) {
 | 
				
			|||||||
func TestRunInContainer(t *testing.T) {
 | 
					func TestRunInContainer(t *testing.T) {
 | 
				
			||||||
	for _, testError := range []error{nil, errors.New("bar")} {
 | 
						for _, testError := range []error{nil, errors.New("bar")} {
 | 
				
			||||||
		testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
							testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
							defer testKubelet.Cleanup()
 | 
				
			||||||
		kubelet := testKubelet.kubelet
 | 
							kubelet := testKubelet.kubelet
 | 
				
			||||||
		fakeRuntime := testKubelet.fakeRuntime
 | 
							fakeRuntime := testKubelet.fakeRuntime
 | 
				
			||||||
		fakeCommandRunner := containertest.FakeContainerCommandRunner{
 | 
							fakeCommandRunner := containertest.FakeContainerCommandRunner{
 | 
				
			||||||
@@ -166,6 +168,7 @@ func TestRunInContainer(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestGenerateRunContainerOptions_DNSConfigurationParams(t *testing.T) {
 | 
					func TestGenerateRunContainerOptions_DNSConfigurationParams(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	clusterNS := "203.0.113.1"
 | 
						clusterNS := "203.0.113.1"
 | 
				
			||||||
@@ -925,6 +928,7 @@ func TestMakeEnvironmentVariables(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	for _, tc := range testCases {
 | 
						for _, tc := range testCases {
 | 
				
			||||||
		testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
							testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
							defer testKubelet.Cleanup()
 | 
				
			||||||
		kl := testKubelet.kubelet
 | 
							kl := testKubelet.kubelet
 | 
				
			||||||
		kl.masterServiceNamespace = tc.masterServiceNs
 | 
							kl.masterServiceNamespace = tc.masterServiceNs
 | 
				
			||||||
		if tc.nilLister {
 | 
							if tc.nilLister {
 | 
				
			||||||
@@ -1398,6 +1402,7 @@ func TestExec(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	for _, tc := range testcases {
 | 
						for _, tc := range testcases {
 | 
				
			||||||
		testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
							testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
							defer testKubelet.Cleanup()
 | 
				
			||||||
		kubelet := testKubelet.kubelet
 | 
							kubelet := testKubelet.kubelet
 | 
				
			||||||
		testKubelet.fakeRuntime.PodList = []*containertest.FakePod{
 | 
							testKubelet.fakeRuntime.PodList = []*containertest.FakePod{
 | 
				
			||||||
			{Pod: &kubecontainer.Pod{
 | 
								{Pod: &kubecontainer.Pod{
 | 
				
			||||||
@@ -1488,6 +1493,7 @@ func TestPortForward(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	for _, tc := range testcases {
 | 
						for _, tc := range testcases {
 | 
				
			||||||
		testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
							testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
							defer testKubelet.Cleanup()
 | 
				
			||||||
		kubelet := testKubelet.kubelet
 | 
							kubelet := testKubelet.kubelet
 | 
				
			||||||
		testKubelet.fakeRuntime.PodList = []*containertest.FakePod{
 | 
							testKubelet.fakeRuntime.PodList = []*containertest.FakePod{
 | 
				
			||||||
			{Pod: &kubecontainer.Pod{
 | 
								{Pod: &kubecontainer.Pod{
 | 
				
			||||||
@@ -1635,6 +1641,7 @@ func TestHasHostMountPVC(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	for k, v := range tests {
 | 
						for k, v := range tests {
 | 
				
			||||||
		testKubelet := newTestKubelet(t, false)
 | 
							testKubelet := newTestKubelet(t, false)
 | 
				
			||||||
 | 
							defer testKubelet.Cleanup()
 | 
				
			||||||
		pod := &v1.Pod{
 | 
							pod := &v1.Pod{
 | 
				
			||||||
			Spec: v1.PodSpec{},
 | 
								Spec: v1.PodSpec{},
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -33,6 +33,7 @@ func TestPodResourceLimitsDefaulting(t *testing.T) {
 | 
				
			|||||||
	cpuCores := resource.MustParse("10")
 | 
						cpuCores := resource.MustParse("10")
 | 
				
			||||||
	memoryCapacity := resource.MustParse("10Gi")
 | 
						memoryCapacity := resource.MustParse("10Gi")
 | 
				
			||||||
	tk := newTestKubelet(t, true)
 | 
						tk := newTestKubelet(t, true)
 | 
				
			||||||
 | 
						defer tk.Cleanup()
 | 
				
			||||||
	tk.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
						tk.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
				
			||||||
	tk.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{
 | 
						tk.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{
 | 
				
			||||||
		NumCores:       int(cpuCores.Value()),
 | 
							NumCores:       int(cpuCores.Value()),
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -107,6 +107,12 @@ type TestKubelet struct {
 | 
				
			|||||||
	volumePlugin     *volumetest.FakeVolumePlugin
 | 
						volumePlugin     *volumetest.FakeVolumePlugin
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (tk *TestKubelet) Cleanup() {
 | 
				
			||||||
 | 
						if tk.kubelet != nil {
 | 
				
			||||||
 | 
							os.RemoveAll(tk.kubelet.rootDirectory)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// newTestKubelet returns test kubelet with two images.
 | 
					// newTestKubelet returns test kubelet with two images.
 | 
				
			||||||
func newTestKubelet(t *testing.T, controllerAttachDetachEnabled bool) *TestKubelet {
 | 
					func newTestKubelet(t *testing.T, controllerAttachDetachEnabled bool) *TestKubelet {
 | 
				
			||||||
	imageList := []kubecontainer.Image{
 | 
						imageList := []kubecontainer.Image{
 | 
				
			||||||
@@ -291,6 +297,7 @@ var emptyPodUIDs map[types.UID]kubetypes.SyncPodType
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestSyncLoopTimeUpdate(t *testing.T) {
 | 
					func TestSyncLoopTimeUpdate(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -316,6 +323,7 @@ func TestSyncLoopTimeUpdate(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestSyncLoopAbort(t *testing.T) {
 | 
					func TestSyncLoopAbort(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	kubelet.runtimeState.setRuntimeSync(time.Now())
 | 
						kubelet.runtimeState.setRuntimeSync(time.Now())
 | 
				
			||||||
@@ -336,6 +344,7 @@ func TestSyncLoopAbort(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestSyncPodsStartPod(t *testing.T) {
 | 
					func TestSyncPodsStartPod(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
				
			||||||
@@ -358,6 +367,7 @@ func TestSyncPodsDeletesWhenSourcesAreReady(t *testing.T) {
 | 
				
			|||||||
	ready := false
 | 
						ready := false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	fakeRuntime := testKubelet.fakeRuntime
 | 
						fakeRuntime := testKubelet.fakeRuntime
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
				
			||||||
@@ -412,6 +422,7 @@ func (ls testNodeLister) List() (v1.NodeList, error) {
 | 
				
			|||||||
// Tests that we handle port conflicts correctly by setting the failed status in status map.
 | 
					// Tests that we handle port conflicts correctly by setting the failed status in status map.
 | 
				
			||||||
func TestHandlePortConflicts(t *testing.T) {
 | 
					func TestHandlePortConflicts(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kl := testKubelet.kubelet
 | 
						kl := testKubelet.kubelet
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
				
			||||||
@@ -529,6 +540,7 @@ func TestCriticalPrioritySorting(t *testing.T) {
 | 
				
			|||||||
// Tests that we handle host name conflicts correctly by setting the failed status in status map.
 | 
					// Tests that we handle host name conflicts correctly by setting the failed status in status map.
 | 
				
			||||||
func TestHandleHostNameConflicts(t *testing.T) {
 | 
					func TestHandleHostNameConflicts(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kl := testKubelet.kubelet
 | 
						kl := testKubelet.kubelet
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
				
			||||||
@@ -580,6 +592,7 @@ func TestHandleHostNameConflicts(t *testing.T) {
 | 
				
			|||||||
// Tests that we handle not matching labels selector correctly by setting the failed status in status map.
 | 
					// Tests that we handle not matching labels selector correctly by setting the failed status in status map.
 | 
				
			||||||
func TestHandleNodeSelector(t *testing.T) {
 | 
					func TestHandleNodeSelector(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kl := testKubelet.kubelet
 | 
						kl := testKubelet.kubelet
 | 
				
			||||||
	nodes := []v1.Node{
 | 
						nodes := []v1.Node{
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@@ -620,6 +633,7 @@ func TestHandleNodeSelector(t *testing.T) {
 | 
				
			|||||||
// Tests that we handle exceeded resources correctly by setting the failed status in status map.
 | 
					// Tests that we handle exceeded resources correctly by setting the failed status in status map.
 | 
				
			||||||
func TestHandleMemExceeded(t *testing.T) {
 | 
					func TestHandleMemExceeded(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kl := testKubelet.kubelet
 | 
						kl := testKubelet.kubelet
 | 
				
			||||||
	nodes := []v1.Node{
 | 
						nodes := []v1.Node{
 | 
				
			||||||
		{ObjectMeta: metav1.ObjectMeta{Name: testKubeletHostname},
 | 
							{ObjectMeta: metav1.ObjectMeta{Name: testKubeletHostname},
 | 
				
			||||||
@@ -669,6 +683,7 @@ func TestHandleMemExceeded(t *testing.T) {
 | 
				
			|||||||
// TODO(filipg): This test should be removed once StatusSyncer can do garbage collection without external signal.
 | 
					// TODO(filipg): This test should be removed once StatusSyncer can do garbage collection without external signal.
 | 
				
			||||||
func TestPurgingObsoleteStatusMapEntries(t *testing.T) {
 | 
					func TestPurgingObsoleteStatusMapEntries(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("RootFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("RootFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
				
			||||||
@@ -700,6 +715,7 @@ func TestPurgingObsoleteStatusMapEntries(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestValidateContainerLogStatus(t *testing.T) {
 | 
					func TestValidateContainerLogStatus(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	containerName := "x"
 | 
						containerName := "x"
 | 
				
			||||||
	testCases := []struct {
 | 
						testCases := []struct {
 | 
				
			||||||
@@ -826,6 +842,7 @@ func updateDiskSpacePolicy(kubelet *Kubelet, mockCadvisor *cadvisortest.Mock, ro
 | 
				
			|||||||
func TestCreateMirrorPod(t *testing.T) {
 | 
					func TestCreateMirrorPod(t *testing.T) {
 | 
				
			||||||
	for _, updateType := range []kubetypes.SyncPodType{kubetypes.SyncPodCreate, kubetypes.SyncPodUpdate} {
 | 
						for _, updateType := range []kubetypes.SyncPodType{kubetypes.SyncPodCreate, kubetypes.SyncPodUpdate} {
 | 
				
			||||||
		testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
							testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
							defer testKubelet.Cleanup()
 | 
				
			||||||
		testKubelet.fakeCadvisor.On("Start").Return(nil)
 | 
							testKubelet.fakeCadvisor.On("Start").Return(nil)
 | 
				
			||||||
		testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
							testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
				
			||||||
		testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
							testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
@@ -852,6 +869,7 @@ func TestCreateMirrorPod(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestDeleteOutdatedMirrorPod(t *testing.T) {
 | 
					func TestDeleteOutdatedMirrorPod(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("Start").Return(nil)
 | 
						testKubelet.fakeCadvisor.On("Start").Return(nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
@@ -894,6 +912,7 @@ func TestDeleteOutdatedMirrorPod(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestDeleteOrphanedMirrorPods(t *testing.T) {
 | 
					func TestDeleteOrphanedMirrorPods(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("Start").Return(nil)
 | 
						testKubelet.fakeCadvisor.On("Start").Return(nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
				
			||||||
@@ -985,6 +1004,7 @@ func TestGetContainerInfoForMirrorPods(t *testing.T) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	fakeRuntime := testKubelet.fakeRuntime
 | 
						fakeRuntime := testKubelet.fakeRuntime
 | 
				
			||||||
	mockCadvisor := testKubelet.fakeCadvisor
 | 
						mockCadvisor := testKubelet.fakeCadvisor
 | 
				
			||||||
	cadvisorReq := &cadvisorapi.ContainerInfoRequest{}
 | 
						cadvisorReq := &cadvisorapi.ContainerInfoRequest{}
 | 
				
			||||||
@@ -1015,6 +1035,7 @@ func TestGetContainerInfoForMirrorPods(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestHostNetworkAllowed(t *testing.T) {
 | 
					func TestHostNetworkAllowed(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("Start").Return(nil)
 | 
						testKubelet.fakeCadvisor.On("Start").Return(nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
@@ -1047,6 +1068,7 @@ func TestHostNetworkAllowed(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestHostNetworkDisallowed(t *testing.T) {
 | 
					func TestHostNetworkDisallowed(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("Start").Return(nil)
 | 
						testKubelet.fakeCadvisor.On("Start").Return(nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
@@ -1078,6 +1100,7 @@ func TestHostNetworkDisallowed(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestPrivilegeContainerAllowed(t *testing.T) {
 | 
					func TestPrivilegeContainerAllowed(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("Start").Return(nil)
 | 
						testKubelet.fakeCadvisor.On("Start").Return(nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
@@ -1107,6 +1130,7 @@ func TestPrivilegeContainerAllowed(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestPrivilegedContainerDisallowed(t *testing.T) {
 | 
					func TestPrivilegedContainerDisallowed(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
				
			||||||
@@ -1133,6 +1157,7 @@ func TestPrivilegedContainerDisallowed(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestNetworkErrorsWithoutHostNetwork(t *testing.T) {
 | 
					func TestNetworkErrorsWithoutHostNetwork(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
				
			||||||
@@ -1174,6 +1199,7 @@ func TestNetworkErrorsWithoutHostNetwork(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestFilterOutTerminatedPods(t *testing.T) {
 | 
					func TestFilterOutTerminatedPods(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	pods := newTestPods(5)
 | 
						pods := newTestPods(5)
 | 
				
			||||||
	pods[0].Status.Phase = v1.PodFailed
 | 
						pods[0].Status.Phase = v1.PodFailed
 | 
				
			||||||
@@ -1240,6 +1266,7 @@ func TestMakePortMappings(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestSyncPodsSetStatusToFailedForPodsThatRunTooLong(t *testing.T) {
 | 
					func TestSyncPodsSetStatusToFailedForPodsThatRunTooLong(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	fakeRuntime := testKubelet.fakeRuntime
 | 
						fakeRuntime := testKubelet.fakeRuntime
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
@@ -1287,6 +1314,7 @@ func TestSyncPodsSetStatusToFailedForPodsThatRunTooLong(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestSyncPodsDoesNotSetPodsThatDidNotRunTooLongToFailed(t *testing.T) {
 | 
					func TestSyncPodsDoesNotSetPodsThatDidNotRunTooLongToFailed(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	fakeRuntime := testKubelet.fakeRuntime
 | 
						fakeRuntime := testKubelet.fakeRuntime
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("Start").Return(nil)
 | 
						testKubelet.fakeCadvisor.On("Start").Return(nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
				
			||||||
@@ -1356,6 +1384,7 @@ func podWithUidNameNsSpec(uid types.UID, name, namespace string, spec v1.PodSpec
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestDeletePodDirsForDeletedPods(t *testing.T) {
 | 
					func TestDeletePodDirsForDeletedPods(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("Start").Return(nil)
 | 
						testKubelet.fakeCadvisor.On("Start").Return(nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
@@ -1395,6 +1424,7 @@ func syncAndVerifyPodDir(t *testing.T, testKubelet *TestKubelet, pods []*v1.Pod,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestDoesNotDeletePodDirsForTerminatedPods(t *testing.T) {
 | 
					func TestDoesNotDeletePodDirsForTerminatedPods(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("Start").Return(nil)
 | 
						testKubelet.fakeCadvisor.On("Start").Return(nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
@@ -1417,6 +1447,7 @@ func TestDoesNotDeletePodDirsForTerminatedPods(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestDoesNotDeletePodDirsIfContainerIsRunning(t *testing.T) {
 | 
					func TestDoesNotDeletePodDirsIfContainerIsRunning(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("Start").Return(nil)
 | 
						testKubelet.fakeCadvisor.On("Start").Return(nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
@@ -1449,6 +1480,7 @@ func TestDoesNotDeletePodDirsIfContainerIsRunning(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestGetPodsToSync(t *testing.T) {
 | 
					func TestGetPodsToSync(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	clock := testKubelet.fakeClock
 | 
						clock := testKubelet.fakeClock
 | 
				
			||||||
	pods := newTestPods(5)
 | 
						pods := newTestPods(5)
 | 
				
			||||||
@@ -1479,6 +1511,7 @@ func TestGetPodsToSync(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestGenerateAPIPodStatusWithSortedContainers(t *testing.T) {
 | 
					func TestGenerateAPIPodStatusWithSortedContainers(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
				
			||||||
@@ -1541,6 +1574,7 @@ func TestGenerateAPIPodStatusWithReasonCache(t *testing.T) {
 | 
				
			|||||||
	testErrorReason := fmt.Errorf("test-error")
 | 
						testErrorReason := fmt.Errorf("test-error")
 | 
				
			||||||
	emptyContainerID := (&kubecontainer.ContainerID{}).String()
 | 
						emptyContainerID := (&kubecontainer.ContainerID{}).String()
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
				
			||||||
@@ -1730,6 +1764,7 @@ func TestGenerateAPIPodStatusWithDifferentRestartPolicies(t *testing.T) {
 | 
				
			|||||||
	testErrorReason := fmt.Errorf("test-error")
 | 
						testErrorReason := fmt.Errorf("test-error")
 | 
				
			||||||
	emptyContainerID := (&kubecontainer.ContainerID{}).String()
 | 
						emptyContainerID := (&kubecontainer.ContainerID{}).String()
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("VersionInfo").Return(&cadvisorapi.VersionInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("MachineInfo").Return(&cadvisorapi.MachineInfo{}, nil)
 | 
				
			||||||
	testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
						testKubelet.fakeCadvisor.On("ImagesFsInfo").Return(cadvisorapiv2.FsInfo{}, nil)
 | 
				
			||||||
@@ -1896,6 +1931,7 @@ func (a *testPodAdmitHandler) Admit(attrs *lifecycle.PodAdmitAttributes) lifecyc
 | 
				
			|||||||
// Test verifies that the kubelet invokes an admission handler during HandlePodAdditions.
 | 
					// Test verifies that the kubelet invokes an admission handler during HandlePodAdditions.
 | 
				
			||||||
func TestHandlePodAdditionsInvokesPodAdmitHandlers(t *testing.T) {
 | 
					func TestHandlePodAdditionsInvokesPodAdmitHandlers(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kl := testKubelet.kubelet
 | 
						kl := testKubelet.kubelet
 | 
				
			||||||
	kl.nodeLister = testNodeLister{nodes: []v1.Node{
 | 
						kl.nodeLister = testNodeLister{nodes: []v1.Node{
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
@@ -1975,6 +2011,7 @@ func (a *testPodSyncLoopHandler) ShouldSync(pod *v1.Pod) bool {
 | 
				
			|||||||
// TestGetPodsToSyncInvokesPodSyncLoopHandlers ensures that the get pods to sync routine invokes the handler.
 | 
					// TestGetPodsToSyncInvokesPodSyncLoopHandlers ensures that the get pods to sync routine invokes the handler.
 | 
				
			||||||
func TestGetPodsToSyncInvokesPodSyncLoopHandlers(t *testing.T) {
 | 
					func TestGetPodsToSyncInvokesPodSyncLoopHandlers(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	pods := newTestPods(5)
 | 
						pods := newTestPods(5)
 | 
				
			||||||
	expected := []*v1.Pod{pods[0]}
 | 
						expected := []*v1.Pod{pods[0]}
 | 
				
			||||||
@@ -2010,6 +2047,7 @@ func (a *testPodSyncHandler) ShouldEvict(pod *v1.Pod) lifecycle.ShouldEvictRespo
 | 
				
			|||||||
// TestGenerateAPIPodStatusInvokesPodSyncHandlers invokes the handlers and reports the proper status
 | 
					// TestGenerateAPIPodStatusInvokesPodSyncHandlers invokes the handlers and reports the proper status
 | 
				
			||||||
func TestGenerateAPIPodStatusInvokesPodSyncHandlers(t *testing.T) {
 | 
					func TestGenerateAPIPodStatusInvokesPodSyncHandlers(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	pod := newTestPods(1)[0]
 | 
						pod := newTestPods(1)[0]
 | 
				
			||||||
	podsToEvict := []*v1.Pod{pod}
 | 
						podsToEvict := []*v1.Pod{pod}
 | 
				
			||||||
@@ -2027,6 +2065,7 @@ func TestGenerateAPIPodStatusInvokesPodSyncHandlers(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestSyncPodKillPod(t *testing.T) {
 | 
					func TestSyncPodKillPod(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kl := testKubelet.kubelet
 | 
						kl := testKubelet.kubelet
 | 
				
			||||||
	pod := &v1.Pod{
 | 
						pod := &v1.Pod{
 | 
				
			||||||
		ObjectMeta: metav1.ObjectMeta{
 | 
							ObjectMeta: metav1.ObjectMeta{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -86,6 +86,7 @@ func TestListVolumesForPod(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestPodVolumesExist(t *testing.T) {
 | 
					func TestPodVolumesExist(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	pods := []*v1.Pod{
 | 
						pods := []*v1.Pod{
 | 
				
			||||||
@@ -170,6 +171,7 @@ func TestPodVolumesExist(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestVolumeAttachAndMountControllerDisabled(t *testing.T) {
 | 
					func TestVolumeAttachAndMountControllerDisabled(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	pod := podWithUidNameNsSpec("12345678", "foo", "test", v1.PodSpec{
 | 
						pod := podWithUidNameNsSpec("12345678", "foo", "test", v1.PodSpec{
 | 
				
			||||||
@@ -215,6 +217,7 @@ func TestVolumeAttachAndMountControllerDisabled(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestVolumeUnmountAndDetachControllerDisabled(t *testing.T) {
 | 
					func TestVolumeUnmountAndDetachControllerDisabled(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	pod := podWithUidNameNsSpec("12345678", "foo", "test", v1.PodSpec{
 | 
						pod := podWithUidNameNsSpec("12345678", "foo", "test", v1.PodSpec{
 | 
				
			||||||
@@ -285,6 +288,7 @@ func TestVolumeUnmountAndDetachControllerDisabled(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestVolumeAttachAndMountControllerEnabled(t *testing.T) {
 | 
					func TestVolumeAttachAndMountControllerEnabled(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, true /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, true /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	kubeClient := testKubelet.fakeKubeClient
 | 
						kubeClient := testKubelet.fakeKubeClient
 | 
				
			||||||
	kubeClient.AddReactor("get", "nodes",
 | 
						kubeClient.AddReactor("get", "nodes",
 | 
				
			||||||
@@ -353,6 +357,7 @@ func TestVolumeAttachAndMountControllerEnabled(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestVolumeUnmountAndDetachControllerEnabled(t *testing.T) {
 | 
					func TestVolumeUnmountAndDetachControllerEnabled(t *testing.T) {
 | 
				
			||||||
	testKubelet := newTestKubelet(t, true /* controllerAttachDetachEnabled */)
 | 
						testKubelet := newTestKubelet(t, true /* controllerAttachDetachEnabled */)
 | 
				
			||||||
 | 
						defer testKubelet.Cleanup()
 | 
				
			||||||
	kubelet := testKubelet.kubelet
 | 
						kubelet := testKubelet.kubelet
 | 
				
			||||||
	kubeClient := testKubelet.fakeKubeClient
 | 
						kubeClient := testKubelet.fakeKubeClient
 | 
				
			||||||
	kubeClient.AddReactor("get", "nodes",
 | 
						kubeClient.AddReactor("get", "nodes",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,6 +20,7 @@ import (
 | 
				
			|||||||
	"io/ioutil"
 | 
						"io/ioutil"
 | 
				
			||||||
	"os"
 | 
						"os"
 | 
				
			||||||
	"path"
 | 
						"path"
 | 
				
			||||||
 | 
						"path/filepath"
 | 
				
			||||||
	"testing"
 | 
						"testing"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"golang.org/x/net/context"
 | 
						"golang.org/x/net/context"
 | 
				
			||||||
@@ -35,6 +36,7 @@ import (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestTLSConnection(t *testing.T) {
 | 
					func TestTLSConnection(t *testing.T) {
 | 
				
			||||||
	certFile, keyFile, caFile := configureTLSCerts(t)
 | 
						certFile, keyFile, caFile := configureTLSCerts(t)
 | 
				
			||||||
 | 
						defer os.RemoveAll(filepath.Dir(certFile))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	tlsInfo := &transport.TLSInfo{
 | 
						tlsInfo := &transport.TLSInfo{
 | 
				
			||||||
		CertFile: certFile,
 | 
							CertFile: certFile,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -165,7 +165,8 @@ func TestPlugin(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestGetByName(t *testing.T) {
 | 
					func TestGetByName(t *testing.T) {
 | 
				
			||||||
	assert := assert.New(t)
 | 
						assert := assert.New(t)
 | 
				
			||||||
	plugMgr, _ := newInitializedVolumePlugMgr(t)
 | 
						plugMgr, dir := newInitializedVolumePlugMgr(t)
 | 
				
			||||||
 | 
						defer os.RemoveAll(dir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	plug, err := plugMgr.FindPluginByName(pluginName)
 | 
						plug, err := plugMgr.FindPluginByName(pluginName)
 | 
				
			||||||
	assert.NotNil(plug, "Can't find the plugin by name")
 | 
						assert.NotNil(plug, "Can't find the plugin by name")
 | 
				
			||||||
@@ -174,7 +175,8 @@ func TestGetByName(t *testing.T) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func TestCanSupport(t *testing.T) {
 | 
					func TestCanSupport(t *testing.T) {
 | 
				
			||||||
	assert := assert.New(t)
 | 
						assert := assert.New(t)
 | 
				
			||||||
	plugMgr, _ := newInitializedVolumePlugMgr(t)
 | 
						plugMgr, dir := newInitializedVolumePlugMgr(t)
 | 
				
			||||||
 | 
						defer os.RemoveAll(dir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	plug, err := plugMgr.FindPluginByName(pluginName)
 | 
						plug, err := plugMgr.FindPluginByName(pluginName)
 | 
				
			||||||
	assert.NoError(err)
 | 
						assert.NoError(err)
 | 
				
			||||||
@@ -242,7 +244,8 @@ func TestGetFlockerVolumeSource(t *testing.T) {
 | 
				
			|||||||
func TestNewMounterDatasetName(t *testing.T) {
 | 
					func TestNewMounterDatasetName(t *testing.T) {
 | 
				
			||||||
	assert := assert.New(t)
 | 
						assert := assert.New(t)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	plugMgr, _ := newInitializedVolumePlugMgr(t)
 | 
						plugMgr, dir := newInitializedVolumePlugMgr(t)
 | 
				
			||||||
 | 
						defer os.RemoveAll(dir)
 | 
				
			||||||
	plug, err := plugMgr.FindPluginByName(pluginName)
 | 
						plug, err := plugMgr.FindPluginByName(pluginName)
 | 
				
			||||||
	assert.NoError(err)
 | 
						assert.NoError(err)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -263,7 +266,8 @@ func TestNewMounterDatasetName(t *testing.T) {
 | 
				
			|||||||
func TestNewMounterDatasetUUID(t *testing.T) {
 | 
					func TestNewMounterDatasetUUID(t *testing.T) {
 | 
				
			||||||
	assert := assert.New(t)
 | 
						assert := assert.New(t)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	plugMgr, _ := newInitializedVolumePlugMgr(t)
 | 
						plugMgr, dir := newInitializedVolumePlugMgr(t)
 | 
				
			||||||
 | 
						defer os.RemoveAll(dir)
 | 
				
			||||||
	plug, err := plugMgr.FindPluginByName(pluginName)
 | 
						plug, err := plugMgr.FindPluginByName(pluginName)
 | 
				
			||||||
	assert.NoError(err)
 | 
						assert.NoError(err)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,6 +18,7 @@ package flocker
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
 | 
						"os"
 | 
				
			||||||
	"testing"
 | 
						"testing"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"k8s.io/kubernetes/pkg/api/v1"
 | 
						"k8s.io/kubernetes/pkg/api/v1"
 | 
				
			||||||
@@ -38,7 +39,9 @@ func TestFlockerUtil_CreateVolume(t *testing.T) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	fakeFlockerClient := newFakeFlockerClient()
 | 
						fakeFlockerClient := newFakeFlockerClient()
 | 
				
			||||||
	provisioner := newTestableProvisioner(assert, options).(*flockerVolumeProvisioner)
 | 
						dir, p := newTestableProvisioner(assert, options)
 | 
				
			||||||
 | 
						provisioner := p.(*flockerVolumeProvisioner)
 | 
				
			||||||
 | 
						defer os.RemoveAll(dir)
 | 
				
			||||||
	provisioner.flockerClient = fakeFlockerClient
 | 
						provisioner.flockerClient = fakeFlockerClient
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	flockerUtil := &FlockerUtil{}
 | 
						flockerUtil := &FlockerUtil{}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,6 +18,7 @@ package flocker
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
 | 
						"os"
 | 
				
			||||||
	"testing"
 | 
						"testing"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 | 
						metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 | 
				
			||||||
@@ -29,7 +30,7 @@ import (
 | 
				
			|||||||
	"github.com/stretchr/testify/assert"
 | 
						"github.com/stretchr/testify/assert"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func newTestableProvisioner(assert *assert.Assertions, options volume.VolumeOptions) volume.Provisioner {
 | 
					func newTestableProvisioner(assert *assert.Assertions, options volume.VolumeOptions) (string, volume.Provisioner) {
 | 
				
			||||||
	tmpDir, err := utiltesting.MkTmpdir("flockervolumeTest")
 | 
						tmpDir, err := utiltesting.MkTmpdir("flockervolumeTest")
 | 
				
			||||||
	assert.NoError(err, fmt.Sprintf("can't make a temp dir: %v", err))
 | 
						assert.NoError(err, fmt.Sprintf("can't make a temp dir: %v", err))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -41,7 +42,7 @@ func newTestableProvisioner(assert *assert.Assertions, options volume.VolumeOpti
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	provisioner, err := plug.(*flockerPlugin).newProvisionerInternal(options, &fakeFlockerUtil{})
 | 
						provisioner, err := plug.(*flockerPlugin).newProvisionerInternal(options, &fakeFlockerUtil{})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return provisioner
 | 
						return tmpDir, provisioner
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TestProvision(t *testing.T) {
 | 
					func TestProvision(t *testing.T) {
 | 
				
			||||||
@@ -53,7 +54,8 @@ func TestProvision(t *testing.T) {
 | 
				
			|||||||
		PersistentVolumeReclaimPolicy: v1.PersistentVolumeReclaimDelete,
 | 
							PersistentVolumeReclaimPolicy: v1.PersistentVolumeReclaimDelete,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	provisioner := newTestableProvisioner(assert, options)
 | 
						dir, provisioner := newTestableProvisioner(assert, options)
 | 
				
			||||||
 | 
						defer os.RemoveAll(dir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	persistentSpec, err := provisioner.Provision()
 | 
						persistentSpec, err := provisioner.Provision()
 | 
				
			||||||
	assert.NoError(err, "Provision() failed: ", err)
 | 
						assert.NoError(err, "Provision() failed: ", err)
 | 
				
			||||||
@@ -81,7 +83,8 @@ func TestProvision(t *testing.T) {
 | 
				
			|||||||
		},
 | 
							},
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	provisioner = newTestableProvisioner(assert, options)
 | 
						dir, provisioner = newTestableProvisioner(assert, options)
 | 
				
			||||||
 | 
						defer os.RemoveAll(dir)
 | 
				
			||||||
	persistentSpec, err = provisioner.Provision()
 | 
						persistentSpec, err = provisioner.Provision()
 | 
				
			||||||
	assert.Error(err, "Provision() did not fail with Parameters specified")
 | 
						assert.Error(err, "Provision() did not fail with Parameters specified")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -92,8 +95,8 @@ func TestProvision(t *testing.T) {
 | 
				
			|||||||
		PersistentVolumeReclaimPolicy: v1.PersistentVolumeReclaimDelete,
 | 
							PersistentVolumeReclaimPolicy: v1.PersistentVolumeReclaimDelete,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	provisioner = newTestableProvisioner(assert, options)
 | 
						dir, provisioner = newTestableProvisioner(assert, options)
 | 
				
			||||||
 | 
						defer os.RemoveAll(dir)
 | 
				
			||||||
	persistentSpec, err = provisioner.Provision()
 | 
						persistentSpec, err = provisioner.Provision()
 | 
				
			||||||
	assert.Error(err, "Provision() did not fail with Selector specified")
 | 
						assert.Error(err, "Provision() did not fail with Selector specified")
 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -508,6 +508,7 @@ func FindEmptyDirectoryUsageOnTmpfs() (*resource.Quantity, error) {
 | 
				
			|||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						defer os.RemoveAll(tmpDir)
 | 
				
			||||||
	out, err := exec.Command("nice", "-n", "19", "du", "-s", "-B", "1", tmpDir).CombinedOutput()
 | 
						out, err := exec.Command("nice", "-n", "19", "du", "-s", "-B", "1", tmpDir).CombinedOutput()
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, fmt.Errorf("failed command 'du' on %s with error %v", tmpDir, err)
 | 
							return nil, fmt.Errorf("failed command 'du' on %s with error %v", tmpDir, err)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -37,6 +37,7 @@ func TestNewAtomicWriter(t *testing.T) {
 | 
				
			|||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		t.Fatalf("unexpected error creating tmp dir: %v", err)
 | 
							t.Fatalf("unexpected error creating tmp dir: %v", err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						defer os.RemoveAll(targetDir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	_, err = NewAtomicWriter(targetDir, "-test-")
 | 
						_, err = NewAtomicWriter(targetDir, "-test-")
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
@@ -225,6 +226,7 @@ func TestPathsToRemove(t *testing.T) {
 | 
				
			|||||||
			t.Errorf("%v: unexpected error creating tmp dir: %v", tc.name, err)
 | 
								t.Errorf("%v: unexpected error creating tmp dir: %v", tc.name, err)
 | 
				
			||||||
			continue
 | 
								continue
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							defer os.RemoveAll(targetDir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		writer := &AtomicWriter{targetDir: targetDir, logContext: "-test-"}
 | 
							writer := &AtomicWriter{targetDir: targetDir, logContext: "-test-"}
 | 
				
			||||||
		err = writer.Write(tc.payload1)
 | 
							err = writer.Write(tc.payload1)
 | 
				
			||||||
@@ -382,6 +384,7 @@ IAAAAAAAsDyZDwU=`
 | 
				
			|||||||
			t.Errorf("%v: unexpected error creating tmp dir: %v", tc.name, err)
 | 
								t.Errorf("%v: unexpected error creating tmp dir: %v", tc.name, err)
 | 
				
			||||||
			continue
 | 
								continue
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							defer os.RemoveAll(targetDir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		writer := &AtomicWriter{targetDir: targetDir, logContext: "-test-"}
 | 
							writer := &AtomicWriter{targetDir: targetDir, logContext: "-test-"}
 | 
				
			||||||
		err = writer.Write(tc.payload)
 | 
							err = writer.Write(tc.payload)
 | 
				
			||||||
@@ -557,6 +560,7 @@ func TestUpdate(t *testing.T) {
 | 
				
			|||||||
			t.Errorf("%v: unexpected error creating tmp dir: %v", tc.name, err)
 | 
								t.Errorf("%v: unexpected error creating tmp dir: %v", tc.name, err)
 | 
				
			||||||
			continue
 | 
								continue
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							defer os.RemoveAll(targetDir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		writer := &AtomicWriter{targetDir: targetDir, logContext: "-test-"}
 | 
							writer := &AtomicWriter{targetDir: targetDir, logContext: "-test-"}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -724,6 +728,7 @@ func TestMultipleUpdates(t *testing.T) {
 | 
				
			|||||||
			t.Errorf("%v: unexpected error creating tmp dir: %v", tc.name, err)
 | 
								t.Errorf("%v: unexpected error creating tmp dir: %v", tc.name, err)
 | 
				
			||||||
			continue
 | 
								continue
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							defer os.RemoveAll(targetDir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		writer := &AtomicWriter{targetDir: targetDir, logContext: "-test-"}
 | 
							writer := &AtomicWriter{targetDir: targetDir, logContext: "-test-"}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user