Please sign in to comment.
sanitycheck: fix priority of --extra-args=CONFIG_ over testcase.yaml
sanitycheck takes any "extra_config" list found in the testcase.yaml file and generates an "overlay" file from it. This file is placed in the per-test build directory and passed to cmake/kconfig.cmake through a -DOVERLAY_CONF= option set in the (also) generated sanity-out/Makefile. This commit moves this generated config overlay to a subdirectory one level down from the build directory, otherwise kconfig.cmake picks it up *twice*: once from the -DOVERLAY_CONF= option already mentioned above and a second time because kconfig.cmake scans the build directory and blindly picks up ALL files ending with .conf[*]. The second pickup is problematic because kconfig.cmake currently gives it the top precedence, even higher than anything the user espressed with --extra-args=CONFIG_* Here's a quick and simple demonstration of the issue fixed by this commit: cd $ZEPHYR_BASE/samples/net/sockets/net_mgmt/ sanitycheck -T. -p qemu_x86 -b -v # --extra-args=CONFIG_USERSPACE=y|n grep CONFIG_USERSPACE $(find sanity-out/ -name .config) .net_mgmt.kernelmode/zephyr/.config: # CONFIG_USERSPACE is not set .net_mgmt.usermode/zephyr/.config: CONFIG_USERSPACE=y grep 'Merged configuration' $(find sanity-out/ -name build.log) Without this commit, attemps to override anything with --extra-args=CONFIG_ are silently dropped on the floor. For more background this issue was found while using the recipe in commit message 4afcc0f [*] picking up all .conf files is debatable but a much bigger debate with backward compatibility implications. This small fix makes absolutely zero difference to anyone or anything not using sanitycheck. Signed-off-by: Marc Herbert <email@example.com>
- Loading branch information...
Showing with 10 additions and 4 deletions.