@@ -1321,3 +1321,35 @@ func buildWithCustomBuildPathAndOUtputDirFlag(t *testing.T, env *integrationtest
1321
1321
require .NotEmpty (t , content )
1322
1322
}
1323
1323
}
1324
+
1325
+ func TestCompileWithOutputDirFlagIgnoringFoldersCreatedByEsp32RainMakerLib (t * testing.T ) {
1326
+ env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
1327
+ defer env .CleanUp ()
1328
+
1329
+ _ , _ , err := cli .Run ("update" )
1330
+ require .NoError (t , err )
1331
+
1332
+ // Update index with esp32 core and install it
1333
+ url := "https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json"
1334
+ _ , _ , err = cli .Run ("core" , "update-index" , "--additional-urls=" + url )
1335
+ require .NoError (t , err )
1336
+ _ ,
_ ,
err = cli .
Run (
"core" ,
"install" ,
"esp32:[email protected] " ,
"--additional-urls=" + url )
1337
+ require .NoError (t , err )
1338
+
1339
+ sketchName := "RainMakerSketch"
1340
+ sketchPath := cli .SketchbookDir ().Join (sketchName )
1341
+ _ , _ , err = cli .Run ("sketch" , "new" , sketchPath .String ())
1342
+ require .NoError (t , err )
1343
+
1344
+ err = sketchPath .Join ("RainMakerSketch.ino" ).WriteFile ([]byte (`
1345
+ #include "RMaker.h"
1346
+ void setup() { }
1347
+ void loop() { }` ,
1348
+ ))
1349
+ require .NoError (t , err )
1350
+
1351
+ outputDir := cli .SketchbookDir ().Join ("test_dir" , "output_dir" )
1352
+ _ , stderr , err := cli .Run ("compile" , "-b" , "esp32:esp32:esp32" , sketchPath .String (), "--output-dir" , outputDir .String ())
1353
+ require .NoError (t , err )
1354
+ require .NotContains (t , stderr , []byte ("Error during build: Error copying output file" ))
1355
+ }
0 commit comments