Skip to content

Commit 45b744f

Browse files
author
Federico Fissore
committedOct 2, 2015
CollectAllSourceFiles... should ignore .ino files, otherwise it will collect
examples Signed-off-by: Federico Fissore <f.fissore@arduino.cc>
1 parent 1f337cd commit 45b744f

File tree

2 files changed

+38
-3
lines changed

2 files changed

+38
-3
lines changed
 

Diff for: ‎src/arduino.cc/builder/collect_all_source_files_from_folders_with_sources.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ func (s *CollectAllSourceFilesFromFoldersWithSources) Run(context map[string]int
4545
filePaths := []string{}
4646
for !foldersWithSources.Empty() {
4747
checkExtensionFunc := func(ext string) bool {
48-
return MAIN_FILE_VALID_EXTENSIONS[ext] || ADDITIONAL_FILE_VALID_EXTENSIONS_NO_HEADERS[ext]
48+
return ADDITIONAL_FILE_VALID_EXTENSIONS_NO_HEADERS[ext]
4949
}
5050
walkFunc := utils.CollectAllReadableFiles(&filePaths, checkExtensionFunc)
5151
err := gohasissues.Walk(foldersWithSources.Pop().(string), walkFunc)

Diff for: ‎src/arduino.cc/builder/test/collect_all_source_files_from_folders_with_sources_test.go

+37-2
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,44 @@ func TestCollectAllSourceFilesFromFoldersWithSources(t *testing.T) {
5858
NoError(t, err)
5959
}
6060

61-
require.Equal(t, 2, len(*sourceFiles))
61+
require.Equal(t, 1, len(*sourceFiles))
62+
require.Equal(t, 0, len(*foldersWithSources))
6263
sort.Strings(*sourceFiles)
6364

6465
require.Equal(t, Abs(t, filepath.Join("sketch_with_config", "includes", "de bug.cpp")), sourceFiles.Pop())
65-
require.Equal(t, Abs(t, filepath.Join("sketch_with_config", "sketch_with_config.ino")), sourceFiles.Pop())
66+
require.Equal(t, 0, len(*sourceFiles))
67+
}
68+
69+
func TestCollectAllSourceFilesFromFoldersWithSourcesOfLibrary(t *testing.T) {
70+
context := make(map[string]interface{})
71+
72+
sourceFiles := &types.UniqueStringQueue{}
73+
context[constants.CTX_COLLECTED_SOURCE_FILES_QUEUE] = sourceFiles
74+
foldersWithSources := &types.UniqueStringQueue{}
75+
foldersWithSources.Push(Abs(t, filepath.Join("downloaded_libraries", "Bridge")))
76+
context[constants.CTX_FOLDERS_WITH_SOURCES_QUEUE] = foldersWithSources
77+
78+
commands := []types.Command{
79+
&builder.SetupHumanLoggerIfMissing{},
80+
&builder.CollectAllSourceFilesFromFoldersWithSources{},
81+
}
82+
83+
for _, command := range commands {
84+
err := command.Run(context)
85+
NoError(t, err)
86+
}
87+
88+
require.Equal(t, 8, len(*sourceFiles))
89+
require.Equal(t, 0, len(*foldersWithSources))
90+
sort.Strings(*sourceFiles)
91+
92+
require.Equal(t, Abs(t, filepath.Join("downloaded_libraries", "Bridge", "src", "Bridge.cpp")), sourceFiles.Pop())
93+
require.Equal(t, Abs(t, filepath.Join("downloaded_libraries", "Bridge", "src", "Console.cpp")), sourceFiles.Pop())
94+
require.Equal(t, Abs(t, filepath.Join("downloaded_libraries", "Bridge", "src", "FileIO.cpp")), sourceFiles.Pop())
95+
require.Equal(t, Abs(t, filepath.Join("downloaded_libraries", "Bridge", "src", "HttpClient.cpp")), sourceFiles.Pop())
96+
require.Equal(t, Abs(t, filepath.Join("downloaded_libraries", "Bridge", "src", "Mailbox.cpp")), sourceFiles.Pop())
97+
require.Equal(t, Abs(t, filepath.Join("downloaded_libraries", "Bridge", "src", "Process.cpp")), sourceFiles.Pop())
98+
require.Equal(t, Abs(t, filepath.Join("downloaded_libraries", "Bridge", "src", "YunClient.cpp")), sourceFiles.Pop())
99+
require.Equal(t, Abs(t, filepath.Join("downloaded_libraries", "Bridge", "src", "YunServer.cpp")), sourceFiles.Pop())
100+
require.Equal(t, 0, len(*sourceFiles))
66101
}

0 commit comments

Comments
 (0)