From 89517ed6b9e89321e1387ed8f534d7f080ffdf57 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Tue, 18 May 2021 13:56:12 +0100 Subject: libreboot! this is forked from the "libre" branch in osboot, which is itself a libre, deblobbed fork of osboot, a blobbed up fork of libreboot libreboot needed to be purged clean. this is the new libreboot development repository. the old one has been abandoned --- ...11-tests-Enable-config-override-for-tests.patch | 76 ++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 resources/coreboot/default/patches/0011-tests-Enable-config-override-for-tests.patch (limited to 'resources/coreboot/default/patches/0011-tests-Enable-config-override-for-tests.patch') diff --git a/resources/coreboot/default/patches/0011-tests-Enable-config-override-for-tests.patch b/resources/coreboot/default/patches/0011-tests-Enable-config-override-for-tests.patch new file mode 100644 index 00000000..2aca94d5 --- /dev/null +++ b/resources/coreboot/default/patches/0011-tests-Enable-config-override-for-tests.patch @@ -0,0 +1,76 @@ +From 89236c7c44797cd8306d9509552bf0115ffe928a Mon Sep 17 00:00:00 2001 +From: Jakub Czapiga +Date: Wed, 28 Apr 2021 16:50:51 +0200 +Subject: [PATCH 11/17] tests: Enable config override for tests + +Some tests require to change kconfig symbols values to cover the code. +This patch enables one to set these vaues using -config +variable. + +Example for integer values. +timestamp-test-config += CONFIG_HAVE_MONOTONIC_TIMER=1 + +Example for string values. Notice escaped quotes. +spd_cache-test-config += CONFIG_SPD_CACHE_FMAP_NAME=\"SPD_CACHE_FMAP_NAME\" + +Signed-off-by: Jakub Czapiga +Change-Id: I1aeb78362c2609fbefbfd91c0f58ec19ed258ee1 +Reviewed-on: https://review.coreboot.org/c/coreboot/+/52937 +Tested-by: build bot (Jenkins) +Reviewed-by: Paul Fagerburg +Reviewed-by: Julius Werner +--- + tests/Makefile.inc | 22 ++++++++++++++++++---- + 1 file changed, 18 insertions(+), 4 deletions(-) + +diff --git a/tests/Makefile.inc b/tests/Makefile.inc +index 44e3c69618..cd25e0f809 100644 +--- a/tests/Makefile.inc ++++ b/tests/Makefile.inc +@@ -11,7 +11,7 @@ CMAKE:= cmake + + TEST_DEFAULT_CONFIG = $(top)/configs/config.emulation_qemu_x86_i440fx + TEST_DOTCONFIG = $(testobj)/.config +-TEST_KCONFIG_AUTOHEADER := $(testobj)/config.h ++TEST_KCONFIG_AUTOHEADER := $(testobj)/config.src.h + TEST_KCONFIG_AUTOCONFIG := $(testobj)/auto.conf + TEST_KCONFIG_DEPENDENCIES := $(testobj)/auto.conf.cmd + TEST_KCONFIG_SPLITCONFIG := $(testobj)/config +@@ -52,7 +52,7 @@ TEST_CFLAGS += -fno-pie -fno-pic + TEST_LDFLAGS += -no-pie + + # Extra attributes for unit tests, declared per test +-attributes:= srcs cflags mocks stage ++attributes:= srcs cflags config mocks stage + + stages:= decompressor bootblock romstage smm verstage + stages+= ramstage rmodule postcar libagesa +@@ -83,9 +83,23 @@ $(call evaluate_subdirs) + # Create actual targets for unit test binaries + # $1 - test name + define TEST_CC_template +-$($(1)-objs): TEST_CFLAGS+= \ ++ ++# Generate custom config.h redefining given symbols ++$(1)-config-file := $(obj)/$(1)/config.h ++$$($(1)-config-file): $(TEST_KCONFIG_AUTOHEADER) ++ mkdir -p $$(dir $$@) ++ printf '// File generated by tests/Makefile.inc\n// Do not change\n' > $$@ ++ printf '#include <%s>\n\n' "$(notdir $(TEST_KCONFIG_AUTOHEADER))" >> $$@ ++ for kv in $$($(1)-config); do \ ++ key="`echo $$$$kv | cut -d '=' -f -1`"; \ ++ value="`echo $$$$kv | cut -d '=' -f 2-`"; \ ++ printf '#undef %s\n' "$$$$key" >> $$@; \ ++ printf '#define %s %s\n\n' "$$$$key" "$$$$value" >> $$@; \ ++ done ++ ++$($(1)-objs): TEST_CFLAGS += -I$$(dir $$($(1)-config-file)) \ + -D__$$(shell echo $$($(1)-stage) | tr '[:lower:]' '[:upper:]')__ +-$($(1)-objs): $(obj)/$(1)/%.o: $$$$*.c $(TEST_KCONFIG_AUTOHEADER) ++$($(1)-objs): $(obj)/$(1)/%.o: $$$$*.c $$($(1)-config-file) + mkdir -p $$(dir $$@) + $(HOSTCC) $(HOSTCFLAGS) $$(TEST_CFLAGS) $($(1)-cflags) -MMD \ + -MT $$@ -c $$< -o $$@ +-- +2.25.1 + -- cgit v1.2.1