summaryrefslogtreecommitdiffstats
path: root/tests/Makefile.inc
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2020-05-04 17:44:04 -0700
committerJulius Werner <jwerner@chromium.org>2020-05-19 03:21:44 +0000
commit21744811bb7638830a7ca495694d295acbadc150 (patch)
treea867e9b86d35c942a4154ca185a3c8c72aa2536c /tests/Makefile.inc
parented03371e76239dae16b6397efef4814f8c30451e (diff)
downloadcoreboot-21744811bb7638830a7ca495694d295acbadc150.tar.gz
coreboot-21744811bb7638830a7ca495694d295acbadc150.tar.bz2
coreboot-21744811bb7638830a7ca495694d295acbadc150.zip
tests: Add <tests/test.h> wrapper header and fix --gc-sections
<cmocka.h> requires a few standard headers to be explicitly included before itself or it will throw compilation errors. Having to always include these headers in the right order in every test is cumbersome. Instead, this patch encapsulates the problem in a new <tests/test.h> header that all tests should include (instead of <cmocka.h> directly). Also fix --gc-sections in the test framework which needs to be passed for linking, not for compiling. Signed-off-by: Julius Werner <jwerner@chromium.org> Change-Id: I4284d74c8673708e21a5266eb42f7b9ae19a1b12 Reviewed-on: https://review.coreboot.org/c/coreboot/+/41045 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Jan Dabros Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
Diffstat (limited to 'tests/Makefile.inc')
-rw-r--r--tests/Makefile.inc13
1 files changed, 7 insertions, 6 deletions
diff --git a/tests/Makefile.inc b/tests/Makefile.inc
index debb2f9868c7..9ee27cd83195 100644
--- a/tests/Makefile.inc
+++ b/tests/Makefile.inc
@@ -1,5 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-only
+testsrc = $(top)/tests
testobj = $(obj)/tests
TEST_DEFAULT_CONFIG = $(top)/configs/config.emulation_qemu_x86_i440fx
@@ -10,12 +11,12 @@ TEST_KCONFIG_DEPENDENCIES := $(testobj)/auto.conf.cmd
TEST_KCONFIG_SPLITCONFIG := $(testobj)/config
TEST_KCONFIG_TRISTATE := $(testobj)/tristate.conf
-TEST_CFLAGS = -include$(src)/include/kconfig.h \
- -include$(src)/commonlib/bsd/include/commonlib/bsd/compiler.h \
- -include $(src)/include/rules.h \
+TEST_CFLAGS = -include $(src)/include/kconfig.h \
+ -include $(src)/commonlib/bsd/include/commonlib/bsd/compiler.h \
+ -include $(src)/include/rules.h
# Include generic test mock headers, before original ones
-TEST_CFLAGS += -Itests/include/mocks
+TEST_CFLAGS += -I$(testsrc)/include/mocks -I$(testsrc)/include
TEST_CFLAGS += -I$(src)/include -I$(src)/commonlib/include \
-I$(src)/commonlib/bsd/include -I$(src)/arch/x86/include \
@@ -24,10 +25,10 @@ TEST_CFLAGS += -I$(src)/include -I$(src)/commonlib/include \
TEST_CFLAGS += -I$(dir $(TEST_KCONFIG_AUTOHEADER))
TEST_CFLAGS += -std=gnu11 -Os -ffunction-sections -fdata-sections \
- -Wl,--gc-sections -fno-builtin
+ -fno-builtin
# Link against Cmocka
-TEST_LDFLAGS = -lcmocka
+TEST_LDFLAGS = -lcmocka -Wl,--gc-sections
# Extra attributes for unit tests, declared per test
attributes:= srcs cflags mocks stage