Skip to content

Commit f3f61e7

Browse files
Migrate TestCoreZipslip from test_core.py to core_test.go
1 parent 11bb175 commit f3f61e7

File tree

2 files changed

+14
-9
lines changed

2 files changed

+14
-9
lines changed

internal/integrationtest/core/core_test.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,3 +345,17 @@ func TestCoreUninstallToolDependencyRemoval(t *testing.T) {
345345
// The tool arduino:avrdude@6.3.0-arduino17 that is only a dep of arduino:avr should have been removed
346346
require.False(t, avrDudeBinariesPath.Join("avrdude").Exist() || avrDudeBinariesPath.Join("avrdude.exe").Exist())
347347
}
348+
349+
func TestCoreZipslip(t *testing.T) {
350+
env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t)
351+
defer env.CleanUp()
352+
353+
url := "https://raw.githubusercontent.com/arduino/arduino-cli/master/test/testdata/test_index.json"
354+
_, _, err := cli.Run("core", "update-index", "--additional-urls="+url)
355+
require.NoError(t, err)
356+
357+
// Install a core and check if malicious content has been extracted.
358+
_, _, err = cli.Run("core", "install", "zipslip:x86", "--additional-urls="+url)
359+
require.Error(t, err)
360+
require.NoFileExists(t, paths.TempDir().Join("evil.txt").String())
361+
}

test/test_core.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -47,15 +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_zipslip(run_command):
51-
url = "https://raw.githubusercontent.com/arduino/arduino-cli/master/test/testdata/test_index.json"
52-
assert run_command(["core", "update-index", f"--additional-urls={url}"])
53-
54-
# Install a core and check if malicious content has been extracted.
55-
run_command(["core", "install", "zipslip:x86", f"--additional-urls={url}"])
56-
assert os.path.exists("/tmp/evil.txt") is False
57-
58-
5950
def test_core_broken_install(run_command):
6051
url = "https://raw.githubusercontent.com/arduino/arduino-cli/master/test/testdata/test_index.json"
6152
assert run_command(["core", "update-index", f"--additional-urls={url}"])

0 commit comments

Comments
 (0)