Skip to content

Commit 7b5a030

Browse files
alessio-peruginicmaglie
authored andcommitted
use detector FindIncludes in tests
1 parent 7be50aa commit 7b5a030

8 files changed

+393
-74
lines changed

Diff for: legacy/builder/builder.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ func RunPreprocess(ctx *types.Context) error {
223223

224224
func findIncludes(ctx *types.Context) types.BareCommand {
225225
return types.BareCommand(func(ctx *types.Context) error {
226-
ctx.SketchLibrariesDetector.FindIncludes(
226+
return ctx.SketchLibrariesDetector.FindIncludes(
227227
ctx.BuildPath,
228228
ctx.BuildProperties.GetPath("build.core.path"),
229229
ctx.BuildProperties.GetPath("build.variant.path"),
@@ -233,6 +233,5 @@ func findIncludes(ctx *types.Context) types.BareCommand {
233233
ctx.BuildProperties,
234234
ctx.TargetPlatform.Platform.Architecture,
235235
)
236-
return nil
237236
})
238237
}

Diff for: legacy/builder/test/builder_test.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"time"
2424

2525
bldr "github.com/arduino/arduino-cli/arduino/builder"
26+
"github.com/arduino/arduino-cli/arduino/builder/detector"
2627
"github.com/arduino/arduino-cli/arduino/cores/packagemanager"
2728
"github.com/arduino/arduino-cli/arduino/sketch"
2829
"github.com/arduino/arduino-cli/legacy/builder"
@@ -127,14 +128,14 @@ func prepareBuilderTestContext(t *testing.T, ctx *types.Context, sketchPath *pat
127128
}
128129

129130
if !stepToSkip[skipLibraries] {
130-
lm, libsResolver, _, err := bldr.LibrariesLoader(
131+
lm, libsResolver, _, err := detector.LibrariesLoader(
131132
false, nil,
132133
ctx.BuiltInLibrariesDirs, ctx.LibraryDirs, ctx.OtherLibrariesDirs,
133134
ctx.ActualPlatform, ctx.TargetPlatform,
134135
)
135136
NoError(t, err)
136137

137-
ctx.SketchLibrariesDetector = bldr.NewSketchLibrariesDetector(
138+
ctx.SketchLibrariesDetector = detector.NewSketchLibrariesDetector(
138139
lm, libsResolver,
139140
ctx.Verbose,
140141
false,

Diff for: legacy/builder/test/builder_utils_test.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020
"testing"
2121
"time"
2222

23-
"github.com/arduino/arduino-cli/legacy/builder/builder_utils"
23+
"github.com/arduino/arduino-cli/arduino/builder/utils"
2424
paths "github.com/arduino/go-paths-helper"
2525
"github.com/stretchr/testify/require"
2626
)
@@ -42,7 +42,7 @@ func TestObjFileIsUpToDateObjMissing(t *testing.T) {
4242
sourceFile := tempFile(t, "source")
4343
defer sourceFile.RemoveAll()
4444

45-
upToDate, err := builder_utils.ObjFileIsUpToDate(sourceFile, nil, nil)
45+
upToDate, err := utils.ObjFileIsUpToDate(sourceFile, nil, nil)
4646
NoError(t, err)
4747
require.False(t, upToDate)
4848
}
@@ -54,7 +54,7 @@ func TestObjFileIsUpToDateDepMissing(t *testing.T) {
5454
objFile := tempFile(t, "obj")
5555
defer objFile.RemoveAll()
5656

57-
upToDate, err := builder_utils.ObjFileIsUpToDate(sourceFile, objFile, nil)
57+
upToDate, err := utils.ObjFileIsUpToDate(sourceFile, objFile, nil)
5858
NoError(t, err)
5959
require.False(t, upToDate)
6060
}
@@ -70,7 +70,7 @@ func TestObjFileIsUpToDateObjOlder(t *testing.T) {
7070
sourceFile := tempFile(t, "source")
7171
defer sourceFile.RemoveAll()
7272

73-
upToDate, err := builder_utils.ObjFileIsUpToDate(sourceFile, objFile, depFile)
73+
upToDate, err := utils.ObjFileIsUpToDate(sourceFile, objFile, depFile)
7474
NoError(t, err)
7575
require.False(t, upToDate)
7676
}
@@ -86,7 +86,7 @@ func TestObjFileIsUpToDateObjNewer(t *testing.T) {
8686
depFile := tempFile(t, "dep")
8787
defer depFile.RemoveAll()
8888

89-
upToDate, err := builder_utils.ObjFileIsUpToDate(sourceFile, objFile, depFile)
89+
upToDate, err := utils.ObjFileIsUpToDate(sourceFile, objFile, depFile)
9090
NoError(t, err)
9191
require.True(t, upToDate)
9292
}
@@ -110,7 +110,7 @@ func TestObjFileIsUpToDateDepIsNewer(t *testing.T) {
110110
data := objFile.String() + ": \\\n\t" + sourceFile.String() + " \\\n\t" + headerFile.String()
111111
depFile.WriteFile([]byte(data))
112112

113-
upToDate, err := builder_utils.ObjFileIsUpToDate(sourceFile, objFile, depFile)
113+
upToDate, err := utils.ObjFileIsUpToDate(sourceFile, objFile, depFile)
114114
NoError(t, err)
115115
require.False(t, upToDate)
116116
}
@@ -132,7 +132,7 @@ func TestObjFileIsUpToDateDepIsOlder(t *testing.T) {
132132
res := objFile.String() + ": \\\n\t" + sourceFile.String() + " \\\n\t" + headerFile.String()
133133
depFile.WriteFile([]byte(res))
134134

135-
upToDate, err := builder_utils.ObjFileIsUpToDate(sourceFile, objFile, depFile)
135+
upToDate, err := utils.ObjFileIsUpToDate(sourceFile, objFile, depFile)
136136
NoError(t, err)
137137
require.True(t, upToDate)
138138
}
@@ -156,7 +156,7 @@ func TestObjFileIsUpToDateDepIsWrong(t *testing.T) {
156156
res := sourceFile.String() + ": \\\n\t" + sourceFile.String() + " \\\n\t" + headerFile.String()
157157
depFile.WriteFile([]byte(res))
158158

159-
upToDate, err := builder_utils.ObjFileIsUpToDate(sourceFile, objFile, depFile)
159+
upToDate, err := utils.ObjFileIsUpToDate(sourceFile, objFile, depFile)
160160
NoError(t, err)
161161
require.False(t, upToDate)
162162
}

Diff for: legacy/builder/test/includes_finder_with_regexp_test.go

+7-7
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ package test
1818
import (
1919
"testing"
2020

21-
"github.com/arduino/arduino-cli/legacy/builder"
21+
"github.com/arduino/arduino-cli/arduino/builder/detector"
2222
"github.com/stretchr/testify/require"
2323
)
2424

@@ -27,13 +27,13 @@ func TestIncludesFinderWithRegExp(t *testing.T) {
2727
"#include <SPI.h>\n" +
2828
"^\n" +
2929
"compilation terminated."
30-
include := builder.IncludesFinderWithRegExp(output)
30+
include := detector.IncludesFinderWithRegExp(output)
3131

3232
require.Equal(t, "SPI.h", include)
3333
}
3434

3535
func TestIncludesFinderWithRegExpEmptyOutput(t *testing.T) {
36-
include := builder.IncludesFinderWithRegExp("")
36+
include := detector.IncludesFinderWithRegExp("")
3737

3838
require.Equal(t, "", include)
3939
}
@@ -43,7 +43,7 @@ func TestIncludesFinderWithRegExpPaddedIncludes(t *testing.T) {
4343
" # include <Wire.h>\n" +
4444
" ^\n" +
4545
"compilation terminated.\n"
46-
include := builder.IncludesFinderWithRegExp(output)
46+
include := detector.IncludesFinderWithRegExp(output)
4747

4848
require.Equal(t, "Wire.h", include)
4949
}
@@ -53,7 +53,7 @@ func TestIncludesFinderWithRegExpPaddedIncludes2(t *testing.T) {
5353
" #\t\t\tinclude <Wire.h>\n" +
5454
" ^\n" +
5555
"compilation terminated.\n"
56-
include := builder.IncludesFinderWithRegExp(output)
56+
include := detector.IncludesFinderWithRegExp(output)
5757

5858
require.Equal(t, "Wire.h", include)
5959
}
@@ -62,7 +62,7 @@ func TestIncludesFinderWithRegExpPaddedIncludes3(t *testing.T) {
6262
output := "/some/path/sketch.ino:1:33: fatal error: SPI.h: No such file or directory\n" +
6363
"compilation terminated.\n"
6464

65-
include := builder.IncludesFinderWithRegExp(output)
65+
include := detector.IncludesFinderWithRegExp(output)
6666

6767
require.Equal(t, "SPI.h", include)
6868
}
@@ -71,7 +71,7 @@ func TestIncludesFinderWithRegExpPaddedIncludes4(t *testing.T) {
7171
output := "In file included from /tmp/arduino_modified_sketch_815412/binouts.ino:52:0:\n" +
7272
"/tmp/arduino_build_static/sketch/regtable.h:31:22: fatal error: register.h: No such file or directory\n"
7373

74-
include := builder.IncludesFinderWithRegExp(output)
74+
include := detector.IncludesFinderWithRegExp(output)
7575

7676
require.Equal(t, "register.h", include)
7777
}

Diff for: legacy/builder/test/includes_to_include_folders_test.go

+97-9
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import (
2020
"sort"
2121
"testing"
2222

23-
"github.com/arduino/arduino-cli/legacy/builder"
2423
"github.com/arduino/arduino-cli/legacy/builder/types"
2524
paths "github.com/arduino/go-paths-helper"
2625
"github.com/stretchr/testify/require"
@@ -37,7 +36,18 @@ func TestIncludesToIncludeFolders(t *testing.T) {
3736
ctx.LineOffset, _err = ctx.Builder.PrepareSketchBuildPath(ctx.SourceOverride, ctx.SketchBuildPath)
3837
return _err
3938
}),
40-
&builder.ContainerFindIncludes{},
39+
types.BareCommand(func(ctx *types.Context) error {
40+
return ctx.SketchLibrariesDetector.FindIncludes(
41+
ctx.BuildPath,
42+
ctx.BuildProperties.GetPath("build.core.path"),
43+
ctx.BuildProperties.GetPath("build.variant.path"),
44+
ctx.SketchBuildPath,
45+
ctx.Sketch,
46+
ctx.LibrariesBuildPath,
47+
ctx.BuildProperties,
48+
ctx.TargetPlatform.Platform.Architecture,
49+
)
50+
}),
4151
}
4252
for _, command := range commands {
4353
err := command.Run(ctx)
@@ -60,7 +70,18 @@ func TestIncludesToIncludeFoldersSketchWithIfDef(t *testing.T) {
6070
ctx.LineOffset, _err = ctx.Builder.PrepareSketchBuildPath(ctx.SourceOverride, ctx.SketchBuildPath)
6171
return _err
6272
}),
63-
&builder.ContainerFindIncludes{},
73+
types.BareCommand(func(ctx *types.Context) error {
74+
return ctx.SketchLibrariesDetector.FindIncludes(
75+
ctx.BuildPath,
76+
ctx.BuildProperties.GetPath("build.core.path"),
77+
ctx.BuildProperties.GetPath("build.variant.path"),
78+
ctx.SketchBuildPath,
79+
ctx.Sketch,
80+
ctx.LibrariesBuildPath,
81+
ctx.BuildProperties,
82+
ctx.TargetPlatform.Platform.Architecture,
83+
)
84+
}),
6485
}
6586
for _, command := range commands {
6687
err := command.Run(ctx)
@@ -82,7 +103,18 @@ func TestIncludesToIncludeFoldersIRremoteLibrary(t *testing.T) {
82103
ctx.LineOffset, _err = ctx.Builder.PrepareSketchBuildPath(ctx.SourceOverride, ctx.SketchBuildPath)
83104
return _err
84105
}),
85-
&builder.ContainerFindIncludes{},
106+
types.BareCommand(func(ctx *types.Context) error {
107+
return ctx.SketchLibrariesDetector.FindIncludes(
108+
ctx.BuildPath,
109+
ctx.BuildProperties.GetPath("build.core.path"),
110+
ctx.BuildProperties.GetPath("build.variant.path"),
111+
ctx.SketchBuildPath,
112+
ctx.Sketch,
113+
ctx.LibrariesBuildPath,
114+
ctx.BuildProperties,
115+
ctx.TargetPlatform.Platform.Architecture,
116+
)
117+
}),
86118
}
87119
for _, command := range commands {
88120
err := command.Run(ctx)
@@ -107,7 +139,18 @@ func TestIncludesToIncludeFoldersANewLibrary(t *testing.T) {
107139
ctx.LineOffset, _err = ctx.Builder.PrepareSketchBuildPath(ctx.SourceOverride, ctx.SketchBuildPath)
108140
return _err
109141
}),
110-
&builder.ContainerFindIncludes{},
142+
types.BareCommand(func(ctx *types.Context) error {
143+
return ctx.SketchLibrariesDetector.FindIncludes(
144+
ctx.BuildPath,
145+
ctx.BuildProperties.GetPath("build.core.path"),
146+
ctx.BuildProperties.GetPath("build.variant.path"),
147+
ctx.SketchBuildPath,
148+
ctx.Sketch,
149+
ctx.LibrariesBuildPath,
150+
ctx.BuildProperties,
151+
ctx.TargetPlatform.Platform.Architecture,
152+
)
153+
}),
111154
}
112155
for _, command := range commands {
113156
err := command.Run(ctx)
@@ -137,7 +180,18 @@ func TestIncludesToIncludeFoldersDuplicateLibs(t *testing.T) {
137180
ctx.LineOffset, _err = ctx.Builder.PrepareSketchBuildPath(ctx.SourceOverride, ctx.SketchBuildPath)
138181
return _err
139182
}),
140-
&builder.ContainerFindIncludes{},
183+
types.BareCommand(func(ctx *types.Context) error {
184+
return ctx.SketchLibrariesDetector.FindIncludes(
185+
ctx.BuildPath,
186+
ctx.BuildProperties.GetPath("build.core.path"),
187+
ctx.BuildProperties.GetPath("build.variant.path"),
188+
ctx.SketchBuildPath,
189+
ctx.Sketch,
190+
ctx.LibrariesBuildPath,
191+
ctx.BuildProperties,
192+
ctx.TargetPlatform.Platform.Architecture,
193+
)
194+
}),
141195
}
142196
for _, command := range commands {
143197
err := command.Run(ctx)
@@ -168,7 +222,19 @@ func TestIncludesToIncludeFoldersDuplicateLibsWithConflictingLibsOutsideOfPlatfo
168222
ctx.LineOffset, _err = ctx.Builder.PrepareSketchBuildPath(ctx.SourceOverride, ctx.SketchBuildPath)
169223
return _err
170224
}),
171-
&builder.ContainerFindIncludes{},
225+
types.BareCommand(func(ctx *types.Context) error {
226+
return ctx.SketchLibrariesDetector.FindIncludes(
227+
ctx.BuildPath,
228+
ctx.BuildProperties.GetPath("build.core.path"),
229+
ctx.BuildProperties.GetPath("build.variant.path"),
230+
ctx.SketchBuildPath,
231+
ctx.Sketch,
232+
ctx.LibrariesBuildPath,
233+
ctx.BuildProperties,
234+
ctx.TargetPlatform.Platform.Architecture,
235+
)
236+
237+
}),
172238
}
173239
for _, command := range commands {
174240
err := command.Run(ctx)
@@ -199,7 +265,18 @@ func TestIncludesToIncludeFoldersDuplicateLibs2(t *testing.T) {
199265
ctx.LineOffset, _err = ctx.Builder.PrepareSketchBuildPath(ctx.SourceOverride, ctx.SketchBuildPath)
200266
return _err
201267
}),
202-
&builder.ContainerFindIncludes{},
268+
types.BareCommand(func(ctx *types.Context) error {
269+
return ctx.SketchLibrariesDetector.FindIncludes(
270+
ctx.BuildPath,
271+
ctx.BuildProperties.GetPath("build.core.path"),
272+
ctx.BuildProperties.GetPath("build.variant.path"),
273+
ctx.SketchBuildPath,
274+
ctx.Sketch,
275+
ctx.LibrariesBuildPath,
276+
ctx.BuildProperties,
277+
ctx.TargetPlatform.Platform.Architecture,
278+
)
279+
}),
203280
}
204281
for _, command := range commands {
205282
err := command.Run(ctx)
@@ -225,7 +302,18 @@ func TestIncludesToIncludeFoldersSubfolders(t *testing.T) {
225302
ctx.LineOffset, _err = ctx.Builder.PrepareSketchBuildPath(ctx.SourceOverride, ctx.SketchBuildPath)
226303
return _err
227304
}),
228-
&builder.ContainerFindIncludes{},
305+
types.BareCommand(func(ctx *types.Context) error {
306+
return ctx.SketchLibrariesDetector.FindIncludes(
307+
ctx.BuildPath,
308+
ctx.BuildProperties.GetPath("build.core.path"),
309+
ctx.BuildProperties.GetPath("build.variant.path"),
310+
ctx.SketchBuildPath,
311+
ctx.Sketch,
312+
ctx.LibrariesBuildPath,
313+
ctx.BuildProperties,
314+
ctx.TargetPlatform.Platform.Architecture,
315+
)
316+
}),
229317
}
230318
for _, command := range commands {
231319
err := command.Run(ctx)

Diff for: legacy/builder/test/libraries_loader_test.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ import (
2020
"sort"
2121
"testing"
2222

23+
"github.com/arduino/arduino-cli/arduino/builder/detector"
2324
"github.com/arduino/arduino-cli/arduino/libraries"
24-
"github.com/arduino/arduino-cli/arduino/builder"
2525
"github.com/arduino/arduino-cli/legacy/builder/constants"
2626
"github.com/arduino/arduino-cli/legacy/builder/types"
2727
paths "github.com/arduino/go-paths-helper"
@@ -47,7 +47,7 @@ func TestLoadLibrariesAVR(t *testing.T) {
4747
ctx = prepareBuilderTestContext(t, ctx, nil, "arduino:avr:leonardo")
4848
defer cleanUpBuilderTestContext(t, ctx)
4949

50-
lm, libsResolver, _, err := builder.LibrariesLoader(
50+
lm, libsResolver, _, err := detector.LibrariesLoader(
5151
false, nil,
5252
ctx.BuiltInLibrariesDirs, ctx.LibraryDirs, ctx.OtherLibrariesDirs,
5353
ctx.ActualPlatform, ctx.TargetPlatform,
@@ -151,7 +151,7 @@ func TestLoadLibrariesSAM(t *testing.T) {
151151
ctx = prepareBuilderTestContext(t, ctx, nil, "arduino:sam:arduino_due_x_dbg")
152152
defer cleanUpBuilderTestContext(t, ctx)
153153

154-
lm, libsResolver, _, err := builder.LibrariesLoader(
154+
lm, libsResolver, _, err := detector.LibrariesLoader(
155155
false, nil,
156156
ctx.BuiltInLibrariesDirs, ctx.LibraryDirs, ctx.OtherLibrariesDirs,
157157
ctx.ActualPlatform, ctx.TargetPlatform,
@@ -228,7 +228,7 @@ func TestLoadLibrariesAVRNoDuplicateLibrariesFolders(t *testing.T) {
228228
ctx = prepareBuilderTestContext(t, ctx, nil, "arduino:avr:leonardo")
229229
defer cleanUpBuilderTestContext(t, ctx)
230230

231-
lm, _, _, err := builder.LibrariesLoader(
231+
lm, _, _, err := detector.LibrariesLoader(
232232
false, nil,
233233
ctx.BuiltInLibrariesDirs, ctx.LibraryDirs, ctx.OtherLibrariesDirs,
234234
ctx.ActualPlatform, ctx.TargetPlatform,
@@ -251,7 +251,7 @@ func TestLoadLibrariesMyAVRPlatform(t *testing.T) {
251251
ctx = prepareBuilderTestContext(t, ctx, nil, "my_avr_platform:avr:custom_yun")
252252
defer cleanUpBuilderTestContext(t, ctx)
253253

254-
lm, _, _, err := builder.LibrariesLoader(
254+
lm, _, _, err := detector.LibrariesLoader(
255255
false, nil,
256256
ctx.BuiltInLibrariesDirs, ctx.LibraryDirs, ctx.OtherLibrariesDirs,
257257
ctx.ActualPlatform, ctx.TargetPlatform,

0 commit comments

Comments
 (0)