@@ -419,6 +419,11 @@ def perform_unit_tests(cpp_library, file_config)
419419 end
420420 end
421421
422+ # having undefined platforms is a config error
423+ platforms . select { |p | config . platform_info [ p ] . nil? } . each do |p |
424+ assure ( "Platform '#{ p } ' is defined in configuration files" ) { false }
425+ end
426+
422427 install_arduino_library_dependencies ( config . aux_libraries_for_unittest , "<unittest/libraries>" )
423428
424429 platforms . each do |p |
@@ -486,6 +491,7 @@ def perform_example_compilation_tests(cpp_library, config)
486491 ovr_config = config . from_example ( example_path )
487492 platforms = choose_platform_set ( ovr_config , "library example" , ovr_config . platforms_to_build , cpp_library . library_properties )
488493
494+ # having no platforms defined is probably an error
489495 if platforms . empty?
490496 explain_and_exercise_envvar ( VAR_EXPECT_EXAMPLES , "examples compilation" , "platforms and architectures" ) do
491497 puts " Configured platforms: #{ ovr_config . platforms_to_build } "
@@ -495,11 +501,16 @@ def perform_example_compilation_tests(cpp_library, config)
495501 end
496502 end
497503
504+ # having undefined platforms is a config error
505+ platforms . select { |p | ovr_config . platform_info [ p ] . nil? } . each do |p |
506+ assure ( "Platform '#{ p } ' is defined in configuration files" ) { false }
507+ end
508+
498509 install_all_packages ( platforms , ovr_config )
499510 install_arduino_library_dependencies ( ovr_config . aux_libraries_for_build , "<compile/libraries>" )
500511
501512 platforms . each do |p |
502- board = ovr_config . platform_info [ p ] [ :board ]
513+ board = ovr_config . platform_info [ p ] [ :board ] # assured to exist, above
503514 attempt ( "Compiling #{ example_name } for #{ board } " ) do
504515 ret = @backend . compile_sketch ( example_path , board )
505516 unless ret
0 commit comments