fix(test_messages): fix vfs logging, fix test configs, enable custom key config

This commit is contained in:
aleks
2026-01-15 13:06:06 +01:00
parent 914297e267
commit a1379f0a6b
40 changed files with 173 additions and 19 deletions
+4
View File
@@ -82,6 +82,10 @@ after_script:
- echo "Component manager version ${COMPOTE_VER}"
- PIP_VERS=$(python -m pip freeze)
- echo "PIP component versions ${PIP_VERS}"
# Allows to debug jobs overriding the ESP_MODBUS_CONFIG_KEY to ESP_MODBUS_CONFIG_VALUE
# in all registered application configs that match the pattern ESP_MODBUS_CONFIG_PATTERN
- echo "Setup job with parameters ${ESP_MODBUS_CONFIG_KEY}, ${ESP_MODBUS_CONFIG_VALUE}, ${ESP_MODBUS_CONFIG_PATTERN}"
- ${TEST_DIR}/tools/setup_config_key.sh "${ESP_MODBUS_CONFIG_KEY}" "${ESP_MODBUS_CONFIG_VALUE}" "${ESP_MODBUS_CONFIG_PATTERN}"
# Note: this script builds the folder against all targets and then deletes
# all other artifacts except the esp32 to decrease the size of artifacs (may cause failures)
@@ -638,6 +638,14 @@ static esp_err_t master_init(void)
void app_main(void)
{
#if !CONFIG_LOG_DEFAULT_LEVEL_DEBUG
esp_log_level_set("mb_object.master",ESP_LOG_DEBUG);
esp_log_level_set("mbc_serial.master",ESP_LOG_DEBUG);
#else
// Disable VFS logs as they are too verbose
esp_log_level_set("vfs_calls", ESP_LOG_NONE);
#endif
// Initialization of device peripheral and objects
ESP_ERROR_CHECK(master_init());
vTaskDelay(10);
@@ -7,4 +7,5 @@ CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD=y
CONFIG_FMB_EXT_TYPE_SUPPORT=y
CONFIG_HEAP_POISONING_COMPREHENSIVE=y
CONFIG_HEAP_TRACING_OFF=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y # intentionally keep it here to change when needed!
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -7,4 +7,5 @@ CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD=y
CONFIG_FMB_EXT_TYPE_SUPPORT=y
CONFIG_HEAP_POISONING_COMPREHENSIVE=y
CONFIG_HEAP_TRACING_OFF=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y # intentionally keep it here to change when needed!
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -7,3 +7,5 @@ CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD=y
CONFIG_FMB_EXT_TYPE_SUPPORT=y
CONFIG_HEAP_POISONING_COMPREHENSIVE=y
CONFIG_HEAP_TRACING_OFF=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -175,6 +175,14 @@ void app_main(void)
// Set UART log level
esp_log_level_set(TAG, ESP_LOG_INFO);
#if !CONFIG_LOG_DEFAULT_LEVEL_DEBUG
esp_log_level_set("mbc_serial.slave",ESP_LOG_DEBUG);
esp_log_level_set("mb_object.slave",ESP_LOG_DEBUG);
#else
// Disable VFS logs as they are too verbose
esp_log_level_set("vfs_calls", ESP_LOG_NONE);
#endif
// Initialize Modbus controller
mb_communication_info_t comm_config = {
.ser_opts.port = MB_PORT_NUM,
@@ -6,4 +6,5 @@ CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD=y
CONFIG_FMB_EXT_TYPE_SUPPORT=y
CONFIG_HEAP_POISONING_COMPREHENSIVE=y
CONFIG_HEAP_TRACING_OFF=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y # intentionally keep it here to change when needed!
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -6,4 +6,5 @@ CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD=y
CONFIG_FMB_EXT_TYPE_SUPPORT=y
CONFIG_HEAP_POISONING_COMPREHENSIVE=y
CONFIG_HEAP_TRACING_OFF=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y # intentionally keep it here to change when needed!
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -9,3 +9,5 @@ CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD=y
CONFIG_FMB_EXT_TYPE_SUPPORT=y
CONFIG_HEAP_POISONING_COMPREHENSIVE=y
CONFIG_HEAP_TRACING_OFF=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -819,6 +819,14 @@ static esp_err_t master_destroy(void)
void app_main(void)
{
#if !CONFIG_LOG_DEFAULT_LEVEL_DEBUG
esp_log_level_set("mbc_tcp.master",ESP_LOG_DEBUG);
esp_log_level_set("mb_object.master",ESP_LOG_DEBUG);
#else
// Disable VFS logs as they are too verbose
esp_log_level_set("vfs_calls", ESP_LOG_NONE);
#endif
mb_tcp_addr_type_t ip_addr_type;
#if !CONFIG_EXAMPLE_CONNECT_IPV6
ip_addr_type = MB_IPV4;
@@ -13,7 +13,6 @@ CONFIG_FMB_MASTER_DELAY_MS_CONVERT=300
CONFIG_FMB_TCP_UID_ENABLED=y
CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD=y
CONFIG_MB_SLAVE_IP_FROM_STDIN=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y
CONFIG_FMB_EXT_TYPE_SUPPORT=y
CONFIG_EXAMPLE_CONNECT_IPV6=n
@@ -33,3 +32,5 @@ CONFIG_ETH_USE_SPI_ETHERNET=n
CONFIG_HEAP_POISONING_COMPREHENSIVE=y
CONFIG_HEAP_TRACING_OFF=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
+2 -1
View File
@@ -7,7 +7,6 @@ CONFIG_FMB_COMM_MODE_RTU_EN=n
CONFIG_FMB_COMM_MODE_ASCII_EN=n
CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=3000
CONFIG_FMB_MASTER_DELAY_MS_CONVERT=300
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y
CONFIG_FMB_TCP_UID_ENABLED=y
CONFIG_MB_SLAVE_IP_FROM_STDIN=y
CONFIG_EXAMPLE_CONNECT_IPV6=n
@@ -21,3 +20,5 @@ CONFIG_EXAMPLE_WIFI_PASSWORD="${CI_WIFI_PASSW}"
CONFIG_HEAP_POISONING_COMPREHENSIVE=y
CONFIG_HEAP_TRACING_OFF=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -19,3 +19,5 @@ CONFIG_EXAMPLE_CONNECT_ETHERNET=n
CONFIG_EXAMPLE_CONNECT_WIFI=y
CONFIG_EXAMPLE_WIFI_SSID="${CI_WIFI_SSID}"
CONFIG_EXAMPLE_WIFI_PASSWORD="${CI_WIFI_PASSW}"
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -433,6 +433,15 @@ static esp_err_t slave_destroy(void)
// by external Modbus master host.
void app_main(void)
{
#if !CONFIG_LOG_DEFAULT_LEVEL_DEBUG
esp_log_level_set("mbc_tcp.slave",ESP_LOG_DEBUG);
esp_log_level_set("mb_object.slave",ESP_LOG_DEBUG);
#else
// Disable VFS logs as they are too verbose
esp_log_level_set("vfs_calls", ESP_LOG_NONE);
#endif
ESP_ERROR_CHECK(init_services());
// Set UART log level
@@ -14,7 +14,6 @@ CONFIG_FMB_EXT_TYPE_SUPPORT=y
CONFIG_FMB_TCP_UID_ENABLED=y
CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD=y
CONFIG_MB_SLAVE_ADDR=1
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y # intentionally keep it here to change when needed!
CONFIG_EXAMPLE_CONNECT_IPV6=n
CONFIG_EXAMPLE_CONNECT_WIFI=n
CONFIG_EXAMPLE_CONNECT_ETHERNET=y
@@ -32,3 +31,5 @@ CONFIG_ETH_USE_SPI_ETHERNET=n
CONFIG_HEAP_POISONING_COMPREHENSIVE=y
CONFIG_HEAP_TRACING_OFF=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
+2 -1
View File
@@ -8,7 +8,6 @@ CONFIG_FMB_COMM_MODE_ASCII_EN=n
CONFIG_FMB_EXT_TYPE_SUPPORT=y
CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=3000
CONFIG_FMB_MASTER_DELAY_MS_CONVERT=300
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y
CONFIG_FMB_TCP_UID_ENABLED=y
CONFIG_MB_SLAVE_ADDR=1
CONFIG_EXAMPLE_CONNECT_IPV6=n
@@ -20,3 +19,5 @@ CONFIG_EXAMPLE_WIFI_PASSWORD="${CI_WIFI_PASSW}"
CONFIG_HEAP_POISONING_COMPREHENSIVE=y
CONFIG_HEAP_TRACING_OFF=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
+2 -1
View File
@@ -12,10 +12,11 @@ CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=2000
CONFIG_FMB_MASTER_DELAY_MS_CONVERT=300
CONFIG_FMB_TCP_UID_ENABLED=y
CONFIG_MB_SLAVE_ADDR=1
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y
CONFIG_EXAMPLE_CONNECT_IPV6=n
CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD=y
CONFIG_EXAMPLE_WIFI_SSID="${CI_WIFI_SSID}"
CONFIG_EXAMPLE_WIFI_PASSWORD="${CI_WIFI_PASSW}"
CONFIG_EXAMPLE_CONNECT_ETHERNET=n
CONFIG_EXAMPLE_CONNECT_WIFI=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -20,3 +20,5 @@ CONFIG_MB_TEST_MASTER_TASK_PRIO=4
CONFIG_MB_TEST_COMM_CYCLE_COUNTER=10
CONFIG_MB_TEST_LEAK_CRITICAL_LEVEL=256
CONFIG_MB_TEST_LEAK_WARN_LEVEL=256
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
+2
View File
@@ -20,3 +20,5 @@ CONFIG_MB_TEST_MASTER_TASK_PRIO=4
CONFIG_MB_TEST_COMM_CYCLE_COUNTER=10
CONFIG_MB_TEST_LEAK_CRITICAL_LEVEL=256
CONFIG_MB_TEST_LEAK_WARN_LEVEL=256
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -19,3 +19,5 @@ CONFIG_MB_PORT_ADAPTER_EN=y
CONFIG_MB_TEST_MASTER_TASK_PRIO=4
CONFIG_MB_TEST_SLAVE_TASK_PRIO=4
CONFIG_MB_TEST_COMM_CYCLE_COUNTER=10
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -1,3 +1,5 @@
# General options for test
CONFIG_HEAP_POISONING_COMPREHENSIVE=y
CONFIG_HEAP_TRACING_OFF=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -9,6 +9,14 @@
void app_main(void)
{
#if !CONFIG_LOG_DEFAULT_LEVEL_DEBUG
esp_log_level_set("mbc_tcp.slave",ESP_LOG_DEBUG);
esp_log_level_set("mbc_serial.slave",ESP_LOG_DEBUG);
esp_log_level_set("mb_object.slave",ESP_LOG_DEBUG);
#else
// Disable VFS logs as they are too verbose
esp_log_level_set("vfs_calls", ESP_LOG_NONE);
#endif
printf("Modbus RS485 multi-device test cases/n");
unity_run_menu();
}
@@ -30,4 +30,5 @@ CONFIG_ETH_USE_ESP32_EMAC=y
CONFIG_ETH_USE_SPI_ETHERNET=n
# Enable debug logging
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
+2 -1
View File
@@ -26,4 +26,5 @@ CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE=y
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
# Enable debug logging
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
+2 -1
View File
@@ -21,4 +21,5 @@ CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE=y
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
# Enable debug logging
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
+2 -1
View File
@@ -24,4 +24,5 @@ CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE=y
# Enable debug logging
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -667,7 +667,16 @@ TaskHandle_t master_tcp_create_instance(mb_communication_info_t *pconfig, uint32
void app_main(void)
{
#if !CONFIG_LOG_DEFAULT_LEVEL_DEBUG
esp_log_level_set("mbc_tcp.master",ESP_LOG_DEBUG);
esp_log_level_set("mb_object.master",ESP_LOG_DEBUG);
#else
// Disable VFS logs as they are too verbose
esp_log_level_set("vfs_calls", ESP_LOG_NONE);
#endif
void *pnetif = NULL;
TEST_ASSERT_TRUE(test_tcp_services_init(&pnetif) == ESP_OK);
TEST_ASSERT_NOT_NULL(pnetif);
test_common_start();
@@ -12,7 +12,6 @@ CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=3000
CONFIG_FMB_MASTER_DELAY_MS_CONVERT=300
CONFIG_FMB_TCP_UID_ENABLED=n
CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y
CONFIG_FMB_EXT_TYPE_SUPPORT=y
CONFIG_EXAMPLE_CONNECT_IPV6=n
@@ -29,3 +28,5 @@ CONFIG_EXAMPLE_ETHERNET_EMAC_TASK_STACK_SIZE=4096
CONFIG_ETH_ENABLED=y
CONFIG_ETH_USE_ESP32_EMAC=y
CONFIG_ETH_USE_SPI_ETHERNET=n
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -21,4 +21,5 @@ CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE=y
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
# Enable debug logging
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -24,4 +24,5 @@ CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE=y
# Enable debug logging
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -424,6 +424,14 @@ TaskHandle_t slave_tcp_create_instance(mb_communication_info_t *pconfig, uint32_
void app_main(void)
{
#if !CONFIG_LOG_DEFAULT_LEVEL_DEBUG
esp_log_level_set("mbc_tcp.slave",ESP_LOG_DEBUG);
esp_log_level_set("mb_object.slave",ESP_LOG_DEBUG);
#else
// Disable VFS logs as they are too verbose
esp_log_level_set("vfs_calls", ESP_LOG_NONE);
#endif
void *pnetif = NULL;
TEST_ASSERT_TRUE(test_tcp_services_init(&pnetif) == ESP_OK);
TEST_ASSERT_NOT_NULL(pnetif);
@@ -13,7 +13,6 @@ CONFIG_FMB_MASTER_DELAY_MS_CONVERT=300
CONFIG_FMB_EXT_TYPE_SUPPORT=y
CONFIG_FMB_TCP_UID_ENABLED=n
CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y
CONFIG_EXAMPLE_CONNECT_IPV6=n
CONFIG_EXAMPLE_CONNECT_WIFI=n
CONFIG_EXAMPLE_CONNECT_ETHERNET=y
@@ -28,3 +27,5 @@ CONFIG_EXAMPLE_ETHERNET_EMAC_TASK_STACK_SIZE=4096
CONFIG_ETH_ENABLED=y
CONFIG_ETH_USE_ESP32_EMAC=y
CONFIG_ETH_USE_SPI_ETHERNET=n
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -21,4 +21,5 @@ CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE=y
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
# Enable debug logging
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -24,4 +24,5 @@ CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE=y
# Enable debug logging
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -20,3 +20,5 @@ CONFIG_MB_TEST_MASTER_TASK_PRIO=4
CONFIG_MB_TEST_COMM_CYCLE_COUNTER=10
CONFIG_MB_TEST_LEAK_CRITICAL_LEVEL=128
CONFIG_MB_TEST_LEAK_WARN_LEVEL=128
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -16,3 +16,5 @@ CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD=y
CONFIG_MB_PORT_ADAPTER_EN=y
CONFIG_MB_TEST_LEAK_CRITICAL_LEVEL=128
CONFIG_MB_TEST_LEAK_WARN_LEVEL=128
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -14,3 +14,5 @@ CONFIG_FMB_MASTER_TIMEOUT_MS_RESPOND=2000
CONFIG_FMB_MASTER_DELAY_MS_CONVERT=300
CONFIG_FMB_TIMER_USE_ISR_DISPATCH_METHOD=y
CONFIG_MB_PORT_ADAPTER_EN=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -1,2 +1,4 @@
# General options for test
CONFIG_FMB_EXT_TYPE_SUPPORT=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
@@ -1,2 +1,4 @@
# General options for test
CONFIG_UNITY_ENABLE_FIXTURE=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=n
CONFIG_LOG_MAXIMUM_LEVEL_DEBUG=y
+49
View File
@@ -0,0 +1,49 @@
#!/bin/bash
ROOT_DIR="$( cd "$(dirname "$0")/../" ; pwd -P )"
# Parse parameters: require at least key and value, optional file mask
if [ $# -lt 2 ] || [ $# -gt 6 ]; then
echo "Parameters provided: $#, $@, Usage: $0 CONFIG_KEY KEY_VALUE [CONFIG_MASK] "
echo "Example: $0 CONFIG_FMB_SETUP_DEBUG_MESSAGING y 'sdkconfig.ci.*'"
exit 1
fi
echo "Script called with $# parameters: $@"
echo "Root project path: ${ROOT_DIR}"
KEY="${1:-CONFIG_FMB_SETUP_DEBUG_MESSAGING}"
VALUE="${2:-y}"
FILE_PATTERN="${3:-sdkconfig.*}" # default mask if not provided
export APPS=$( find "${ROOT_DIR}" -type d ! -path "build_*" ! -path "*espressif__*" ! -path "managed_components*" ! -path "*arch*" \
\( -exec test -f '{}/CMakeLists.txt' \; -and \
-exec test -d '{}/main' \; -and \
-exec test -f '{}/main/CMakeLists.txt' \; \
\) -print )
echo "Found applications to check: ${APPS}"
for APP_DIR in ${APPS}
do
pushd ${APP_DIR}
echo "Checking for files matching: ${APP_DIR}/${FILE_PATTERN}"
shopt -s nullglob
matches=( ${FILE_PATTERN} )
if [ ${#matches[@]} -eq 0 ]; then
echo "No matching files in ${APP_DIR}"
else
for FILE in "${matches[@]}"; do
echo "Found file: ${APP_DIR}/${FILE}"
if grep -q "^${KEY}=" "${FILE}"; then
echo "Updating ${KEY} in ${FILE} to ${VALUE}"
# use '|' delimiter to allow slashes in VALUE
sed -i "s|^${KEY}=.*|${KEY}=${VALUE}|" "${FILE}"
else
echo "Setting ${KEY} in ${FILE} to ${VALUE}"
echo "${KEY}=${VALUE}" >> "${FILE}"
fi
done
fi
shopt -u nullglob
popd
done