summaryrefslogtreecommitdiff
path: root/tests/Makefile.inc
diff options
context:
space:
mode:
authorJulius Werner <jwerner@chromium.org>2020-06-10 15:35:08 -0700
committerJulius Werner <jwerner@chromium.org>2020-06-12 19:40:19 +0000
commit1e14de8bda93fda4c0ace8b6421d67e8605758bb (patch)
tree3d356c70f7f95779423480f75d866a2197c144a8 /tests/Makefile.inc
parenta2977ae72d7711fa24592f9e64d3ed62c3028664 (diff)
downloadcoreboot-1e14de8bda93fda4c0ace8b6421d67e8605758bb.tar.xz
tests: Add some basic warnings and fix resulting issues
The current test framework builds the test code without any warnings at all, which isn't great -- we have already slipped in some cases of non-void functions not returning a defined value, for example. It would likely be overkill to try to use all the same warnings we use for normal coreboot code (e.g. some stuff like -Wmissing-prototypes makes cmocka's __wrap_xxx() mock functions unnecessarily cumbersome to work with, and other things like -Wvla may be appropriate for firmware but is probably too aggressive for some simple test code). Therefore, let's just add some of the stuff that points out the most obvious errors. Signed-off-by: Julius Werner <jwerner@chromium.org> Change-Id: I4d9801f52a8551f55f419f4141dc21ccb835d676 Reviewed-on: https://review.coreboot.org/c/coreboot/+/42259 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Jan Dabros <jsd@semihalf.com> Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
Diffstat (limited to 'tests/Makefile.inc')
-rw-r--r--tests/Makefile.inc9
1 files changed, 8 insertions, 1 deletions
diff --git a/tests/Makefile.inc b/tests/Makefile.inc
index bfd18060ab..53c0edf2a5 100644
--- a/tests/Makefile.inc
+++ b/tests/Makefile.inc
@@ -25,7 +25,14 @@ TEST_CFLAGS = -include $(src)/include/kconfig.h \
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 \
+ -I$(src)/commonlib/bsd/include -I$(src)/arch/x86/include
+
+# Note: This is intentionally just a subset of the warnings in the toplevel
+# Makefile.inc. We don't need to be as strict with test code, and things like
+# -Wmissing-prototypes just make working with the test framework cumbersome.
+# Only put conservative warnings here that really detect code that's obviously
+# unintentional.
+TEST_CFLAGS += -Wall -Werror -Wundef -Wstrict-prototypes
# Path for Kconfig autoheader
TEST_CFLAGS += -I$(dir $(TEST_KCONFIG_AUTOHEADER))