@@ -1300,3 +1300,37 @@ func TestUpgradeDoesNotTryToUpgradeBundledCoreLibrariesInSketchbook(t *testing.T
1300
1300
// Empty output means nothing has been updated as expected
1301
1301
require .Empty (t , stdout )
1302
1302
}
1303
+
1304
+ func TestUpgradeDoesNotTryToUpgradeBundledCoreLibraries (t * testing.T ) {
1305
+ env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
1306
+ defer env .CleanUp ()
1307
+
1308
+ testPlatformName := "platform_with_bundled_library"
1309
+ platformInstallDir := cli .DataDir ().Join ("packages" , "arduino" , "hardware" , "arch" , "4.2.0" )
1310
+ require .NoError (t , platformInstallDir .Parent ().MkdirAll ())
1311
+
1312
+ // Install platform in Sketchbook hardware dir
1313
+ wd , err := paths .Getwd ()
1314
+ require .NoError (t , err )
1315
+ require .NoError (t , wd .Parent ().Join ("testdata" , testPlatformName ).CopyDirTo (platformInstallDir ))
1316
+
1317
+ _ , _ , err = cli .Run ("update" )
1318
+ require .NoError (t , err )
1319
+
1320
+ // Install latest version of library identical to one
1321
+ // bundled with test platform
1322
+ _ , _ , err = cli .Run ("lib" , "install" , "USBHost" )
1323
+ require .NoError (t , err )
1324
+
1325
+ stdout , _ , err := cli .Run ("lib" , "list" , "--all" , "--format" , "json" )
1326
+ require .NoError (t , err )
1327
+ requirejson .Len (t , stdout , 2 )
1328
+ // Verify both libraries have the same name
1329
+ requirejson .Query (t , stdout , ".[0] | .library | .name" , "\" USBHost\" " )
1330
+ requirejson .Query (t , stdout , ".[1] | .library | .name" , "\" USBHost\" " )
1331
+
1332
+ stdout , _ , err = cli .Run ("lib" , "upgrade" )
1333
+ require .NoError (t , err )
1334
+ // Empty output means nothing has been updated as expected
1335
+ require .Empty (t , stdout )
1336
+ }
0 commit comments