Skip to content

Commit 3d9acb1

Browse files
Migrate TestCompileWithRelativeBuildPath from test_compile_part_4.py to compile_part_4_test.go
1 parent ac39e1c commit 3d9acb1

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
@@ -449,6 +449,46 @@ func TestCompileSketchWithIppFileInclude(t *testing.T) {
449449
require.NoError(t, err)
450450
}
451451

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