Skip to content

Commit 502c0cc

Browse files
Migrated TestCompileWithBuildPropertiesFlag from test_compile_part_1.py to compile_part_1_test.go
1 parent 956e9ec commit 502c0cc

File tree

4 files changed

+93
-0
lines changed

4 files changed

+93
-0
lines changed

Diff for: internal/integrationtest/compile/compile_part_1_test.go

+61
Original file line numberDiff line numberDiff line change
@@ -312,3 +312,64 @@ func TestCompileWithoutPrecompiledLibraries(t *testing.T) {
312312
_, _, err = cli.Run("compile", "-b", "arduino:samd:mkrvidor4000", sketchPath.String())
313313
require.NoError(t, err)
314314
}
315+
316+
func TestCompileWithBuildPropertiesFlag(t *testing.T) {
317+
env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t)
318+
defer env.CleanUp()
319+
320+
// Init the environment explicitly
321+
_, _, err := cli.Run("core", "update-index")
322+
require.NoError(t, err)
323+
324+
// Install Arduino AVR Boards
325+
_, _, err = cli.Run("core", "install", "arduino:[email protected]")
326+
require.NoError(t, err)
327+
328+
// Copy sketch
329+
sketchName := "sketch_with_single_string_define"
330+
p, err := paths.Getwd()
331+
require.NoError(t, err)
332+
require.NotNil(t, p)
333+
testSketch := p.Parent().Join("testdata", sketchName)
334+
sketchPath := cli.SketchbookDir().Join(sketchName)
335+
err = testSketch.CopyDirTo(sketchPath)
336+
require.NoError(t, err)
337+
338+
fqbn := "arduino:avr:uno"
339+
340+
// Compile using a build property with quotes
341+
_, stderr, err := cli.Run("compile", "-b", fqbn, "--build-properties=\"build.extra_flags=\"-DMY_DEFINE=\"hello world\"\"", sketchPath.String(), "--verbose", "--clean")
342+
require.Error(t, err)
343+
require.NotContains(t, string(stderr), "Flag --build-properties has been deprecated, please use --build-property instead.")
344+
345+
// Try again with quotes
346+
_, stderr, err = cli.Run("compile", "-b", fqbn, "--build-properties=\"build.extra_flags=-DMY_DEFINE=\"hello\"\"", sketchPath.String(), "--verbose", "--clean")
347+
require.Error(t, err)
348+
require.NotContains(t, string(stderr), "Flag --build-properties has been deprecated, please use --build-property instead.")
349+
350+
// Copy sketch
351+
sketchName = "sketch_with_single_int_define"
352+
testSketch = p.Parent().Join("testdata", sketchName)
353+
sketchPath = cli.SketchbookDir().Join(sketchName)
354+
err = testSketch.CopyDirTo(sketchPath)
355+
require.NoError(t, err)
356+
357+
// Try without quotes
358+
stdout, stderr, err := cli.Run("compile", "-b", fqbn, "--build-properties=\"build.extra_flags=-DMY_DEFINE=1\"", sketchPath.String(), "--verbose", "--clean")
359+
require.NoError(t, err)
360+
require.Contains(t, string(stderr), "Flag --build-properties has been deprecated, please use --build-property instead.")
361+
require.Contains(t, string(stdout), "-DMY_DEFINE=1")
362+
363+
// Copy sketch
364+
sketchName = "sketch_with_multiple_int_defines"
365+
testSketch = p.Parent().Join("testdata", sketchName)
366+
sketchPath = cli.SketchbookDir().Join(sketchName)
367+
err = testSketch.CopyDirTo(sketchPath)
368+
require.NoError(t, err)
369+
370+
stdout, stderr, err = cli.Run("compile", "-b", fqbn, "--build-properties=\"build.extra_flags=-DFIRST_PIN=1,compiler.cpp.extra_flags=-DSECOND_PIN=2\"", sketchPath.String(), "--verbose", "--clean")
371+
require.NoError(t, err)
372+
require.Contains(t, string(stderr), "Flag --build-properties has been deprecated, please use --build-property instead.")
373+
require.Contains(t, string(stdout), "-DFIRST_PIN=1")
374+
require.Contains(t, string(stdout), "-DSECOND_PIN=2")
375+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
const int MY_FIRST_PIN = FIRST_PIN;
3+
const int MY_SECOND_PIN = SECOND_PIN;
4+
5+
void setup() {
6+
Serial.begin(9600);
7+
Serial.println(MY_FIRST_PIN);
8+
Serial.println(MY_SECOND_PIN);
9+
}
10+
11+
void loop() {
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
2+
const int FOO = MY_DEFINE;
3+
4+
void setup() {
5+
Serial.begin(9600);
6+
Serial.println(FOO);
7+
}
8+
9+
void loop() {
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
2+
const String FOO = MY_DEFINE;
3+
4+
void setup() {
5+
Serial.begin(9600);
6+
Serial.println(FOO);
7+
}
8+
9+
void loop() {
10+
}

0 commit comments

Comments
 (0)