Skip to content

Commit 9ac20f0

Browse files
Migrate TestUpgradeDoesNotTryToUpgradeBundledCoreLibrariesInSketchbook from test_lib.py to lib_test.go
1 parent f6f2ee4 commit 9ac20f0

File tree

5 files changed

+34
-32
lines changed

5 files changed

+34
-32
lines changed

internal/integrationtest/lib/lib_test.go

+34
Original file line numberDiff line numberDiff line change
@@ -1235,3 +1235,37 @@ func TestInstallGitInvalidLibrary(t *testing.T) {
12351235
require.Contains(t, string(stderr), "library not valid")
12361236
require.NoDirExists(t, libInstallDir.String())
12371237
}
1238+
1239+
func TestUpgradeDoesNotTryToUpgradeBundledCoreLibrariesInSketchbook(t *testing.T) {
1240+
env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t)
1241+
defer env.CleanUp()
1242+
1243+
testPlatformName := "platform_with_bundled_library"
1244+
platformInstallDir := cli.SketchbookDir().Join("hardware", "arduino-beta-dev", testPlatformName)
1245+
require.NoError(t, platformInstallDir.Parent().MkdirAll())
1246+
1247+
// Install platform in Sketchbook hardware dir
1248+
wd, err := paths.Getwd()
1249+
require.NoError(t, err)
1250+
require.NoError(t, wd.Parent().Join("testdata", testPlatformName).CopyDirTo(platformInstallDir))
1251+
1252+
_, _, err = cli.Run("update")
1253+
require.NoError(t, err)
1254+
1255+
// Install latest version of library identical to one
1256+
// bundled with test platform
1257+
_, _, err = cli.Run("lib", "install", "USBHost")
1258+
require.NoError(t, err)
1259+
1260+
stdout, _, err := cli.Run("lib", "list", "--all", "--format", "json")
1261+
require.NoError(t, err)
1262+
requirejson.Len(t, stdout, 2)
1263+
// Verify both libraries have the same name
1264+
requirejson.Query(t, stdout, ".[0] | .library | .name", "\"USBHost\"")
1265+
requirejson.Query(t, stdout, ".[1] | .library | .name", "\"USBHost\"")
1266+
1267+
stdout, _, err = cli.Run("lib", "upgrade")
1268+
require.NoError(t, err)
1269+
// Empty output means nothing has been updated as expected
1270+
require.Empty(t, stdout)
1271+
}

test/test_lib.py

-32
Original file line numberDiff line numberDiff line change
@@ -206,38 +206,6 @@ def test_install_with_zip_path_multiple_libraries(run_command, downloads_dir, da
206206
assert ble_install_dir.exists()
207207

208208

209-
def test_upgrade_does_not_try_to_upgrade_bundled_core_libraries_in_sketchbook(run_command, data_dir):
210-
test_platform_name = "platform_with_bundled_library"
211-
platform_install_dir = Path(data_dir, "hardware", "arduino-beta-dev", test_platform_name)
212-
platform_install_dir.mkdir(parents=True)
213-
214-
# Install platform in Sketchbook hardware dir
215-
shutil.copytree(
216-
Path(__file__).parent / "testdata" / test_platform_name,
217-
platform_install_dir,
218-
dirs_exist_ok=True,
219-
)
220-
221-
assert run_command(["update"])
222-
223-
# Install latest version of library identical to one
224-
# bundled with test platform
225-
assert run_command(["lib", "install", "USBHost"])
226-
227-
res = run_command(["lib", "list", "--all", "--format", "json"])
228-
assert res.ok
229-
libs = json.loads(res.stdout)
230-
assert len(libs) == 2
231-
# Verify both libraries have the same name
232-
assert libs[0]["library"]["name"] == "USBHost"
233-
assert libs[1]["library"]["name"] == "USBHost"
234-
235-
res = run_command(["lib", "upgrade"])
236-
assert res.ok
237-
# Empty output means nothing has been updated as expected
238-
assert res.stdout == ""
239-
240-
241209
def test_upgrade_does_not_try_to_upgrade_bundled_core_libraries(run_command, data_dir):
242210
test_platform_name = "platform_with_bundled_library"
243211
platform_install_dir = Path(data_dir, "packages", "arduino", "hardware", "arch", "4.2.0")

0 commit comments

Comments
 (0)