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