1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/tests/build_system/cflags_spaces
2023-05-11 14:30:50 +02:00
..
tests tests: move build system applications to tests/build_system 2023-05-11 14:30:50 +02:00
main.c tests: move build system applications to tests/build_system 2023-05-11 14:30:50 +02:00
Makefile tests: move build system applications to tests/build_system 2023-05-11 14:30:50 +02:00
README.md tests: move build system applications to tests/build_system 2023-05-11 14:30:50 +02:00

Build system cflags with space test

This tests that the build system now handles CFLAGS correctly.

There is an automated test for CFLAGS with spaces when defined in the Makefile.

Other manual tests

There are also 2 other manual tests that can be run

Modifying CFLAGS defined after including Makefile.include

CFLAGS defined after Makefile.include trigger a rebuild when changed.

Running the test once should work and then when changing CONFIGURATION_VALUE it should pass too.

make flash test
CONFIGURATION_VALUE=1 make flash test

Setting CFLAGS with space for docker

This one is a trickier as CFLAGS are modified in the Makefile, so cannot be detected automatically in the docker handling. The solution is to pass it with DOCKER_ENVIRONMENT_CMDLINE.

When the CFLAGS is defined like this, I did not find another solution than escaping the space.

DOCKER_ENVIRONMENT_CMDLINE=$'-e CFLAGS=-DSTRING_FROM_DOCKER=\'\\\"with\ space\\\"\'' \
  BUILD_IN_DOCKER=1 make
grep '#define STRING_FROM_DOCKER "with space"' bin/native/riotbuild/riotbuild.h \
  || { echo 'ERROR CFLAGS not passed correctly' >&2; false; }

...
#define STRING_FROM_DOCKER "with space"