tests/kconfig_features: Add check for common variable values
This verifies that the following variables have the same value in the Kconfig counterpart: - BOARD - CPU - CPU_MODEL - CPU_FAM - CPU_CORE - CPU_ARCH
This commit is contained in:
parent
2bdf9b16ee
commit
03ee4617e2
@ -12,11 +12,22 @@ BOARD_WHITELIST += arduino-duemilanove \
|
||||
samr21-xpro
|
||||
|
||||
|
||||
all: kconfig-features
|
||||
all: checks
|
||||
|
||||
include $(RIOTBASE)/Makefile.include
|
||||
|
||||
# List of variables to compare between Makefile and Kconfig
|
||||
_VARS_TO_CHECK = BOARD CPU CPU_MODEL CPU_FAM CPU_CORE CPU_ARCH
|
||||
|
||||
# Only compare variables that have a value in Makefile
|
||||
checks: kconfig-features $(foreach v,$(_VARS_TO_CHECK), $(if $($(v)),check-value-$(v)))
|
||||
|
||||
kconfig-features: $(KCONFIG_OUT_CONFIG)
|
||||
@bash -c 'diff <($(MAKE) info-features-provided) \
|
||||
<($(MAKE) dependency-debug-features-provided-kconfig) || \
|
||||
(echo "ERROR: Kconfig features mismatch" && exit 1)'
|
||||
|
||||
check-value-%: $(KCONFIG_OUT_CONFIG)
|
||||
@bash -c '(diff <($(MAKE) info-debug-variable-$*) \
|
||||
<($(MAKE) info-debug-variable-CONFIG_$*) && echo "SUCCESS: $* values match") || \
|
||||
(echo "ERROR: The value for $* in Kconfig does not match the one in the Makefile" && exit 1)'
|
||||
|
||||
@ -4,6 +4,9 @@ The objective of this test is to control the synchronization of features
|
||||
provided by boards via `Makefile.features` and `Kconfig` files during the
|
||||
migration process.
|
||||
|
||||
It also checks that multiple common variables (e.g. CPU_MODEL) have the same
|
||||
value in the Makefiles and in Kconfig.
|
||||
|
||||
The test checks during compilation that both lists of features provided by
|
||||
the board match. The `BOARD_WHITELIST` is used to test only the boards that have
|
||||
their features modelled in Kconfig.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user