Skip to content

Commit 11bb175

Browse files
Migrate TestCoreUninstallToolDependencyRemoval from test_core.py to core_test.go
1 parent 5e0ea1e commit 11bb175

File tree

2 files changed

+25
-21
lines changed

2 files changed

+25
-21
lines changed

internal/integrationtest/core/core_test.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,3 +320,28 @@ func TestCoreUninstall(t *testing.T) {
320320
require.NoError(t, err)
321321
requirejson.Empty(t, stdout)
322322
}
323+
324+
func TestCoreUninstallToolDependencyRemoval(t *testing.T) {
325+
env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t)
326+
defer env.CleanUp()
327+
328+
// These platforms both have a dependency on the arduino:avr-gcc@7.3.0-atmel3.6.1-arduino5 tool
329+
// arduino:avr@1.8.2 has a dependency on arduino:avrdude@6.3.0-arduino17
330+
_, _, err := cli.Run("core", "install", "arduino:avr@1.8.2")
331+
require.NoError(t, err)
332+
// arduino:megaavr@1.8.4 has a dependency on arduino:avrdude@6.3.0-arduino16
333+
_, _, err = cli.Run("core", "install", "arduino:megaavr@1.8.4")
334+
require.NoError(t, err)
335+
_, _, err = cli.Run("core", "uninstall", "arduino:avr")
336+
require.NoError(t, err)
337+
338+
arduinoToolsPath := cli.DataDir().Join("packages", "arduino", "tools")
339+
340+
avrGccBinariesPath := arduinoToolsPath.Join("avr-gcc", "7.3.0-atmel3.6.1-arduino5", "bin")
341+
// The tool arduino:avr-gcc@7.3.0-atmel3.6.1-arduino5 that is a dep of another installed platform should remain
342+
require.True(t, avrGccBinariesPath.Join("avr-gcc").Exist() || avrGccBinariesPath.Join("avr-gcc.exe").Exist())
343+
344+
avrDudeBinariesPath := arduinoToolsPath.Join("avrdude", "6.3.0-arduino17", "bin")
345+
// The tool arduino:avrdude@6.3.0-arduino17 that is only a dep of arduino:avr should have been removed
346+
require.False(t, avrDudeBinariesPath.Join("avrdude").Exist() || avrDudeBinariesPath.Join("avrdude.exe").Exist())
347+
}

test/test_core.py

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -47,27 +47,6 @@ def test_core_install_esp32(run_command, data_dir):
4747
assert (build_dir / f"{sketch_name}.ino.partitions.bin").exists()
4848

4949

50-
def test_core_uninstall_tool_dependency_removal(run_command, data_dir):
51-
# These platforms both have a dependency on the arduino:avr-gcc@7.3.0-atmel3.6.1-arduino5 tool
52-
# arduino:avr@1.8.2 has a dependency on arduino:avrdude@6.3.0-arduino17
53-
assert run_command(["core", "install", "arduino:avr@1.8.2"])
54-
# arduino:megaavr@1.8.4 has a dependency on arduino:avrdude@6.3.0-arduino16
55-
assert run_command(["core", "install", "arduino:megaavr@1.8.4"])
56-
assert run_command(["core", "uninstall", "arduino:avr"])
57-
58-
arduino_tools_path = Path(data_dir, "packages", "arduino", "tools")
59-
60-
avr_gcc_binaries_path = arduino_tools_path.joinpath("avr-gcc", "7.3.0-atmel3.6.1-arduino5", "bin")
61-
# The tool arduino:avr-gcc@7.3.0-atmel3.6.1-arduino5 that is a dep of another installed platform should remain
62-
assert avr_gcc_binaries_path.joinpath("avr-gcc").exists() or avr_gcc_binaries_path.joinpath("avr-gcc.exe").exists()
63-
64-
avrdude_binaries_path = arduino_tools_path.joinpath("avrdude", "6.3.0-arduino17", "bin")
65-
# The tool arduino:avrdude@6.3.0-arduino17 that is only a dep of arduino:avr should have been removed
66-
assert (
67-
avrdude_binaries_path.joinpath("avrdude").exists() or avrdude_binaries_path.joinpath("avrdude.exe").exists()
68-
) is False
69-
70-
7150
def test_core_zipslip(run_command):
7251
url = "https://raw.githubusercontent.com/arduino/arduino-cli/master/test/testdata/test_index.json"
7352
assert run_command(["core", "update-index", f"--additional-urls={url}"])

0 commit comments

Comments
 (0)