fix(test_apps): Trim builds of component test apps

Some component test apps do not use the "set(COMPONENTS main)" command in their
project level "CMakeLists.txt", thus leading to their builds pulling in all
ESP-IDF components.

This commit trims the build of multiple component test apps:

- Add "set(COMPONENTS main ...)" to project level "CMakeLists.txt"
- Add missing "PRIV_REQUIRES" in some "main" component "CMakeLists.txt"

Also removed repeated configuraiton options in legacy_i2c_driver/sdkconfig.ci.defaults
as they are already specified in legacy_i2c_driver/sdkconfig.defaults
This commit is contained in:
Darian Leung
2023-09-18 17:16:37 +08:00
parent ae80ad7ac7
commit 287bdc5e61
43 changed files with 132 additions and 22 deletions
@@ -1,21 +1,21 @@
# This is the project CMakeLists.txt file for the test subproject
cmake_minimum_required(VERSION 3.16)
# FreeRTOS tests of different types (e.g., kernel, port, performance etc.)are
# split into different directores in the test app's root directory. Each test
# type is treated as separate component
set(test_types
"kernel"
"misc"
"performance"
"port")
list(APPEND EXTRA_COMPONENT_DIRS
${test_types} # Add each test type as a component
"$ENV{IDF_PATH}/tools/unit-test-app/components") # For test_utils component
#"Trim" the build. Include the minimal set of components, main, and anything it depends on.
set(COMPONENTS main esp_psram ${test_types})
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
# Set extra component directories for
# - test_utils component
# - the different test types (e.g., kernel, port, performance, ...) that are organized as components
set(EXTRA_COMPONENT_DIRS
"$ENV{IDF_PATH}/tools/unit-test-app/components"
"./kernel"
"./misc"
"./performance"
"./port"
)
# "Trim" the build. Include the minimal set of components, main, and anything it depends on. We also depend on esp_psram
# as we enable CONFIG_SPIRAM_... options.
set(COMPONENTS main esp_psram)
project(freertos_test)
@@ -1,2 +1,3 @@
idf_component_register(SRCS "test_freertos_main.c"
PRIV_REQUIRES unity test_utils driver)
# Pull in the components containing each type of FreeRTOS test
PRIV_REQUIRES unity test_utils kernel misc performance port)
@@ -3,5 +3,5 @@
# In order for the cases defined by `TEST_CASE` in "misc" to be linked into
# the final elf, the component can be registered as WHOLE_ARCHIVE
idf_component_register(SRC_DIRS "."
PRIV_REQUIRES test_utils
PRIV_REQUIRES unity test_utils
WHOLE_ARCHIVE)
@@ -3,5 +3,5 @@
# In order for the cases defined by `TEST_CASE` in "performance" to be linked into
# the final elf, the component can be registered as WHOLE_ARCHIVE
idf_component_register(SRC_DIRS "."
PRIV_REQUIRES test_utils
PRIV_REQUIRES unity test_utils
WHOLE_ARCHIVE)
@@ -3,5 +3,5 @@
# In order for the cases defined by `TEST_CASE` in "port" to be linked into
# the final elf, the component can be registered as WHOLE_ARCHIVE
idf_component_register(SRC_DIRS "."
PRIV_REQUIRES test_utils
PRIV_REQUIRES unity test_utils
WHOLE_ARCHIVE)