@@ -46,18 +46,9 @@ func TestAssetsFromDir(t *testing.T) {
4646 relativePath string
4747 expectedPath string
4848 }{
49- {
50- relativePath : "/dir1/file1.txt" ,
51- expectedPath : vmpath .GuestAddonsDir ,
52- },
53- {
54- relativePath : "/dir1/file2.txt" ,
55- expectedPath : vmpath .GuestAddonsDir ,
56- },
57- {
58- relativePath : "/dir2/file1.txt" ,
59- expectedPath : vmpath .GuestAddonsDir ,
60- },
49+ {relativePath : "/dir1/file1.txt" , expectedPath : vmpath .GuestAddonsDir },
50+ {relativePath : "/dir1/file2.txt" , expectedPath : vmpath .GuestAddonsDir },
51+ {relativePath : "/dir2/file1.txt" , expectedPath : vmpath .GuestAddonsDir },
6152 },
6253 vmPath : vmpath .GuestAddonsDir ,
6354 },
@@ -69,27 +60,18 @@ func TestAssetsFromDir(t *testing.T) {
6960 relativePath string
7061 expectedPath string
7162 }{
72- {
73- relativePath : "/dir1/file1.txt" ,
74- expectedPath : "/dir1" ,
75- },
76- {
77- relativePath : "/dir1/file2.txt" ,
78- expectedPath : "/dir1" ,
79- },
80- {
81- relativePath : "/dir2/file1.txt" ,
82- expectedPath : "/dir2" ,
83- },
63+ {relativePath : "/dir1/file1.txt" , expectedPath : "/dir1" },
64+ {relativePath : "/dir1/file2.txt" , expectedPath : "/dir1" },
65+ {relativePath : "/dir2/file1.txt" , expectedPath : "/dir2" },
8466 },
8567 vmPath : "/" ,
8668 },
8769 }
88- var testDirs = make ([]string , 0 )
70+
71+ var testDirs []string
8972 defer func () {
9073 for _ , testDir := range testDirs {
91- err := os .RemoveAll (testDir )
92- if err != nil {
74+ if err := os .RemoveAll (testDir ); err != nil {
9375 t .Logf ("got unexpected error removing test dir: %v" , err )
9476 }
9577 }
@@ -98,18 +80,16 @@ func TestAssetsFromDir(t *testing.T) {
9880 for _ , test := range tests {
9981 t .Run (test .description , func (t * testing.T ) {
10082 testDir := testutil .MakeTempDir (t )
101-
10283 testDirs = append (testDirs , testDir )
10384 testFileBaseDir := filepath .Join (testDir , test .baseDir )
10485 want := make (map [string ]string )
10586 for _ , fileDef := range test .files {
10687 err := func () error {
10788 path := filepath .Join (testFileBaseDir , fileDef .relativePath )
108- err := os .MkdirAll (filepath .Dir (path ), 0755 )
109- want [path ] = fileDef .expectedPath
110- if err != nil {
89+ if err := os .MkdirAll (filepath .Dir (path ), 0o755 ); err != nil {
11190 return err
11291 }
92+ want [path ] = fileDef .expectedPath
11393
11494 file , err := os .Create (path )
11595 if err != nil {
@@ -122,17 +102,24 @@ func TestAssetsFromDir(t *testing.T) {
122102 return err
123103 }()
124104 if err != nil {
125- t .Errorf ("unable to create file on fs: %v" , err )
126- return
105+ t .Fatalf ("unable to create file on fs: %v" , err )
127106 }
128107 }
129108
130109 actualFiles , err := assetsFromDir (testFileBaseDir , test .vmPath , test .flatten )
131110 if err != nil {
132- t .Errorf ("got unexpected error adding minikube dir assets: %v" , err )
133- return
111+ t .Fatalf ("got unexpected error adding minikube dir assets: %v" , err )
134112 }
135113
114+ // Ensure file descriptors opened by assets.NewFileAsset are released (critical on Windows).
115+ t .Cleanup (func () {
116+ for _ , f := range actualFiles {
117+ if cerr := f .Close (); cerr != nil {
118+ t .Logf ("warning: closing asset %s failed: %v" , f .GetSourcePath (), cerr )
119+ }
120+ }
121+ })
122+
136123 got := make (map [string ]string )
137124 for _ , actualFile := range actualFiles {
138125 got [actualFile .GetSourcePath ()] = actualFile .GetTargetDir ()
0 commit comments