@@ -1220,3 +1220,37 @@ func TestUpgradeDoesNotTryToUpgradeBundledCoreLibrariesInSketchbook(t *testing.T
1220
1220
// Empty output means nothing has been updated as expected
1221
1221
require .Empty (t , stdout )
1222
1222
}
1223
+
1224
+ func TestUpgradeDoesNotTryToUpgradeBundledCoreLibraries (t * testing.T ) {
1225
+ env , cli := integrationtest .CreateArduinoCLIWithEnvironment (t )
1226
+ defer env .CleanUp ()
1227
+
1228
+ testPlatformName := "platform_with_bundled_library"
1229
+ platformInstallDir := cli .DataDir ().Join ("packages" , "arduino" , "hardware" , "arch" , "4.2.0" )
1230
+ require .NoError (t , platformInstallDir .Parent ().MkdirAll ())
1231
+
1232
+ // Install platform in Sketchbook hardware dir
1233
+ wd , err := paths .Getwd ()
1234
+ require .NoError (t , err )
1235
+ require .NoError (t , wd .Parent ().Join ("testdata" , testPlatformName ).CopyDirTo (platformInstallDir ))
1236
+
1237
+ _ , _ , err = cli .Run ("update" )
1238
+ require .NoError (t , err )
1239
+
1240
+ // Install latest version of library identical to one
1241
+ // bundled with test platform
1242
+ _ , _ , err = cli .Run ("lib" , "install" , "USBHost" )
1243
+ require .NoError (t , err )
1244
+
1245
+ stdout , _ , err := cli .Run ("lib" , "list" , "--all" , "--format" , "json" )
1246
+ require .NoError (t , err )
1247
+ requirejson .Len (t , stdout , 2 )
1248
+ // Verify both libraries have the same name
1249
+ requirejson .Query (t , stdout , ".[0] | .library | .name" , "\" USBHost\" " )
1250
+ requirejson .Query (t , stdout , ".[1] | .library | .name" , "\" USBHost\" " )
1251
+
1252
+ stdout , _ , err = cli .Run ("lib" , "upgrade" )
1253
+ require .NoError (t , err )
1254
+ // Empty output means nothing has been updated as expected
1255
+ require .Empty (t , stdout )
1256
+ }
0 commit comments