Skip to content

Commit 2b71d9c

Browse files
Migrate TestCompileSketchWithMultipleMainFiles from test_compile_part_3.py to compile_part_3_test.go
1 parent 1fdffb5 commit 2b71d9c

File tree

2 files changed

+42
-35
lines changed

2 files changed

+42
-35
lines changed

internal/integrationtest/compile/compile_part_3_test.go

+42
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,45 @@ func TestCompileSketchWithPdeExtesnion(t *testing.T) {
5959
require.Contains(t, string(stderr), "Sketches with .pde extension are deprecated, please rename the following files to .ino:")
6060
require.Contains(t, string(stderr), sketchFilePde.String())
6161
}
62+
63+
func TestCompileSketchWithMultipleMainFiles(t *testing.T) {
64+
env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t)
65+
defer env.CleanUp()
66+
67+
// Init the environment explicitly
68+
_, _, err := cli.Run("update")
69+
require.NoError(t, err)
70+
71+
// Install core to compile
72+
_, _, err = cli.Run("core", "install", "arduino:[email protected]")
73+
require.NoError(t, err)
74+
75+
sketchName := "CompileSketchMultipleMainFiles"
76+
sketchPath := cli.SketchbookDir().Join(sketchName)
77+
fqbn := "arduino:avr:uno"
78+
79+
// Create a test sketch
80+
_, _, err = cli.Run("sketch", "new", sketchPath.String())
81+
require.NoError(t, err)
82+
83+
// Copy .ino sketch file to .pde
84+
sketchFileIno := sketchPath.Join(sketchName + ".ino")
85+
sketchFilePde := sketchPath.Join(sketchName + ".pde")
86+
err = sketchFileIno.CopyTo(sketchFilePde)
87+
require.NoError(t, err)
88+
89+
// Build sketch from folder
90+
_, stderr, err := cli.Run("compile", "--clean", "-b", fqbn, sketchPath.String())
91+
require.Error(t, err)
92+
require.Contains(t, string(stderr), "Error opening sketch: multiple main sketch files found")
93+
94+
// Build sketch from .ino file
95+
_, stderr, err = cli.Run("compile", "--clean", "-b", fqbn, sketchFileIno.String())
96+
require.Error(t, err)
97+
require.Contains(t, string(stderr), "Error opening sketch: multiple main sketch files found")
98+
99+
// Build sketch from .pde file
100+
_, stderr, err = cli.Run("compile", "--clean", "-b", fqbn, sketchFilePde.String())
101+
require.Error(t, err)
102+
require.Contains(t, string(stderr), "Error opening sketch: multiple main sketch files found")
103+
}

test/test_compile_part_3.py

-35
Original file line numberDiff line numberDiff line change
@@ -39,41 +39,6 @@
3939
# assert "Skipping dependencies detection for precompiled library Arduino_TensorFlowLite" in result.stdout
4040

4141

42-
def test_compile_sketch_with_multiple_main_files(run_command, data_dir):
43-
# Init the environment explicitly
44-
assert run_command(["update"])
45-
46-
# Install core to compile
47-
assert run_command(["core", "install", "arduino:[email protected]"])
48-
49-
sketch_name = "CompileSketchMultipleMainFiles"
50-
sketch_path = Path(data_dir, sketch_name)
51-
fqbn = "arduino:avr:uno"
52-
53-
# Create a test sketch
54-
assert run_command(["sketch", "new", sketch_path])
55-
56-
# Copy .ino sketch file to .pde
57-
sketch_ino_file = Path(sketch_path, f"{sketch_name}.ino")
58-
sketch_pde_file = Path(sketch_path / f"{sketch_name}.pde")
59-
shutil.copyfile(sketch_ino_file, sketch_pde_file)
60-
61-
# Build sketch from folder
62-
res = run_command(["compile", "--clean", "-b", fqbn, sketch_path])
63-
assert res.failed
64-
assert "Error opening sketch: multiple main sketch files found" in res.stderr
65-
66-
# Build sketch from .ino file
67-
res = run_command(["compile", "--clean", "-b", fqbn, sketch_ino_file])
68-
assert res.failed
69-
assert "Error opening sketch: multiple main sketch files found" in res.stderr
70-
71-
# Build sketch from .pde file
72-
res = run_command(["compile", "--clean", "-b", fqbn, sketch_pde_file])
73-
assert res.failed
74-
assert "Error opening sketch: multiple main sketch files found" in res.stderr
75-
76-
7742
def test_compile_sketch_case_mismatch_fails(run_command, data_dir):
7843
# Init the environment explicitly
7944
assert run_command(["update"])

0 commit comments

Comments
 (0)