@@ -25,6 +25,17 @@ type quadletTestcase struct {
25
25
checks [][]string
26
26
}
27
27
28
+
29
+ func getGenericTemplateFile (fileName string ) (bool , string ) {
30
+ extension := filepath .Ext (fileName )
31
+ base := strings .TrimSuffix (fileName , extension )
32
+ parts := strings .SplitN (base , "@" , 2 )
33
+ if len (parts ) == 2 && len (parts [1 ]) > 0 {
34
+ return true , parts [0 ] + "@" + extension
35
+ }
36
+ return false , ""
37
+ }
38
+
28
39
func loadQuadletTestcase (path string ) * quadletTestcase {
29
40
data , err := os .ReadFile (path )
30
41
Expect (err ).ToNot (HaveOccurred ())
@@ -724,13 +735,19 @@ BOGUS=foo
724
735
Expect (err ).ToNot (HaveOccurred ())
725
736
726
737
// Also copy any extra snippets
727
- dotdDir := filepath .Join ("quadlet" , fileName + ".d" )
728
- if s , err := os .Stat (dotdDir ); err == nil && s .IsDir () {
729
- dotdDirDest := filepath .Join (quadletDir , fileName + ".d" )
730
- err = os .Mkdir (dotdDirDest , os .ModePerm )
731
- Expect (err ).ToNot (HaveOccurred ())
732
- err = CopyDirectory (dotdDir , dotdDirDest )
733
- Expect (err ).ToNot (HaveOccurred ())
738
+ snippetdirs := []string {fileName + ".d" }
739
+ if ok , genericFileName := getGenericTemplateFile (fileName ); ok {
740
+ snippetdirs = append (snippetdirs , genericFileName + ".d" )
741
+ }
742
+ for _ , snippetdir := range snippetdirs {
743
+ dotdDir := filepath .Join ("quadlet" , snippetdir )
744
+ if s , err := os .Stat (dotdDir ); err == nil && s .IsDir () {
745
+ dotdDirDest := filepath .Join (quadletDir , snippetdir )
746
+ err = os .Mkdir (dotdDirDest , os .ModePerm )
747
+ Expect (err ).ToNot (HaveOccurred ())
748
+ err = CopyDirectory (dotdDir , dotdDirDest )
749
+ Expect (err ).ToNot (HaveOccurred ())
750
+ }
734
751
}
735
752
736
753
// Run quadlet to convert the file
@@ -825,6 +842,8 @@ BOGUS=foo
825
842
Entry ("Container - Containers Conf Modules" , "containersconfmodule.container" , 0 , "" ),
826
843
Entry ("merged.container" , "merged.container" , 0 , "" ),
827
844
Entry ("merged-override.container" , "merged-override.container" , 0 , "" ),
845
+
846
+
828
847
829
848
Entry ("basic.volume" , "basic.volume" , 0 , "" ),
830
849
Entry ("device-copy.volume" , "device-copy.volume" , 0 , "" ),
0 commit comments