Skip to content

Commit abcf8dc

Browse files
Migrated TestCompileErrorMessage from test_compile_part_1.py to compile_part_1_test.go
1 parent bd6b4ca commit abcf8dc

File tree

2 files changed

+46
-36
lines changed

2 files changed

+46
-36
lines changed

internal/integrationtest/compile/compile_part_1_test.go

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919
"testing"
2020

2121
"github.com/arduino/arduino-cli/internal/integrationtest"
22+
"github.com/arduino/go-paths-helper"
2223
"github.com/stretchr/testify/require"
2324
)
2425

@@ -38,3 +39,48 @@ func TestCompileWithoutFqbn(t *testing.T) {
3839
_, _, err = cli.Run("compile")
3940
require.Error(t, err)
4041
}
42+
43+
func TestCompileErrorMessage(t *testing.T) {
44+
env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t)
45+
defer env.CleanUp()
46+
47+
// Init the environment explicitly
48+
_, _, err := cli.Run("core", "update-index")
49+
require.NoError(t, err)
50+
51+
// Download latest AVR
52+
_, _, err = cli.Run("core", "install", "arduino:avr")
53+
require.NoError(t, err)
54+
55+
// Run a batch of bogus compile in a temp dir to check the error messages
56+
tmp, err := paths.MkTempDir("", "tmp_dir")
57+
require.NoError(t, err)
58+
defer tmp.RemoveAll()
59+
abcdef := tmp.Join("ABCDEF")
60+
_, stderr, err := cli.Run("compile", "-b", "arduino:avr:uno", abcdef.String())
61+
require.Error(t, err)
62+
require.Contains(t, string(stderr), "no such file or directory:")
63+
_, stderr, err = cli.Run("compile", "-b", "arduino:avr:uno", abcdef.Join("ABCDEF.ino").String())
64+
require.Error(t, err)
65+
require.Contains(t, string(stderr), "no such file or directory:")
66+
_, stderr, err = cli.Run("compile", "-b", "arduino:avr:uno", abcdef.Join("QWERTY").String())
67+
require.Error(t, err)
68+
require.Contains(t, string(stderr), "no such file or directory:")
69+
70+
err = abcdef.Mkdir()
71+
require.NoError(t, err)
72+
_, stderr, err = cli.Run("compile", "-b", "arduino:avr:uno", abcdef.String())
73+
require.Error(t, err)
74+
require.Contains(t, string(stderr), "main file missing from sketch:")
75+
_, stderr, err = cli.Run("compile", "-b", "arduino:avr:uno", abcdef.Join("ABCDEF.ino").String())
76+
require.Error(t, err)
77+
require.Contains(t, string(stderr), "no such file or directory:")
78+
79+
qwertyIno := abcdef.Join("QWERTY.ino")
80+
f, err := qwertyIno.Create()
81+
require.NoError(t, err)
82+
defer f.Close()
83+
_, stderr, err = cli.Run("compile", "-b", "arduino:avr:uno", qwertyIno.String())
84+
require.Error(t, err)
85+
require.Contains(t, string(stderr), "main file missing from sketch:")
86+
}

test/test_compile_part_1.py

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -25,42 +25,6 @@
2525
from .common import running_on_ci
2626

2727

28-
def test_compile_error_message(run_command, working_dir):
29-
# Init the environment explicitly
30-
run_command(["core", "update-index"])
31-
32-
# Download latest AVR
33-
run_command(["core", "install", "arduino:avr"])
34-
35-
# Run a batch of bogus compile in a temp dir to check the error messages
36-
with tempfile.TemporaryDirectory() as tmp_dir:
37-
tmp = Path(tmp_dir)
38-
abcdef = tmp / "ABCDEF"
39-
res = run_command(["compile", "-b", "arduino:avr:uno", abcdef])
40-
assert res.failed
41-
assert "no such file or directory:" in res.stderr
42-
res = run_command(["compile", "-b", "arduino:avr:uno", abcdef / "ABCDEF.ino"])
43-
assert res.failed
44-
assert "no such file or directory:" in res.stderr
45-
res = run_command(["compile", "-b", "arduino:avr:uno", abcdef / "QWERTY"])
46-
assert res.failed
47-
assert "no such file or directory:" in res.stderr
48-
49-
abcdef.mkdir()
50-
res = run_command(["compile", "-b", "arduino:avr:uno", abcdef])
51-
assert res.failed
52-
assert "main file missing from sketch:" in res.stderr
53-
res = run_command(["compile", "-b", "arduino:avr:uno", abcdef / "ABCDEF.ino"])
54-
assert res.failed
55-
assert "no such file or directory:" in res.stderr
56-
57-
qwerty_ino = abcdef / "QWERTY.ino"
58-
qwerty_ino.touch()
59-
res = run_command(["compile", "-b", "arduino:avr:uno", qwerty_ino])
60-
assert res.failed
61-
assert "main file missing from sketch:" in res.stderr
62-
63-
6428
def test_compile_with_simple_sketch(run_command, data_dir, working_dir):
6529
# Init the environment explicitly
6630
run_command(["core", "update-index"])

0 commit comments

Comments
 (0)