Jakub Czapiga has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/70107 )
Change subject: tests/Makefile.common: Allow to disable test framework with parameter ......................................................................
tests/Makefile.common: Allow to disable test framework with parameter
Test framework can be used as a base for other test-like utilities - for example look at screenshoot utility in depthcharge. Sometimes CMocka is not required and even makes things problematic. Thanks to this patch one can set -no_test_framework parameter to instruct framework not to include and link selected test against CMocka library.
Signed-off-by: Jakub Czapiga jacz@semihalf.com Change-Id: I01dc7c6c50e6ae2f7f71bd6752c2d5f2cc7c3cdc --- M tests/Makefile.common 1 file changed, 24 insertions(+), 6 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/07/70107/1
diff --git a/tests/Makefile.common b/tests/Makefile.common index 595f870..fe46aeb 100644 --- a/tests/Makefile.common +++ b/tests/Makefile.common @@ -55,14 +55,10 @@
TEST_CFLAGS += -D__TEST__
-TEST_CFLAGS += -I$(cmockasrc)/include - ifneq ($(filter-out 0,$(TEST_PRINT)),) TEST_CFLAGS += -DTEST_PRINT=1 endif
-# Link against Cmocka -TEST_LDFLAGS := -L$(cmockaobj)/src -lcmocka -Wl,-rpath=$(cmockaobj)/src TEST_LDFLAGS += -Wl,--gc-sections
# Some memlayout symbols don't work with userspace relocation -- disable it. @@ -70,7 +66,7 @@ TEST_LDFLAGS += -no-pie
# Extra attributes for unit tests, declared per test -attributes := srcs cflags config mocks stage +attributes := srcs cflags config mocks no_test_framework stage
# Copy attributes of one test to another. # $1 - input test name @@ -136,7 +132,13 @@ done ; \ $(OBJCOPY) $$@.orig $$$$objcopy_wrap_flags $$@
-$($(1)-bin): $($(1)-objs) $(CMOCKA_LIB) +# Link against Cmocka if not disabled +$(addsuffix $$(filter-out n 0,$($(1)-no_test_framework)),$($(1)-objs)): TEST_CFLAGS += -I$(cmockasrc)/include +$($(1)-bin)$$(filter-out n 0,$($(1)-no_test_framework)): TEST_LDFLAGS += -L$(cmockaobj)/src -lcmocka -Wl,-rpath=$(cmockaobj)/src +$($(1)-bin)$$(filter-out n 0,$($(1)-no_test_framework)): TEST_CFLAGS += -I$(cmockasrc)/include +$($(1)-bin)$$(filter-out n 0,$($(1)-no_test_framework)): $(CMOCKA_LIB) + +$($(1)-bin): $($(1)-objs) $(HOSTCC) $$^ $($(1)-cflags) $$(TEST_LDFLAGS) -o $$@
endef