@@ -409,17 +409,23 @@ def test_examples_in_folder(platform, folderpath):
409409 if os .path .exists (gen_file_name ):
410410 ColorPrint .print_info ("generating" )
411411
412- # check if boards.local.txt should be copied
412+
413+ # check if root or example-specific boards.local.txt should be copied
413414 if COPY_BOARDS_LOCAL_TXT :
414- boards_local_txt = folderpath + "/." + platform + ".boards.local.txt"
415- if os .path .exists (boards_local_txt ):
416- ColorPrint .print_info ("Copying boards.local.txt from " + boards_local_txt )
417- install_boards_local_txt (":" .join (fqbn .split (':' )[0 :2 ]), boards_local_txt )
418- elif os .path .exists (folderpath + "/boards.local.txt" ):
419- ColorPrint .print_info ("Copying boards.local.txt from " + folderpath + "/boards.local.txt" )
420- install_boards_local_txt (":" .join (fqbn .split (':' )[0 :2 ]), folderpath + "/boards.local.txt" )
421- else :
415+ root_boards_local_txt = boards_local_txt
416+ example_boards_local_txt = folderpath + "/boards.local.txt"
417+ board_specific_example_boards_local_txt = folderpath + "/." + platform + ".boards.local.txt"
418+
419+ if os .path .exists (board_specific_example_boards_local_txt ):
420+ ColorPrint .print_info ("Copying boards.local.txt from " + board_specific_example_boards_local_txt )
421+ install_boards_local_txt (":" .join (fqbn .split (':' )[0 :2 ]), board_specific_example_boards_local_txt )
422+ elif os .path .exists (example_boards_local_txt ):
423+ ColorPrint .print_info ("Copying boards.local.txt from " + example_boards_local_txt )
424+ install_boards_local_txt (":" .join (fqbn .split (':' )[0 :2 ]), example_boards_local_txt )
425+ else : # effectively does the revert if subsequent example doesn't have a specific boards.local.txt
422426 ColorPrint .print_info ("No example-specific boards.local.txt found to copy, using root version" )
427+ install_boards_local_txt (":" .join (fqbn .split (':' )[0 :2 ]), root_boards_local_txt )
428+
423429
424430 if BUILD_WARN :
425431 if os .path .exists (gen_file_name ):
@@ -475,9 +481,9 @@ def install_boards_local_txt(core_fqbn, boards_local_txt):
475481 name, vendor:architecture (e.g., "adafruit:samd").
476482 :param str boards_local_txt: The path to the boards.local.txt file.
477483 """
484+ local_app_data_dir = os .environ .get ('HOME' , '' )
485+ data_dir = None
478486 try :
479- local_app_data_dir = os .environ .get ('HOME' , '' )
480- data_dir = None
481487 if os .path .exists (os .path .join (local_app_data_dir , '.arduino15' )):
482488 data_dir = os .path .join (local_app_data_dir , '.arduino15' )
483489 elif os .path .exists (os .path .join (local_app_data_dir , '.arduino' )):
0 commit comments