Skip to content

Commit

Permalink
Merge branch 'fix/test_app_trim_builds' into 'master'
Browse files Browse the repository at this point in the history
fix(test_apps): Trim builds of component test apps

See merge request espressif/esp-idf!25789
  • Loading branch information
Zim Kalinowski committed Sep 20, 2023
2 parents 1f40ad4 + 287bdc5 commit d9a9a4a
Show file tree
Hide file tree
Showing 43 changed files with 130 additions and 20 deletions.
4 changes: 4 additions & 0 deletions components/driver/test_apps/legacy_i2c_driver/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ set(EXTRA_COMPONENT_DIRS
"$ENV{IDF_PATH}/tools/unit-test-app/components"
)

# "Trim" the build. Include the minimal set of components, main, and anything it depends on. We also depend on esp_pm
# as we set CONFIG_PM_... options.
set(COMPONENTS main esp_pm)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(legacy_i2c_test)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@ set(srcs "test_app_main.c"
)

idf_component_register(SRCS ${srcs}
PRIV_REQUIRES unity test_utils driver
WHOLE_ARCHIVE)
Original file line number Diff line number Diff line change
@@ -1,2 +0,0 @@
CONFIG_FREERTOS_HZ=1000
CONFIG_ESP_TASK_WDT=n
5 changes: 5 additions & 0 deletions components/esp_hw_support/test_apps/dma/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,9 @@
cmake_minimum_required(VERSION 3.16)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

# "Trim" the build. Include the minimal set of components, main, and anything it depends on. We also depend on esp_psram
# as we set CONFIG_SPIRAM_... options.
set(COMPONENTS main esp_psram)

project(dma_test)
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,5 @@ endif()
# In order for the cases defined by `TEST_CASE` to be linked into the final elf,
# the component can be registered as WHOLE_ARCHIVE
idf_component_register(SRCS ${srcs}
PRIV_REQUIRES unity
WHOLE_ARCHIVE)
5 changes: 5 additions & 0 deletions components/esp_hw_support/test_apps/etm/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,9 @@
cmake_minimum_required(VERSION 3.16)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

# "Trim" the build. Include the minimal set of components, main, and anything it depends on. We also depend on esp_pm
# as we set CONFIG_PM_... options.
set(COMPONENTS main esp_pm)

project(etm_test)
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,5 @@ endif()
# In order for the cases defined by `TEST_CASE` to be linked into the final elf,
# the component can be registered as WHOLE_ARCHIVE
idf_component_register(SRCS ${srcs}
PRIV_REQUIRES unity esp_timer driver
WHOLE_ARCHIVE)
5 changes: 5 additions & 0 deletions components/esp_hw_support/test_apps/mspi/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,9 @@
cmake_minimum_required(VERSION 3.16)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

# "Trim" the build. Include the minimal set of components, main, and anything it depends on. We also depend on esp_psram
# as we set CONFIG_SPIRAM_... options.
set(COMPONENTS main esp_psram)

project(mspi_test_app)
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@ set(srcs
# In order for the cases defined by `TEST_CASE` to be linked into the final elf,
# the component can be registered as WHOLE_ARCHIVE
idf_component_register(SRCS ${srcs}
PRIV_REQUIRES unity esp_timer spi_flash esp_partition
WHOLE_ARCHIVE)
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,12 @@
cmake_minimum_required(VERSION 3.16)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

list(APPEND EXTRA_COMPONENT_DIRS
"$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. We also depend on
# esptool_py and esp_psram as we set CONFIG_ESPTOOLPY_... and CONFIG_SPIRAM_... options.
set(COMPONENTS main esptool_py esp_psram)

project(mspi_psram_test_app)
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ set(srcs
# In order for the cases defined by `TEST_CASE` to be linked into the final elf,
# the component can be registered as WHOLE_ARCHIVE
idf_component_register(SRCS ${srcs}
PRIV_REQUIRES unity test_utils spi_flash esp_partition esp_pm
WHOLE_ARCHIVE)
4 changes: 4 additions & 0 deletions components/esp_lcd/test_apps/i2c_lcd_legacy/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,8 @@
cmake_minimum_required(VERSION 3.16)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

# "Trim" the build. Include the minimal set of components, main, and anything it depends on.
set(COMPONENTS main)

project(legacy_i2c_lcd_panel_test)
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ set(srcs "test_app_main.c"
# In order for the cases defined by `TEST_CASE` to be linked into the final elf,
# the component can be registered as WHOLE_ARCHIVE
idf_component_register(SRCS ${srcs}
PRIV_REQUIRES unity driver esp_lcd
WHOLE_ARCHIVE)
4 changes: 4 additions & 0 deletions components/esp_mm/test_apps/mm/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ cmake_minimum_required(VERSION 3.16)

set(EXTRA_COMPONENT_DIRS "$ENV{IDF_PATH}/components/esp_mm/test_apps/components")

# "Trim" the build. Include the minimal set of components, main, and anything it depends on. We also depend on esp_psram
# as we set CONFIG_SPIRAM_... options.
set(COMPONENTS main esp_psram)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(mm_test)

Expand Down
3 changes: 3 additions & 0 deletions components/esp_mm/test_apps/mmap_hw/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ cmake_minimum_required(VERSION 3.16)

set(EXTRA_COMPONENT_DIRS "$ENV{IDF_PATH}/tools/unit-test-app/components")

# "Trim" the build. Include the minimal set of components, main, and anything it depends on.
set(COMPONENTS main)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(mmap_hw_test)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ cmake_minimum_required(VERSION 3.16)

set(EXTRA_COMPONENT_DIRS "$ENV{IDF_PATH}/tools/unit-test-app/components")

# "Trim" the build. Include the minimal set of components, main, and anything it depends on.
set(COMPONENTS main)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(esp_netif_test)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ cmake_minimum_required(VERSION 3.16)

set(EXTRA_COMPONENT_DIRS "$ENV{IDF_PATH}/tools/unit-test-app/components")

# "Trim" the build. Include the minimal set of components, main, and anything it depends on.
set(COMPONENTS main)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(esp_vfs_l2tap_test)

Expand Down
4 changes: 4 additions & 0 deletions components/esp_psram/test_apps/psram/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,8 @@
cmake_minimum_required(VERSION 3.5)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

# "Trim" the build. Include the minimal set of components, main, and anything it depends on.
set(COMPONENTS main)

project(psram_test)
1 change: 1 addition & 0 deletions components/esp_psram/test_apps/psram/main/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@ endif()
# In order for the cases defined by `TEST_CASE` to be linked into the final elf,
# the component can be registered as WHOLE_ARCHIVE
idf_component_register(SRCS ${srcs}
PRIV_REQUIRES unity esp_psram spi_flash driver esp_partition
WHOLE_ARCHIVE)
3 changes: 3 additions & 0 deletions components/esp_wifi/test_apps/wifi_connect/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ cmake_minimum_required(VERSION 3.16)

set(EXTRA_COMPONENT_DIRS "$ENV{IDF_PATH}/tools/unit-test-app/components")

# "Trim" the build. Include the minimal set of components, main, and anything it depends on.
set(COMPONENTS main)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

if($ENV{CI_PIPELINE_ID})
Expand Down
3 changes: 3 additions & 0 deletions components/esp_wifi/test_apps/wifi_function/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,8 @@ cmake_minimum_required(VERSION 3.16)

set(EXTRA_COMPONENT_DIRS "$ENV{IDF_PATH}/tools/unit-test-app/components")

# "Trim" the build. Include the minimal set of components, main, and anything it depends on.
set(COMPONENTS main)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(wifi_test)
28 changes: 14 additions & 14 deletions components/freertos/test_apps/freertos/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -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")
include($ENV{IDF_PATH}/tools/cmake/project.cmake)

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
# 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.
set(COMPONENTS main esp_psram ${test_types})
# "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)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(freertos_test)
3 changes: 2 additions & 1 deletion components/freertos/test_apps/freertos/main/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -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)
2 changes: 1 addition & 1 deletion components/freertos/test_apps/freertos/misc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Original file line number Diff line number Diff line change
Expand Up @@ -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)
2 changes: 1 addition & 1 deletion components/freertos/test_apps/freertos/port/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,8 @@
cmake_minimum_required(VERSION 3.16)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

# "Trim" the build. Include the minimal set of components, main, and anything it depends on.
set(COMPONENTS main)

project(test_ieee802154)
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ set(include "."
# the component can be registered as WHOLE_ARCHIVE
idf_component_register(SRCS ${srcs}
INCLUDE_DIRS include
PRIV_REQUIRES ieee802154 console fatfs nvs_flash esp_phy
WHOLE_ARCHIVE)
4 changes: 4 additions & 0 deletions components/spi_flash/test_apps/esp_flash/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ cmake_minimum_required(VERSION 3.16)

set(EXTRA_COMPONENT_DIRS "$ENV{IDF_PATH}/tools/unit-test-app/components")

# "Trim" the build. Include the minimal set of components, main, and anything it depends on. We also depend on
# esptool_py as we set CONFIG_ESPTOOLPY_... options.
set(COMPONENTS main esptool_py)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

project(test_esp_flash_drv)
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@ set(srcs "test_app_main.c"
# In order for the cases defined by `TEST_CASE` to be linked into the final elf,
# the component can be registered as WHOLE_ARCHIVE
idf_component_register(SRCS ${srcs}
PRIV_REQUIRES unity test_utils spi_flash esp_timer driver bootloader_support
WHOLE_ARCHIVE)
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ cmake_minimum_required(VERSION 3.16)

set(EXTRA_COMPONENT_DIRS "$ENV{IDF_PATH}/components/spi_flash/test_apps/components")

# "Trim" the build. Include the minimal set of components, main, and anything it depends on. We also depend on esp_psram
# and esptool_py as we set CONFIG_SPIRAM_... and CONFIG_ESPTOOLPY_... options.
set(COMPONENTS main esp_psram esptool_py)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

project(test_esp_flash_stress)
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,9 @@
cmake_minimum_required(VERSION 3.16)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

# "Trim" the build. Include the minimal set of components, main, and anything it depends on. We also depend on esp_psram
# and esptool_py as we set CONFIG_SPIRAM_... and CONFIG_ESPTOOLPY_... options.
set(COMPONENTS main esp_psram esptool_py)

project(test_flash_encryption)
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@ set(srcs "test_app_main.c"
"test_flash_encryption.c")

idf_component_register(SRCS ${srcs}
PRIV_REQUIRES unity spi_flash bootloader_support esp_partition
WHOLE_ARCHIVE)
target_compile_options(${COMPONENT_LIB} PRIVATE "-Wno-format")
4 changes: 4 additions & 0 deletions components/spi_flash/test_apps/flash_mmap/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,9 @@ cmake_minimum_required(VERSION 3.16)

set(EXTRA_COMPONENT_DIRS "$ENV{IDF_PATH}/tools/unit-test-app/components")

# "Trim" the build. Include the minimal set of components, main, and anything it depends on. We also depend on esp_psram
# as we set CONFIG_SPIRAM_... options.
set(COMPONENTS main esp_psram)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(test_flash_mmap)
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ set(srcs "test_app_main.c"
# In order for the cases defined by `TEST_CASE` to be linked into the final elf,
# the component can be registered as WHOLE_ARCHIVE
idf_component_register(SRCS ${srcs}
PRIV_REQUIRES unity test_utils spi_flash bootloader_support esp_partition
WHOLE_ARCHIVE)
3 changes: 3 additions & 0 deletions components/spi_flash/test_apps/flash_suspend/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,8 @@ cmake_minimum_required(VERSION 3.16)

set(EXTRA_COMPONENT_DIRS "$ENV{IDF_PATH}/tools/unit-test-app/components")

# "Trim" the build. Include the minimal set of components, main, and anything it depends on.
set(COMPONENTS main)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(test_flash_suspend)
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ set(srcs "test_app_main.c"
# In order for the cases defined by `TEST_CASE` to be linked into the final elf,
# the component can be registered as WHOLE_ARCHIVE
idf_component_register(SRCS ${srcs}
PRIV_REQUIRES unity test_utils spi_flash driver esp_partition
WHOLE_ARCHIVE)
4 changes: 4 additions & 0 deletions components/spi_flash/test_apps/mspi_test/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
# This is the project CMakeLists.txt file for the test subproject
cmake_minimum_required(VERSION 3.16)

# "Trim" the build. Include the minimal set of components, main, and anything it depends on. We also depend on esp_psram
# as we set CONFIG_SPIRAM_... options.
set(COMPONENTS main esp_psram)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(mspi_test)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@ set(srcs "test_cache_disabled.c"
"test_app_main.c")

idf_component_register(SRCS ${srcs}
PRIV_REQUIRES unity spi_flash driver esp_partition bootloader_support app_update
WHOLE_ARCHIVE)
3 changes: 3 additions & 0 deletions components/ulp/test_apps/lp_core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,8 @@ set(EXTRA_COMPONENT_DIRS
"$ENV{IDF_PATH}/tools/unit-test-app/components"
)

# "Trim" the build. Include the minimal set of components, main, and anything it depends on.
set(COMPONENTS main)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(lp_core_test)
3 changes: 3 additions & 0 deletions components/ulp/test_apps/ulp_riscv/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,8 @@ cmake_minimum_required(VERSION 3.16)

list(PREPEND SDKCONFIG_DEFAULTS "$ENV{IDF_PATH}/tools/test_apps/configs/sdkconfig.debug_helpers" "sdkconfig.defaults")

# "Trim" the build. Include the minimal set of components, main, and anything it depends on.
set(COMPONENTS main)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(ulp_riscv_test)
5 changes: 5 additions & 0 deletions components/usb/test_apps/hcd/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,10 @@
cmake_minimum_required(VERSION 3.16)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

set(EXTRA_COMPONENT_DIRS "../common")

# "Trim" the build. Include the minimal set of components, main, and anything it depends on.
set(COMPONENTS main)

project(test_app_usb_host)
5 changes: 5 additions & 0 deletions components/usb/test_apps/usb_host/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,10 @@
cmake_minimum_required(VERSION 3.16)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

set(EXTRA_COMPONENT_DIRS "../common")

# "Trim" the build. Include the minimal set of components, main, and anything it depends on.
set(COMPONENTS main)

project(test_app_usb_host)

0 comments on commit d9a9a4a

Please sign in to comment.