@@ -1269,3 +1269,37 @@ func TestUpgradeDoesNotTryToUpgradeBundledCoreLibrariesInSketchbook(t *testing.T
1269
1269
// Empty output means nothing has been updated as expected
1270
1270
require .Empty (t , stdout )
1271
1271
}
1272
+
1273
+ func TestUpgradeDoesNotTryToUpgradeBundledCoreLibraries (t * testing.T ) {
1274
+ env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
1275
+ defer env .CleanUp ()
1276
+
1277
+ testPlatformName := "platform_with_bundled_library"
1278
+ platformInstallDir := cli .DataDir ().Join ("packages" , "arduino" , "hardware" , "arch" , "4.2.0" )
1279
+ require .NoError (t , platformInstallDir .Parent ().MkdirAll ())
1280
+
1281
+ // Install platform in Sketchbook hardware dir
1282
+ wd , err := paths .Getwd ()
1283
+ require .NoError (t , err )
1284
+ require .NoError (t , wd .Parent ().Join ("testdata" , testPlatformName ).CopyDirTo (platformInstallDir ))
1285
+
1286
+ _ , _ , err = cli .Run ("update" )
1287
+ require .NoError (t , err )
1288
+
1289
+ // Install latest version of library identical to one
1290
+ // bundled with test platform
1291
+ _ , _ , err = cli .Run ("lib" , "install" , "USBHost" )
1292
+ require .NoError (t , err )
1293
+
1294
+ stdout , _ , err := cli .Run ("lib" , "list" , "--all" , "--format" , "json" )
1295
+ require .NoError (t , err )
1296
+ requirejson .Len (t , stdout , 2 )
1297
+ // Verify both libraries have the same name
1298
+ requirejson .Query (t , stdout , ".[0] | .library | .name" , "\" USBHost\" " )
1299
+ requirejson .Query (t , stdout , ".[1] | .library | .name" , "\" USBHost\" " )
1300
+
1301
+ stdout , _ , err = cli .Run ("lib" , "upgrade" )
1302
+ require .NoError (t , err )
1303
+ // Empty output means nothing has been updated as expected
1304
+ require .Empty (t , stdout )
1305
+ }
0 commit comments