@@ -80,10 +80,6 @@ func TestSetupBuildProperties(t *testing.T) {
80
80
require .Equal (t , "\" {compiler.path}{compiler.c.cmd}\" {compiler.c.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} {includes} \" {source_file}\" -o \" {object_file}\" " , buildProperties ["recipe.c.o.pattern" ])
81
81
require .Equal (t , "{path}/etc/avrdude.conf" , buildProperties ["tools.avrdude.config.path" ])
82
82
83
- coanProps := props .SubTree (props .SubTree (buildProperties , constants .BUILD_PROPERTIES_TOOLS_KEY ), constants .COAN )
84
- require .Equal (t , "{path}/coan" , coanProps ["cmd.path" ])
85
- require .Equal (t , "\" {cmd.path}\" source -m -E -P -kb {compiler.c.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} \" {source_file}\" " , coanProps [constants .BUILD_PROPERTIES_PATTERN ])
86
-
87
83
require .Equal (t , Abs (t , "downloaded_hardware/arduino/avr" ), buildProperties [constants .BUILD_PROPERTIES_RUNTIME_PLATFORM_PATH ])
88
84
require .Equal (t , Abs (t , "downloaded_hardware/arduino" ), buildProperties [constants .BUILD_PROPERTIES_RUNTIME_HARDWARE_PATH ])
89
85
require .Equal (t , "10600" , buildProperties [constants .CTX_BUILD_PROPERTIES_RUNTIME_IDE_VERSION ])
@@ -186,3 +182,64 @@ func TestSetupBuildPropertiesUserHardware(t *testing.T) {
186
182
require .Equal (t , Abs (t , filepath .Join ("user_hardware" , "my_avr_platform" , "avr" )), buildProperties [constants .BUILD_PROPERTIES_RUNTIME_PLATFORM_PATH ])
187
183
require .Equal (t , Abs (t , filepath .Join ("user_hardware" , "my_avr_platform" )), buildProperties [constants .BUILD_PROPERTIES_RUNTIME_HARDWARE_PATH ])
188
184
}
185
+
186
+ func TestSetupBuildPropertiesWithMissingPropsFromParentPlatformTxtFiles (t * testing.T ) {
187
+ DownloadCoresAndToolsAndLibraries (t )
188
+
189
+ context := make (map [string ]interface {})
190
+
191
+ buildPath := SetupBuildPath (t , context )
192
+ defer os .RemoveAll (buildPath )
193
+
194
+ context [constants .CTX_BUILD_PROPERTIES_RUNTIME_IDE_VERSION ] = "10600"
195
+ context [constants .CTX_HARDWARE_FOLDERS ] = []string {filepath .Join (".." , "hardware" ), "hardware" , "downloaded_hardware" , "user_hardware" }
196
+ context [constants .CTX_TOOLS_FOLDERS ] = []string {"downloaded_tools" , "./tools_builtin" }
197
+ context [constants .CTX_FQBN ] = "my_avr_platform:avr:custom_yun"
198
+ context [constants .CTX_SKETCH_LOCATION ] = filepath .Join ("sketch1" , "sketch.ino" )
199
+
200
+ commands := []types.Command {
201
+ & builder.SetupHumanLoggerIfMissing {},
202
+ & builder.ContainerSetupHardwareToolsLibsSketchAndProps {},
203
+ }
204
+
205
+ for _ , command := range commands {
206
+ err := command .Run (context )
207
+ NoError (t , err )
208
+ }
209
+
210
+ buildProperties := context [constants .CTX_BUILD_PROPERTIES ].(map [string ]string )
211
+
212
+ require .Equal (t , "ARDUINO" , buildProperties [constants .BUILD_PROPERTIES_SOFTWARE ])
213
+
214
+ require .Equal (t , "custom_yun" , buildProperties [constants .ID ])
215
+ require .Equal (t , "Arduino Yún" , buildProperties ["name" ])
216
+ require .Equal (t , "0x2341" , buildProperties ["vid.0" ])
217
+ require .Equal (t , "\" {compiler.path}{compiler.c.cmd}\" {compiler.c.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} {includes} \" {source_file}\" -o \" {object_file}\" " , buildProperties ["recipe.c.o.pattern" ])
218
+ require .Equal (t , "{path}/etc/avrdude.conf" , buildProperties ["tools.avrdude.config.path" ])
219
+
220
+ coanProps := props .SubTree (props .SubTree (buildProperties , constants .BUILD_PROPERTIES_TOOLS_KEY ), constants .COAN )
221
+ require .Equal (t , "{path}/coan" , coanProps ["cmd.path" ])
222
+ require .Equal (t , "\" {cmd.path}\" source -m -E -P -kb {compiler.c.flags} -mmcu={build.mcu} -DF_CPU={build.f_cpu} -DARDUINO={runtime.ide.version} -DARDUINO_{build.board} -DARDUINO_ARCH_{build.arch} {compiler.c.extra_flags} {build.extra_flags} \" {source_file}\" " , coanProps [constants .BUILD_PROPERTIES_PATTERN ])
223
+
224
+ require .Equal (t , Abs (t , "user_hardware/my_avr_platform/avr" ), buildProperties [constants .BUILD_PROPERTIES_RUNTIME_PLATFORM_PATH ])
225
+ require .Equal (t , Abs (t , "user_hardware/my_avr_platform" ), buildProperties [constants .BUILD_PROPERTIES_RUNTIME_HARDWARE_PATH ])
226
+ require .Equal (t , "10600" , buildProperties [constants .CTX_BUILD_PROPERTIES_RUNTIME_IDE_VERSION ])
227
+ require .NotEmpty (t , buildProperties [constants .BUILD_PROPERTIES_RUNTIME_OS ])
228
+
229
+ require .Equal (t , Abs (t , "./downloaded_tools/arm-none-eabi-gcc/4.8.3-2014q1" ), buildProperties ["runtime.tools.arm-none-eabi-gcc.path" ])
230
+ require .Equal (t , Abs (t , "./downloaded_tools/arm-none-eabi-gcc/4.8.3-2014q1" ), buildProperties ["runtime.tools.arm-none-eabi-gcc-4.8.3-2014q1.path" ])
231
+ require .Equal (t , Abs (t , "./downloaded_tools/bossac/1.3a-arduino" ), buildProperties ["runtime.tools.bossac-1.3a-arduino.path" ])
232
+ require .Equal (t , Abs (t , "./downloaded_tools/bossac/1.5-arduino" ), buildProperties ["runtime.tools.bossac-1.5-arduino.path" ])
233
+ require .True (t , buildProperties ["runtime.tools.bossac.path" ] == Abs (t , "./downloaded_tools/bossac/1.3a-arduino" ) || buildProperties ["runtime.tools.bossac.path" ] == Abs (t , "./downloaded_tools/bossac/1.5-arduino" ))
234
+ require .Equal (t , Abs (t , "./downloaded_tools/avrdude/6.0.1-arduino5" ), buildProperties ["runtime.tools.avrdude.path" ])
235
+ require .Equal (t , Abs (t , "./downloaded_tools/avrdude/6.0.1-arduino5" ), buildProperties ["runtime.tools.avrdude-6.0.1-arduino5.path" ])
236
+ require .Equal (t , Abs (t , "./downloaded_tools/avr-gcc/4.8.1-arduino5" ), buildProperties ["runtime.tools.avr-gcc.path" ])
237
+ require .Equal (t , Abs (t , "./downloaded_tools/avr-gcc/4.8.1-arduino5" ), buildProperties ["runtime.tools.avr-gcc-4.8.1-arduino5.path" ])
238
+
239
+ require .Equal (t , Abs (t , filepath .Join ("sketch1" , "sketch.ino" )), buildProperties [constants .BUILD_PROPERTIES_SOURCE_PATH ])
240
+
241
+ require .True (t , utils .MapStringStringHas (buildProperties , constants .BUILD_PROPERTIES_EXTRA_TIME_UTC ))
242
+ require .True (t , utils .MapStringStringHas (buildProperties , constants .BUILD_PROPERTIES_EXTRA_TIME_LOCAL ))
243
+ require .True (t , utils .MapStringStringHas (buildProperties , constants .BUILD_PROPERTIES_EXTRA_TIME_ZONE ))
244
+ require .True (t , utils .MapStringStringHas (buildProperties , constants .BUILD_PROPERTIES_EXTRA_TIME_DST ))
245
+ }
0 commit comments