Skip to content

Commit 4492683

Browse files
committed
Added test
1 parent bfb5f3f commit 4492683

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

Diff for: internal/integrationtest/compile_1/compile_test.go

+42
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ func TestCompile(t *testing.T) {
7171
{"WithInvalidBuildOptionJson", compileWithInvalidBuildOptionJson},
7272
{"WithRelativeBuildPath", compileWithRelativeBuildPath},
7373
{"WithFakeSecureBootCore", compileWithFakeSecureBootCore},
74+
{"PreprocessFlagDoNotMessUpWithOutput", preprocessFlagDoNotMessUpWithOutput},
7475
}.Run(t, env, cli)
7576
}
7677

@@ -1164,3 +1165,44 @@ func compileWithFakeSecureBootCore(t *testing.T, env *integrationtest.Environmen
11641165
require.Contains(t, string(stdout), "my-sign-key.pem")
11651166
require.Contains(t, string(stdout), "my-encrypt-key.pem")
11661167
}
1168+
1169+
func preprocessFlagDoNotMessUpWithOutput(t *testing.T, env *integrationtest.Environment, cli *integrationtest.ArduinoCLI) {
1170+
// https://github.com/arduino/arduino-cli/issues/2150
1171+
1172+
// go test -v ./internal/integrationtest/compile_1 --run=TestCompile$/PreprocessFlagDoNotMessUpWithOutput
1173+
1174+
sketchPath := cli.SketchbookDir().Join("SketchSimple")
1175+
defer sketchPath.RemoveAll()
1176+
fqbn := "arduino:avr:uno"
1177+
_, _, err := cli.Run("sketch", "new", sketchPath.String())
1178+
require.NoError(t, err)
1179+
1180+
expected := `#include <Arduino.h>
1181+
#line 1 "%SKETCH_PATH%"
1182+
1183+
#line 2 "%SKETCH_PATH%"
1184+
void setup();
1185+
#line 5 "%SKETCH_PATH%"
1186+
void loop();
1187+
#line 2 "%SKETCH_PATH%"
1188+
void setup() {
1189+
}
1190+
1191+
void loop() {
1192+
}
1193+
1194+
`
1195+
expected = strings.ReplaceAll(expected, "%SKETCH_PATH%", sketchPath.Join("SketchSimple.ino").String())
1196+
1197+
jsonOut, _, err := cli.Run("compile", "-b", fqbn, "--preprocess", sketchPath.String(), "--format", "json")
1198+
require.NoError(t, err)
1199+
var ex struct {
1200+
CompilerOut string `json:"compiler_out"`
1201+
}
1202+
require.NoError(t, json.Unmarshal(jsonOut, &ex))
1203+
require.Equal(t, expected, ex.CompilerOut)
1204+
1205+
output, _, err := cli.Run("compile", "-b", fqbn, "--preprocess", sketchPath.String())
1206+
require.NoError(t, err)
1207+
require.Equal(t, expected, string(output))
1208+
}

0 commit comments

Comments
 (0)