@@ -44,8 +44,8 @@ func TestCollectAllSourceFilesFromFoldersWithSources(t *testing.T) {
44
44
45
45
sourceFiles := & types.UniqueStringQueue {}
46
46
context [constants .CTX_COLLECTED_SOURCE_FILES_QUEUE ] = sourceFiles
47
- foldersWithSources := & types.UniqueStringQueue {}
48
- foldersWithSources .Push (Abs (t , "sketch_with_config" ))
47
+ foldersWithSources := & types.UniqueSourceFolderQueue {}
48
+ foldersWithSources .Push (types. SourceFolder { Folder : Abs (t , "sketch_with_config" ), Recurse : true } )
49
49
context [constants .CTX_FOLDERS_WITH_SOURCES_QUEUE ] = foldersWithSources
50
50
51
51
commands := []types.Command {
@@ -71,8 +71,8 @@ func TestCollectAllSourceFilesFromFoldersWithSourcesOfLibrary(t *testing.T) {
71
71
72
72
sourceFiles := & types.UniqueStringQueue {}
73
73
context [constants .CTX_COLLECTED_SOURCE_FILES_QUEUE ] = sourceFiles
74
- foldersWithSources := & types.UniqueStringQueue {}
75
- foldersWithSources .Push (Abs (t , filepath .Join ("downloaded_libraries" , "Bridge" )))
74
+ foldersWithSources := & types.UniqueSourceFolderQueue {}
75
+ foldersWithSources .Push (types. SourceFolder { Folder : Abs (t , filepath .Join ("downloaded_libraries" , "Bridge" )), Recurse : true } )
76
76
context [constants .CTX_FOLDERS_WITH_SOURCES_QUEUE ] = foldersWithSources
77
77
78
78
commands := []types.Command {
@@ -100,3 +100,33 @@ func TestCollectAllSourceFilesFromFoldersWithSourcesOfLibrary(t *testing.T) {
100
100
require .Equal (t , Abs (t , filepath .Join ("downloaded_libraries" , "Bridge" , "src" , "Process.cpp" )), sourceFiles .Pop ())
101
101
require .Equal (t , 0 , len (* sourceFiles ))
102
102
}
103
+
104
+ func TestCollectAllSourceFilesFromFoldersWithSourcesOfOldLibrary (t * testing.T ) {
105
+ context := make (map [string ]interface {})
106
+
107
+ sourceFiles := & types.UniqueStringQueue {}
108
+ context [constants .CTX_COLLECTED_SOURCE_FILES_QUEUE ] = sourceFiles
109
+ foldersWithSources := & types.UniqueSourceFolderQueue {}
110
+ foldersWithSources .Push (types.SourceFolder {Folder : Abs (t , filepath .Join ("libraries" , "ShouldNotRecurseWithOldLibs" )), Recurse : false })
111
+ foldersWithSources .Push (types.SourceFolder {Folder : Abs (t , filepath .Join ("libraries" , "ShouldNotRecurseWithOldLibs" , "utility" )), Recurse : false })
112
+ foldersWithSources .Push (types.SourceFolder {Folder : Abs (t , "non existent folder" ), Recurse : false })
113
+ context [constants .CTX_FOLDERS_WITH_SOURCES_QUEUE ] = foldersWithSources
114
+
115
+ commands := []types.Command {
116
+ & builder.SetupHumanLoggerIfMissing {},
117
+ & builder.CollectAllSourceFilesFromFoldersWithSources {},
118
+ }
119
+
120
+ for _ , command := range commands {
121
+ err := command .Run (context )
122
+ NoError (t , err )
123
+ }
124
+
125
+ require .Equal (t , 2 , len (* sourceFiles ))
126
+ require .Equal (t , 0 , len (* foldersWithSources ))
127
+ sort .Strings (* sourceFiles )
128
+
129
+ require .Equal (t , Abs (t , filepath .Join ("libraries" , "ShouldNotRecurseWithOldLibs" , "ShouldNotRecurseWithOldLibs.cpp" )), sourceFiles .Pop ())
130
+ require .Equal (t , Abs (t , filepath .Join ("libraries" , "ShouldNotRecurseWithOldLibs" , "utility" , "utils.cpp" )), sourceFiles .Pop ())
131
+ require .Equal (t , 0 , len (* sourceFiles ))
132
+ }
0 commit comments