@@ -81,11 +81,18 @@ func TestExecuteCopyOperation(t *testing.T) {
8181 t .Run ("absolute file to absolute file" , func (t * testing.T ) {
8282 require := require .New (t )
8383
84+ srcRoot , err := ioutil .TempDir ("/tmp" , "makisu-test" )
85+ require .NoError (err )
86+ defer os .RemoveAll (srcRoot )
87+ workDir , err := ioutil .TempDir ("/tmp" , "makisu-test" )
88+ require .NoError (err )
89+ defer os .RemoveAll (workDir )
90+
91+ require .NoError (ioutil .WriteFile (filepath .Join (srcRoot , "/test.txt" ), _hello , os .ModePerm ))
92+ require .NoError (os .Chown (filepath .Join (srcRoot , "/test.txt" ), testutil .CurrUID (), testutil .CurrGID ()))
93+
8494 srcs := []string {"/test.txt" }
85- require .NoError (ioutil .WriteFile (filepath .Join (tmpRoot1 , "/test.txt" ), _hello , os .ModePerm ))
86- require .NoError (os .Chown (filepath .Join (tmpRoot1 , "/test.txt" ), testutil .CurrUID (), testutil .CurrGID ()))
87- srcRoot := tmpRoot1
88- dst := filepath .Join (tmpRoot2 , "test2/test.txt" )
95+ dst := filepath .Join (workDir , "test2/test.txt" )
8996 c , err := NewCopyOperation (
9097 srcs , srcRoot , "" , dst , validChown , pathutils .DefaultBlacklist , false , true )
9198 require .NoError (err )
@@ -94,129 +101,148 @@ func TestExecuteCopyOperation(t *testing.T) {
94101 require .NoError (err )
95102 require .Equal (_hello , b )
96103 })
97- removeAllChildren (tmpRoot1 , nil )
98- removeAllChildren (tmpRoot2 , nil )
99104
100105 t .Run ("absolute file to relative file" , func (t * testing.T ) {
101106 require := require .New (t )
102107
108+ srcRoot , err := ioutil .TempDir ("/tmp" , "makisu-test" )
109+ require .NoError (err )
110+ defer os .RemoveAll (srcRoot )
111+ workDir , err := ioutil .TempDir ("/tmp" , "makisu-test" )
112+ require .NoError (err )
113+ defer os .RemoveAll (workDir )
114+
115+ require .NoError (ioutil .WriteFile (filepath .Join (srcRoot , "test.txt" ), _hello , os .ModePerm ))
116+ require .NoError (os .Chown (filepath .Join (srcRoot , "/test.txt" ), testutil .CurrUID (), testutil .CurrGID ()))
117+
103118 srcs := []string {"/test.txt" }
104- require .NoError (ioutil .WriteFile (filepath .Join (tmpRoot1 , "test.txt" ), _hello , os .ModePerm ))
105- require .NoError (os .Chown (filepath .Join (tmpRoot1 , "/test.txt" ), testutil .CurrUID (), testutil .CurrGID ()))
106- srcRoot := tmpRoot1
107- workDir := tmpRoot2
108119 dst := "test2/test.txt"
109120 c , err := NewCopyOperation (
110121 srcs , srcRoot , workDir , dst , validChown , pathutils .DefaultBlacklist , false , false )
111122 require .NoError (err )
112123 require .NoError (c .Execute ())
113- b , err := ioutil .ReadFile (filepath .Join (tmpRoot2 , dst ))
124+ b , err := ioutil .ReadFile (filepath .Join (workDir , dst ))
114125 require .NoError (err )
115126 require .Equal (_hello , b )
116127 })
117- removeAllChildren (tmpRoot1 , nil )
118- removeAllChildren (tmpRoot2 , nil )
119128
120129 t .Run ("absolute files to absolute dir" , func (t * testing.T ) {
121130 require := require .New (t )
122131
132+ srcRoot , err := ioutil .TempDir ("/tmp" , "makisu-test" )
133+ require .NoError (err )
134+ defer os .RemoveAll (srcRoot )
135+ workDir , err := ioutil .TempDir ("/tmp" , "makisu-test" )
136+ require .NoError (err )
137+ defer os .RemoveAll (workDir )
138+
139+ require .NoError (ioutil .WriteFile (filepath .Join (srcRoot , "test.txt" ), _hello , os .ModePerm ))
140+ require .NoError (os .Chown (filepath .Join (srcRoot , "test.txt" ), testutil .CurrUID (), testutil .CurrGID ()))
141+ require .NoError (ioutil .WriteFile (filepath .Join (srcRoot , "test2.txt" ), _hello2 , os .ModePerm ))
142+ require .NoError (os .Chown (filepath .Join (srcRoot , "test2.txt" ), testutil .CurrUID (), testutil .CurrGID ()))
143+
123144 srcs := []string {"/test.txt" , "/test2.txt" }
124- require .NoError (ioutil .WriteFile (filepath .Join (tmpRoot1 , "test.txt" ), _hello , os .ModePerm ))
125- require .NoError (os .Chown (filepath .Join (tmpRoot1 , "test.txt" ), testutil .CurrUID (), testutil .CurrGID ()))
126- require .NoError (ioutil .WriteFile (filepath .Join (tmpRoot1 , "test2.txt" ), _hello2 , os .ModePerm ))
127- require .NoError (os .Chown (filepath .Join (tmpRoot1 , "test2.txt" ), testutil .CurrUID (), testutil .CurrGID ()))
128- srcRoot := tmpRoot1
129- workDir := tmpRoot2
130145 dst := "test2/"
131146 c , err := NewCopyOperation (
132147 srcs , srcRoot , workDir , dst , validChown , pathutils .DefaultBlacklist , false , false )
133148 require .NoError (err )
134149 require .NoError (c .Execute ())
135- b , err := ioutil .ReadFile (filepath .Join (tmpRoot2 , dst , "test.txt" ))
150+ b , err := ioutil .ReadFile (filepath .Join (workDir , dst , "test.txt" ))
136151 require .NoError (err )
137152 require .Equal (_hello , b )
138- b , err = ioutil .ReadFile (filepath .Join (tmpRoot2 , dst , "test2.txt" ))
153+ b , err = ioutil .ReadFile (filepath .Join (workDir , dst , "test2.txt" ))
139154 require .NoError (err )
140155 require .Equal (_hello2 , b )
141156 })
142- removeAllChildren (tmpRoot1 , nil )
143- removeAllChildren (tmpRoot2 , nil )
144157
145158 t .Run ("absolute files to relative dir" , func (t * testing.T ) {
146159 require := require .New (t )
147160
161+ srcRoot , err := ioutil .TempDir ("/tmp" , "makisu-test" )
162+ require .NoError (err )
163+ defer os .RemoveAll (srcRoot )
164+ workDir , err := ioutil .TempDir ("/tmp" , "makisu-test" )
165+ require .NoError (err )
166+ defer os .RemoveAll (workDir )
167+
168+ require .NoError (ioutil .WriteFile (filepath .Join (srcRoot , "test.txt" ), _hello , os .ModePerm ))
169+ require .NoError (os .Chown (filepath .Join (srcRoot , "test.txt" ), testutil .CurrUID (), testutil .CurrGID ()))
170+ require .NoError (ioutil .WriteFile (filepath .Join (srcRoot , "test2.txt" ), _hello2 , os .ModePerm ))
171+ require .NoError (os .Chown (filepath .Join (srcRoot , "test2.txt" ), testutil .CurrUID (), testutil .CurrGID ()))
172+
148173 srcs := []string {"/test.txt" , "/test2.txt" }
149- require .NoError (ioutil .WriteFile (filepath .Join (tmpRoot1 , "test.txt" ), _hello , os .ModePerm ))
150- require .NoError (os .Chown (filepath .Join (tmpRoot1 , "test.txt" ), testutil .CurrUID (), testutil .CurrGID ()))
151- require .NoError (ioutil .WriteFile (filepath .Join (tmpRoot1 , "test2.txt" ), _hello2 , os .ModePerm ))
152- require .NoError (os .Chown (filepath .Join (tmpRoot1 , "test2.txt" ), testutil .CurrUID (), testutil .CurrGID ()))
153- srcRoot := tmpRoot1
154- workDir := filepath .Join (tmpRoot2 , "test2" )
174+ workDir = filepath .Join (workDir , "test2" )
155175 dst := "."
156176 c , err := NewCopyOperation (
157177 srcs , srcRoot , workDir , dst , validChown , pathutils .DefaultBlacklist , false , true )
158178 require .NoError (err )
159179 require .NoError (c .Execute ())
160- b , err := ioutil .ReadFile (filepath .Join (tmpRoot2 , "test2" , "test.txt" ))
180+ b , err := ioutil .ReadFile (filepath .Join (workDir , "test.txt" ))
161181 require .NoError (err )
162182 require .Equal (_hello , b )
163- b , err = ioutil .ReadFile (filepath .Join (tmpRoot2 , "test2" , "test2.txt" ))
183+ b , err = ioutil .ReadFile (filepath .Join (workDir , "test2.txt" ))
164184 require .NoError (err )
165185 require .Equal (_hello2 , b )
166186 })
167- removeAllChildren (tmpRoot1 , nil )
168- removeAllChildren (tmpRoot2 , nil )
169187
170188 t .Run ("absolute dirs to relative dir" , func (t * testing.T ) {
171189 require := require .New (t )
172190
191+ srcRoot , err := ioutil .TempDir ("/tmp" , "makisu-test" )
192+ require .NoError (err )
193+ defer os .RemoveAll (srcRoot )
194+ workDir , err := ioutil .TempDir ("/tmp" , "makisu-test" )
195+ require .NoError (err )
196+ defer os .RemoveAll (workDir )
197+
198+ require .NoError (os .MkdirAll (filepath .Join (srcRoot , "test" ), os .ModePerm ))
199+ require .NoError (os .MkdirAll (filepath .Join (srcRoot , "test2" ), os .ModePerm ))
200+ require .NoError (ioutil .WriteFile (filepath .Join (srcRoot , "test" , "test.txt" ), _hello , os .ModePerm ))
201+ require .NoError (os .Chown (filepath .Join (srcRoot , "test" , "test.txt" ), testutil .CurrUID (), testutil .CurrGID ()))
202+ require .NoError (ioutil .WriteFile (filepath .Join (srcRoot , "test2" , "test2.txt" ), _hello2 , os .ModePerm ))
203+ require .NoError (os .Chown (filepath .Join (srcRoot , "test2" , "test2.txt" ), testutil .CurrUID (), testutil .CurrGID ()))
204+
173205 srcs := []string {"/test/" , "/test2/" }
174- require .NoError (os .MkdirAll (filepath .Join (tmpRoot1 , "test" ), os .ModePerm ))
175- require .NoError (os .MkdirAll (filepath .Join (tmpRoot1 , "test2" ), os .ModePerm ))
176- require .NoError (ioutil .WriteFile (filepath .Join (tmpRoot1 , "test" , "test.txt" ), _hello , os .ModePerm ))
177- require .NoError (os .Chown (filepath .Join (tmpRoot1 , "test" , "test.txt" ), testutil .CurrUID (), testutil .CurrGID ()))
178- require .NoError (ioutil .WriteFile (filepath .Join (tmpRoot1 , "test2" , "test2.txt" ), _hello2 , os .ModePerm ))
179- require .NoError (os .Chown (filepath .Join (tmpRoot1 , "test2" , "test2.txt" ), testutil .CurrUID (), testutil .CurrGID ()))
180- srcRoot := tmpRoot1
181- workDir := tmpRoot2
182206 dst := "test2/"
183207 c , err := NewCopyOperation (
184208 srcs , srcRoot , workDir , dst , validChown , pathutils .DefaultBlacklist , false , false )
185209 require .NoError (err )
186210 require .NoError (c .Execute ())
187- b , err := ioutil .ReadFile (filepath .Join (tmpRoot2 , dst , "test.txt" ))
211+ b , err := ioutil .ReadFile (filepath .Join (workDir , dst , "test.txt" ))
188212 require .NoError (err )
189213 require .Equal (_hello , b )
190- b , err = ioutil .ReadFile (filepath .Join (tmpRoot2 , dst , "test2.txt" ))
214+ b , err = ioutil .ReadFile (filepath .Join (workDir , dst , "test2.txt" ))
191215 require .NoError (err )
192216 require .Equal (_hello2 , b )
193217 })
194- removeAllChildren (tmpRoot1 , nil )
195- removeAllChildren (tmpRoot2 , nil )
196218
197219 t .Run ("absolute dir and file to relative dir" , func (t * testing.T ) {
198220 require := require .New (t )
199221
222+ srcRoot , err := ioutil .TempDir ("/tmp" , "makisu-test" )
223+ require .NoError (err )
224+ defer os .RemoveAll (srcRoot )
225+ workDir , err := ioutil .TempDir ("/tmp" , "makisu-test" )
226+ require .NoError (err )
227+ defer os .RemoveAll (workDir )
228+
229+ require .NoError (os .MkdirAll (filepath .Join (srcRoot , "test" ), os .ModePerm ))
230+ require .NoError (ioutil .WriteFile (filepath .Join (srcRoot , "test" , "test.txt" ), _hello , os .ModePerm ))
231+ require .NoError (os .Chown (filepath .Join (srcRoot , "test" , "test.txt" ), testutil .CurrUID (), testutil .CurrGID ()))
232+ require .NoError (ioutil .WriteFile (filepath .Join (srcRoot , "test2.txt" ), _hello2 , os .ModePerm ))
233+ require .NoError (os .Chown (filepath .Join (srcRoot , "test2.txt" ), testutil .CurrUID (), testutil .CurrGID ()))
234+
200235 srcs := []string {"/test/" , "/test2.txt" }
201- require .NoError (os .MkdirAll (filepath .Join (tmpRoot1 , "test" ), os .ModePerm ))
202- require .NoError (ioutil .WriteFile (filepath .Join (tmpRoot1 , "test" , "test.txt" ), _hello , os .ModePerm ))
203- require .NoError (os .Chown (filepath .Join (tmpRoot1 , "test" , "test.txt" ), testutil .CurrUID (), testutil .CurrGID ()))
204- require .NoError (ioutil .WriteFile (filepath .Join (tmpRoot1 , "test2.txt" ), _hello2 , os .ModePerm ))
205- require .NoError (os .Chown (filepath .Join (tmpRoot1 , "test2.txt" ), testutil .CurrUID (), testutil .CurrGID ()))
206- srcRoot := tmpRoot1
207- workDir := tmpRoot2
208236 dst := "test2/"
209237 c , err := NewCopyOperation (
210238 srcs , srcRoot , workDir , dst , validChown , pathutils .DefaultBlacklist , false , false )
211239 require .NoError (err )
212240 require .NoError (c .Execute ())
213- b , err := ioutil .ReadFile (filepath .Join (tmpRoot2 , dst , "test.txt" ))
241+ b , err := ioutil .ReadFile (filepath .Join (workDir , dst , "test.txt" ))
214242 require .NoError (err )
215243 require .Equal (_hello , b )
216- b , err = ioutil .ReadFile (filepath .Join (tmpRoot2 , dst , "test2.txt" ))
244+ b , err = ioutil .ReadFile (filepath .Join (workDir , dst , "test2.txt" ))
217245 require .NoError (err )
218246 require .Equal (_hello2 , b )
219247 })
220- removeAllChildren (tmpRoot1 , nil )
221- removeAllChildren (tmpRoot2 , nil )
222248}
0 commit comments