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