@@ -452,13 +452,18 @@ var _ = Describe("Utils", Label("utils"), func() {
452
452
Expect (utils .CreateDirStructure (fs , "/my/root" )).NotTo (BeNil ())
453
453
})
454
454
})
455
- Describe ("SyncData" , Label ("SyncData" ), func () {
456
- It ("Copies all files from source to target" , func () {
457
- sourceDir , err := utils .TempDir (fs , "" , "elementalsource" )
455
+ Describe ("Rsync tests" , Label ("rsync" ), func () {
456
+ var sourceDir , destDir string
457
+ var err error
458
+
459
+ BeforeEach (func () {
460
+ sourceDir , err = utils .TempDir (fs , "" , "elementalsource" )
458
461
Expect (err ).ShouldNot (HaveOccurred ())
459
- destDir , err : = utils .TempDir (fs , "" , "elementaltarget" )
462
+ destDir , err = utils .TempDir (fs , "" , "elementaltarget" )
460
463
Expect (err ).ShouldNot (HaveOccurred ())
464
+ })
461
465
466
+ It ("Copies all files from source to target" , func () {
462
467
for i := 0 ; i < 5 ; i ++ {
463
468
_ , _ = utils .TempFile (fs , sourceDir , "file*" )
464
469
}
@@ -479,11 +484,6 @@ var _ = Describe("Utils", Label("utils"), func() {
479
484
})
480
485
481
486
It ("Copies all files from source to target respecting excludes" , func () {
482
- sourceDir , err := utils .TempDir (fs , "" , "elementalsource" )
483
- Expect (err ).ShouldNot (HaveOccurred ())
484
- destDir , err := utils .TempDir (fs , "" , "elementaltarget" )
485
- Expect (err ).ShouldNot (HaveOccurred ())
486
-
487
487
utils .MkdirAll (fs , filepath .Join (sourceDir , "host" ), constants .DirPerm )
488
488
utils .MkdirAll (fs , filepath .Join (sourceDir , "run" ), constants .DirPerm )
489
489
@@ -522,11 +522,6 @@ var _ = Describe("Utils", Label("utils"), func() {
522
522
})
523
523
524
524
It ("Copies all files from source to target respecting excludes with '/' prefix" , func () {
525
- sourceDir , err := utils .TempDir (fs , "" , "elementalsource" )
526
- Expect (err ).ShouldNot (HaveOccurred ())
527
- destDir , err := utils .TempDir (fs , "" , "elementaltarget" )
528
- Expect (err ).ShouldNot (HaveOccurred ())
529
-
530
525
utils .MkdirAll (fs , filepath .Join (sourceDir , "host" ), constants .DirPerm )
531
526
utils .MkdirAll (fs , filepath .Join (sourceDir , "run" ), constants .DirPerm )
532
527
utils .MkdirAll (fs , filepath .Join (sourceDir , "var" , "run" ), constants .DirPerm )
@@ -536,40 +531,65 @@ var _ = Describe("Utils", Label("utils"), func() {
536
531
537
532
filesDest , err := fs .ReadDir (destDir )
538
533
Expect (err ).To (BeNil ())
539
-
540
534
destNames := getNamesFromListFiles (filesDest )
541
535
542
536
filesSource , err := fs .ReadDir (sourceDir )
543
537
Expect (err ).To (BeNil ())
544
-
545
- SourceNames := getNamesFromListFiles (filesSource )
538
+ sourceNames := getNamesFromListFiles (filesSource )
546
539
547
540
// Shouldn't be the same
548
- Expect (destNames ).ToNot (Equal (SourceNames ))
541
+ Expect (destNames ).ToNot (Equal (sourceNames ))
549
542
550
543
Expect (utils .Exists (fs , filepath .Join (destDir , "var" , "run" ))).To (BeTrue ())
551
544
Expect (utils .Exists (fs , filepath .Join (destDir , "tmp" , "host" ))).To (BeTrue ())
552
545
Expect (utils .Exists (fs , filepath .Join (destDir , "host" ))).To (BeFalse ())
553
546
Expect (utils .Exists (fs , filepath .Join (destDir , "run" ))).To (BeFalse ())
554
547
})
555
548
549
+ It ("Copies all files from source to target respecting excludes with wildcards" , func () {
550
+ utils .MkdirAll (fs , filepath .Join (sourceDir , "run" ), constants .DirPerm )
551
+ utils .MkdirAll (fs , filepath .Join (sourceDir , "var" , "run" ), constants .DirPerm )
552
+ Expect (fs .WriteFile (filepath .Join (sourceDir , "run" , "testfile" ), []byte {}, constants .DirPerm )).To (Succeed ())
553
+
554
+ Expect (utils .SyncData (logger , realRunner , fs , sourceDir , destDir , "/run/*" )).To (BeNil ())
555
+
556
+ Expect (utils .Exists (fs , filepath .Join (destDir , "var" , "run" ))).To (BeTrue ())
557
+ Expect (utils .Exists (fs , filepath .Join (destDir , "run" ))).To (BeTrue ())
558
+ Expect (utils .Exists (fs , filepath .Join (destDir , "run" , "testfile" ))).To (BeFalse ())
559
+ })
560
+
561
+ It ("Mirrors all files from source to destination deleting pre-existing files in destination if needed" , func () {
562
+ utils .MkdirAll (fs , filepath .Join (sourceDir , "run" ), constants .DirPerm )
563
+ utils .MkdirAll (fs , filepath .Join (sourceDir , "var" , "run" ), constants .DirPerm )
564
+ Expect (fs .WriteFile (filepath .Join (sourceDir , "run" , "testfile" ), []byte {}, constants .DirPerm )).To (Succeed ())
565
+ Expect (fs .WriteFile (filepath .Join (destDir , "testfile" ), []byte {}, constants .DirPerm )).To (Succeed ())
566
+
567
+ Expect (utils .MirrorData (logger , realRunner , fs , sourceDir , destDir )).To (BeNil ())
568
+
569
+ filesDest , err := fs .ReadDir (destDir )
570
+ Expect (err ).To (BeNil ())
571
+ destNames := getNamesFromListFiles (filesDest )
572
+
573
+ filesSource , err := fs .ReadDir (sourceDir )
574
+ Expect (err ).To (BeNil ())
575
+ sourceNames := getNamesFromListFiles (filesSource )
576
+
577
+ // Should be the same
578
+ Expect (destNames ).To (Equal (sourceNames ))
579
+
580
+ // pre-exising file in destination deleted if this is not part of source
581
+ Expect (utils .Exists (fs , filepath .Join (destDir , "testfile" ))).To (BeFalse ())
582
+ })
583
+
556
584
It ("should not fail if dirs are empty" , func () {
557
- sourceDir , err := utils .TempDir (fs , "" , "elementalsource" )
558
- Expect (err ).ShouldNot (HaveOccurred ())
559
- destDir , err := utils .TempDir (fs , "" , "elementaltarget" )
560
- Expect (err ).ShouldNot (HaveOccurred ())
561
585
Expect (utils .SyncData (logger , realRunner , fs , sourceDir , destDir )).To (BeNil ())
562
586
})
563
587
It ("should fail if destination does not exist" , func () {
564
- sourceDir , err := os .MkdirTemp ("" , "elemental" )
565
- Expect (err ).To (BeNil ())
566
- defer os .RemoveAll (sourceDir )
588
+ fs .RemoveAll (destDir )
567
589
Expect (utils .SyncData (logger , realRunner , nil , sourceDir , "/welp" )).NotTo (BeNil ())
568
590
})
569
591
It ("should fail if source does not exist" , func () {
570
- destDir , err := os .MkdirTemp ("" , "elemental" )
571
- Expect (err ).To (BeNil ())
572
- defer os .RemoveAll (destDir )
592
+ fs .RemoveAll (sourceDir )
573
593
Expect (utils .SyncData (logger , realRunner , nil , "/welp" , destDir )).NotTo (BeNil ())
574
594
})
575
595
})
@@ -948,6 +968,30 @@ var _ = Describe("Utils", Label("utils"), func() {
948
968
})).To (BeNil ())
949
969
Expect (err ).ToNot (HaveOccurred ())
950
970
})
971
+ It ("ignores any '-e' option" , func () {
972
+ args := append (constants .GetDefaultSquashfsCompressionOptions (), "-e /some/path" )
973
+ err := utils .CreateSquashFS (runner , logger , "source" , "dest" , args )
974
+ cmd := []string {"mksquashfs" , "source" , "dest" }
975
+ cmd = append (cmd , constants .GetDefaultSquashfsCompressionOptions ()... )
976
+ Expect (runner .IncludesCmds ([][]string {
977
+ cmd ,
978
+ })).To (BeNil ())
979
+ Expect (err ).ToNot (HaveOccurred ())
980
+ })
981
+ It ("excludes given paths" , func () {
982
+
983
+ err := utils .CreateSquashFS (
984
+ runner , logger , "source" , "dest" , constants .GetDefaultSquashfsCompressionOptions (),
985
+ "some/path" , "another/path" ,
986
+ )
987
+ cmd := []string {"mksquashfs" , "source" , "dest" }
988
+ cmd = append (cmd , constants .GetDefaultSquashfsCompressionOptions ()... )
989
+ cmd = append (cmd , "-wildcards" , "-e" , "some/path" , "another/path" )
990
+ Expect (runner .IncludesCmds ([][]string {
991
+ cmd ,
992
+ })).To (Succeed ())
993
+ Expect (err ).ToNot (HaveOccurred ())
994
+ })
951
995
It ("returns an error if it fails" , func () {
952
996
runner .ReturnError = errors .New ("error" )
953
997
err := utils .CreateSquashFS (runner , logger , "source" , "dest" , []string {})
0 commit comments