@@ -43,7 +43,7 @@ contents:
43
43
}
44
44
}
45
45
46
- func TestDeepPathsWithGlob (t * testing.T ) {
46
+ func TestDeepPathsWithGlobAndUmask (t * testing.T ) {
47
47
var config testStruct
48
48
dec := yaml .NewDecoder (strings .NewReader (`---
49
49
contents:
@@ -52,19 +52,26 @@ contents:
52
52
file_info:
53
53
mode: 0644
54
54
mtime: 2008-01-02T15:04:05Z
55
+ - src: testdata/deep-paths/
56
+ dst: /bla
55
57
` ))
56
58
dec .KnownFields (true )
57
59
err := dec .Decode (& config )
58
60
require .NoError (t , err )
59
- require .Len (t , config .Contents , 1 )
60
- parsedContents , err := files .PrepareForPackager (config .Contents , "" , false )
61
+ require .Len (t , config .Contents , 2 )
62
+ parsedContents , err := files .PrepareForPackager (config .Contents , 0o113 , "" , false )
61
63
require .NoError (t , err )
62
64
for _ , c := range parsedContents {
63
65
switch c .Source {
64
66
case "testdata/globtest/nested/b.txt" :
65
67
require .Equal (t , "/bla/nested/b.txt" , c .Destination )
68
+ require .Equal (t , "-rw-r--r--" , c .Mode ().String ())
66
69
case "testdata/globtest/multi-nested/subdir/c.txt" :
67
70
require .Equal (t , "/bla/multi-nested/subdir/c.txt" , c .Destination )
71
+ require .Equal (t , "-rw-r--r--" , c .Mode ().String ())
72
+ case "testdata/deep-paths/nested1/nested2/a.txt" :
73
+ require .Equal (t , "/bla/nested1/nested2/a.txt" , c .Destination )
74
+ require .Equal (t , "-rw-rw-r--" , c .Mode ().String ())
68
75
}
69
76
}
70
77
}
@@ -80,7 +87,7 @@ contents:
80
87
err := dec .Decode (& config )
81
88
require .NoError (t , err )
82
89
require .Len (t , config .Contents , 1 )
83
- parsedContents , err := files .PrepareForPackager (config .Contents , "" , true )
90
+ parsedContents , err := files .PrepareForPackager (config .Contents , 0 , "" , true )
84
91
require .NoError (t , err )
85
92
present := false
86
93
@@ -110,7 +117,7 @@ contents:
110
117
err := dec .Decode (& config )
111
118
require .NoError (t , err )
112
119
113
- config .Contents , err = files .PrepareForPackager (config .Contents , "" , true )
120
+ config .Contents , err = files .PrepareForPackager (config .Contents , 0 , "" , true )
114
121
require .NoError (t , err )
115
122
require .Len (t , config .Contents , 1 )
116
123
@@ -140,7 +147,7 @@ contents:
140
147
err := dec .Decode (& config )
141
148
require .NoError (t , err )
142
149
143
- config .Contents , err = files .PrepareForPackager (config .Contents , "rpm" , true )
150
+ config .Contents , err = files .PrepareForPackager (config .Contents , 0 , "rpm" , true )
144
151
require .NoError (t , err )
145
152
require .Len (t , config .Contents , 1 )
146
153
@@ -172,7 +179,7 @@ contents:
172
179
err := dec .Decode (& config )
173
180
require .NoError (t , err )
174
181
175
- config .Contents , err = files .PrepareForPackager (config .Contents , "" , true )
182
+ config .Contents , err = files .PrepareForPackager (config .Contents , 0 , "" , true )
176
183
require .NoError (t , err )
177
184
config .Contents = withoutFileInfo (config .Contents )
178
185
@@ -232,7 +239,7 @@ contents:
232
239
wg .Add (1 )
233
240
go func () {
234
241
defer wg .Done ()
235
- _ , err := files .PrepareForPackager (config .Contents , "" , false )
242
+ _ , err := files .PrepareForPackager (config .Contents , 0 , "" , false )
236
243
require .NoError (t , err )
237
244
}()
238
245
}
@@ -246,7 +253,7 @@ func TestCollision(t *testing.T) {
246
253
{Source : "../testdata/whatever2.conf" , Destination : "/samedestination" },
247
254
}
248
255
249
- _ , err := files .PrepareForPackager (configuredFiles , "" , true )
256
+ _ , err := files .PrepareForPackager (configuredFiles , 0 , "" , true )
250
257
require .ErrorIs (t , err , files .ErrContentCollision )
251
258
})
252
259
@@ -256,7 +263,7 @@ func TestCollision(t *testing.T) {
256
263
{Source : "../testdata/whatever2.conf" , Destination : "/samedestination" , Packager : "bar" },
257
264
}
258
265
259
- _ , err := files .PrepareForPackager (configuredFiles , "foo" , true )
266
+ _ , err := files .PrepareForPackager (configuredFiles , 0 , "foo" , true )
260
267
require .NoError (t , err )
261
268
})
262
269
@@ -266,7 +273,7 @@ func TestCollision(t *testing.T) {
266
273
{Source : "../testdata/whatever2.conf" , Destination : "/samedestination" , Packager : "" },
267
274
}
268
275
269
- _ , err := files .PrepareForPackager (configuredFiles , "foo" , true )
276
+ _ , err := files .PrepareForPackager (configuredFiles , 0 , "foo" , true )
270
277
require .ErrorIs (t , err , files .ErrContentCollision )
271
278
})
272
279
}
@@ -297,7 +304,7 @@ func TestDisableGlobbing(t *testing.T) {
297
304
content := testCase
298
305
299
306
t .Run (strconv .Itoa (i ), func (t * testing.T ) {
300
- result , err := files .PrepareForPackager (files.Contents {& content }, "" , disableGlobbing )
307
+ result , err := files .PrepareForPackager (files.Contents {& content }, 0 , "" , disableGlobbing )
301
308
if err != nil {
302
309
t .Fatalf ("expand content globs: %v" , err )
303
310
}
@@ -341,7 +348,7 @@ func TestGlobbingWhenFilesHaveBrackets(t *testing.T) {
341
348
Source : "./testdata/\\ {test\\ }/" ,
342
349
Destination : "." ,
343
350
},
344
- }, "" , false )
351
+ }, 0 , "" , false )
345
352
if err != nil {
346
353
t .Fatalf ("expand content globs: %v" , err )
347
354
}
@@ -382,7 +389,7 @@ func TestGlobbingFilesWithDifferentSizesWithFileInfo(t *testing.T) {
382
389
Mode : 0o777 ,
383
390
},
384
391
},
385
- }, "" , false )
392
+ }, 0 , "" , false )
386
393
if err != nil {
387
394
t .Fatalf ("expand content globs: %v" , err )
388
395
}
@@ -404,7 +411,7 @@ func TestDestEndsWithSlash(t *testing.T) {
404
411
Source : "./testdata/globtest/a.txt" ,
405
412
Destination : "./foo/" ,
406
413
},
407
- }, "" , false )
414
+ }, 0 , "" , false )
408
415
result = withoutImplicitDirs (result )
409
416
require .NoError (t , err )
410
417
require .Len (t , result , 1 )
@@ -421,7 +428,7 @@ contents:
421
428
` ))
422
429
dec .KnownFields (true )
423
430
require .NoError (t , dec .Decode (& config ))
424
- _ , err := files .PrepareForPackager (config .Contents , "" , false )
431
+ _ , err := files .PrepareForPackager (config .Contents , 0 , "" , false )
425
432
require .EqualError (t , err , "invalid content type: filr" )
426
433
}
427
434
@@ -452,7 +459,7 @@ contents:
452
459
` ))
453
460
dec .KnownFields (true )
454
461
require .NoError (t , dec .Decode (& config ))
455
- _ , err := files .PrepareForPackager (config .Contents , "" , false )
462
+ _ , err := files .PrepareForPackager (config .Contents , 0 , "" , false )
456
463
require .NoError (t , err )
457
464
}
458
465
@@ -462,7 +469,7 @@ func TestImplicitDirectories(t *testing.T) {
462
469
Source : "./testdata/globtest/a.txt" ,
463
470
Destination : "./foo/bar/baz" ,
464
471
},
465
- }, "" , false )
472
+ }, 0 , "" , false )
466
473
require .NoError (t , err )
467
474
468
475
expected := files.Contents {
@@ -535,7 +542,7 @@ func TestRelevantFiles(t *testing.T) {
535
542
}
536
543
537
544
t .Run ("deb" , func (t * testing.T ) {
538
- results , err := files .PrepareForPackager (contents , "deb" , false )
545
+ results , err := files .PrepareForPackager (contents , 0 , "deb" , false )
539
546
require .NoError (t , err )
540
547
require .Equal (t , files.Contents {
541
548
{
@@ -558,7 +565,7 @@ func TestRelevantFiles(t *testing.T) {
558
565
})
559
566
560
567
t .Run ("rpm" , func (t * testing.T ) {
561
- results , err := files .PrepareForPackager (contents , "rpm" , false )
568
+ results , err := files .PrepareForPackager (contents , 0 , "rpm" , false )
562
569
require .NoError (t , err )
563
570
require .Equal (t , files.Contents {
564
571
{
@@ -601,7 +608,7 @@ func TestRelevantFiles(t *testing.T) {
601
608
})
602
609
603
610
t .Run ("apk" , func (t * testing.T ) {
604
- results , err := files .PrepareForPackager (contents , "apk" , false )
611
+ results , err := files .PrepareForPackager (contents , 0 , "apk" , false )
605
612
require .NoError (t , err )
606
613
require .Equal (t , files.Contents {
607
614
{
@@ -620,7 +627,7 @@ func TestTree(t *testing.T) {
620
627
Destination : "/base" ,
621
628
Type : files .TypeTree ,
622
629
},
623
- }, "" , false )
630
+ }, 0 , "" , false )
624
631
require .NoError (t , err )
625
632
626
633
require .Equal (t , files.Contents {
0 commit comments