Skip to content

Commit ae11833

Browse files
committed
Added integration test
1 parent d434fc6 commit ae11833

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed
+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package compile
2+
3+
import (
4+
"fmt"
5+
"testing"
6+
7+
"github.com/arduino/arduino-cli/internal/integrationtest"
8+
"github.com/arduino/go-paths-helper"
9+
"github.com/stretchr/testify/require"
10+
)
11+
12+
func TestBuildCacheLibWithNonASCIIChars(t *testing.T) {
13+
// See: https://github.com/arduino/arduino-cli/issues/2671
14+
15+
env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t)
16+
t.Cleanup(env.CleanUp)
17+
18+
tmpUserDir, err := paths.MkTempDir("", "Håkan")
19+
require.NoError(t, err)
20+
t.Cleanup(func() { tmpUserDir.RemoveAll() })
21+
customEnv := cli.GetDefaultEnv()
22+
fmt.Println(">>>>>", customEnv["LANG"])
23+
customEnv["ARDUINO_DIRECTORIES_USER"] = tmpUserDir.String()
24+
25+
// Install Arduino AVR Boards and Servo lib
26+
_, _, err = cli.Run("core", "install", "arduino:[email protected]")
27+
require.NoError(t, err)
28+
_, _, err = cli.RunWithCustomEnv(customEnv, "lib", "install", "Servo")
29+
require.NoError(t, err)
30+
31+
// Make a temp sketch
32+
sketchDir := tmpUserDir.Join("ServoSketch")
33+
sketchFile := sketchDir.Join("ServoSketch.ino")
34+
require.NoError(t, sketchDir.Mkdir())
35+
require.NoError(t, sketchFile.WriteFile(
36+
[]byte("#include <Servo.h>\nvoid setup() {}\nvoid loop() {}\n"),
37+
))
38+
39+
// Compile sketch
40+
_, _, err = cli.RunWithCustomEnv(customEnv, "compile", "-b", "arduino:avr:uno", sketchFile.String())
41+
require.NoError(t, err)
42+
43+
// Compile sketch again
44+
out, _, err := cli.RunWithCustomEnv(customEnv, "compile", "-b", "arduino:avr:uno", "-v", sketchFile.String())
45+
require.NoError(t, err)
46+
require.Contains(t, string(out), "Compiling library \"Servo\"\nUsing previously compiled file")
47+
}

0 commit comments

Comments
 (0)