Skip to content

Commit 9cc05ac

Browse files
Migrate TestCompileWithRelativeBuildPath from test_compile_part_4.py to compile_part_4_test.go
1 parent 0e32825 commit 9cc05ac

File tree

2 files changed

+40
-33
lines changed

2 files changed

+40
-33
lines changed

internal/integrationtest/compile/compile_part_4_test.go

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -443,6 +443,46 @@ func TestCompileSketchWithIppFileInclude(t *testing.T) {
443443
require.NoError(t, err)
444444
}
445445

446+
func TestCompileWithRelativeBuildPath(t *testing.T) {
447+
env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t)
448+
defer env.CleanUp()
449+
450+
_, _, err := cli.Run("update")
451+
require.NoError(t, err)
452+
453+
_, _, err = cli.Run("core", "install", "arduino:avr@1.8.3")
454+
require.NoError(t, err)
455+
456+
sketchName := "sketch_simple"
457+
sketchPath := cli.CopySketch(sketchName)
458+
fqbn := "arduino:avr:uno"
459+
460+
buildPath := paths.New("..").Join("build_path")
461+
workingDir := cli.SketchbookDir().Join("working_dir")
462+
err = workingDir.Mkdir()
463+
require.NoError(t, err)
464+
cli.SetWorkingDir(workingDir)
465+
_, _, err = cli.Run("compile", "-b", fqbn, "--build-path", buildPath.String(), sketchPath.String(), "-v")
466+
require.NoError(t, err)
467+
cli.SetWorkingDir(env.RootDir())
468+
469+
absoluteBuildPath := cli.SketchbookDir().Join("build_path")
470+
builtFiles, err := absoluteBuildPath.ReadDir()
471+
require.NoError(t, err)
472+
require.Contains(t, builtFiles[8].String(), sketchName+".ino.eep")
473+
require.Contains(t, builtFiles[9].String(), sketchName+".ino.elf")
474+
require.Contains(t, builtFiles[10].String(), sketchName+".ino.hex")
475+
require.Contains(t, builtFiles[11].String(), sketchName+".ino.with_bootloader.bin")
476+
require.Contains(t, builtFiles[12].String(), sketchName+".ino.with_bootloader.hex")
477+
require.Contains(t, builtFiles[0].String(), "build.options.json")
478+
require.Contains(t, builtFiles[1].String(), "compile_commands.json")
479+
require.Contains(t, builtFiles[2].String(), "core")
480+
require.Contains(t, builtFiles[3].String(), "includes.cache")
481+
require.Contains(t, builtFiles[4].String(), "libraries")
482+
require.Contains(t, builtFiles[6].String(), "preproc")
483+
require.Contains(t, builtFiles[7].String(), "sketch")
484+
}
485+
446486
func TestCompileWithoutUploadAndFqbn(t *testing.T) {
447487
env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t)
448488
defer env.CleanUp()

test/test_compile_part_4.py

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -20,39 +20,6 @@
2020
from pathlib import Path
2121

2222

23-
def test_compile_with_relative_build_path(run_command, data_dir, copy_sketch):
24-
assert run_command(["update"])
25-
26-
run_command(["core", "install", "arduino:avr@1.8.3"])
27-
28-
sketch_name = "sketch_simple"
29-
sketch_path = copy_sketch(sketch_name)
30-
fqbn = "arduino:avr:uno"
31-
32-
build_path = Path("..", "build_path")
33-
working_dir = Path(data_dir, "working_dir")
34-
working_dir.mkdir()
35-
assert run_command(
36-
["compile", "-b", fqbn, "--build-path", build_path, sketch_path, "-v"],
37-
custom_working_dir=working_dir,
38-
)
39-
40-
absolute_build_path = Path(data_dir, "build_path")
41-
built_files = [f.name for f in absolute_build_path.glob("*")]
42-
assert f"{sketch_name}.ino.eep" in built_files
43-
assert f"{sketch_name}.ino.elf" in built_files
44-
assert f"{sketch_name}.ino.hex" in built_files
45-
assert f"{sketch_name}.ino.with_bootloader.bin" in built_files
46-
assert f"{sketch_name}.ino.with_bootloader.hex" in built_files
47-
assert "build.options.json" in built_files
48-
assert "compile_commands.json" in built_files
49-
assert "core" in built_files
50-
assert "includes.cache" in built_files
51-
assert "libraries" in built_files
52-
assert "preproc" in built_files
53-
assert "sketch" in built_files
54-
55-
5623
def test_compile_with_fake_secure_boot_core(run_command, data_dir):
5724
assert run_command(["update"])
5825

0 commit comments

Comments
 (0)