Add build_unit_test.sh to do find_apps and build_apps to unit_tests

modify unit-test-apps config files, use CONFIG_IDF_TARGET to set target.
if not set, then treat them as supported both targets.
This commit is contained in:
Fu Hanxi 2020-04-29 10:38:05 +08:00 committed by bot
parent 04342a73f2
commit 01ff4f621f
43 changed files with 232 additions and 99 deletions

4
.gitignore vendored
View File

@ -40,6 +40,10 @@ tools/unit-test-app/sdkconfig.old
tools/unit-test-app/build tools/unit-test-app/build
tools/unit-test-app/builds tools/unit-test-app/builds
tools/unit-test-app/output tools/unit-test-app/output
tools/unit-test-app/test_configs
# Unit Test CMake compile log folder
log_ut_cmake
# IDF monitor test # IDF monitor test
tools/test_idf_monitor/outputs tools/test_idf_monitor/outputs

View File

@ -33,7 +33,6 @@ variables:
# tell build system do not check submodule update as we download archive instead of clone # tell build system do not check submodule update as we download archive instead of clone
IDF_SKIP_CHECK_SUBMODULES: 1 IDF_SKIP_CHECK_SUBMODULES: 1
UNIT_TEST_BUILD_SYSTEM: cmake
EXAMPLE_TEST_BUILD_SYSTEM: cmake EXAMPLE_TEST_BUILD_SYSTEM: cmake
IDF_PATH: "$CI_PROJECT_DIR" IDF_PATH: "$CI_PROJECT_DIR"
BATCH_BUILD: "1" BATCH_BUILD: "1"

107
tools/ci/build_unit_test.sh Executable file
View File

@ -0,0 +1,107 @@
#!/bin/bash
#
# Build unit test app
#
# Runs as part of CI process.
#
# -----------------------------------------------------------------------------
# Safety settings (see https://gist.github.com/ilg-ul/383869cbb01f61a51c4d).
if [[ ! -z ${DEBUG_SHELL} ]]
then
set -x # Activate the expand mode if DEBUG is anything but empty.
fi
set -o errexit # Exit if command failed.
set -o pipefail # Exit if pipe failed.
export PATH="$IDF_PATH/tools/ci:$IDF_PATH/tools:$PATH"
# -----------------------------------------------------------------------------
die() {
echo "${1:-"Unknown Error"}" 1>&2
exit 1
}
[ -z ${IDF_PATH} ] && die "IDF_PATH is not set"
[ -z ${LOG_PATH} ] && die "LOG_PATH is not set"
[ -z ${IDF_TARGET} ] && die "IDF_TARGET is not set"
[ -d ${LOG_PATH} ] || mkdir -p ${LOG_PATH}
# Relative to IDF_PATH
# If changing the BUILD_PATH, remember to update the "artifacts" in gitlab-ci configs, and IDFApp.py.
BUILD_PATH=${IDF_PATH}/tools/unit-test-app/builds
OUTPUT_PATH=${IDF_PATH}/tools/unit-test-app/output
mkdir -p ${BUILD_PATH}/${IDF_TARGET}
mkdir -p ${OUTPUT_PATH}/${IDF_TARGET}
if [ -z ${CI_NODE_TOTAL} ]; then
CI_NODE_TOTAL=1
echo "Assuming CI_NODE_TOTAL=${CI_NODE_TOTAL}"
fi
if [ -z ${CI_NODE_INDEX} ]; then
# Gitlab uses a 1-based index
CI_NODE_INDEX=1
echo "Assuming CI_NODE_INDEX=${CI_NODE_INDEX}"
fi
set -o nounset # Exit if variable not set.
# Convert LOG_PATH to relative, to make the json file less verbose.
LOG_PATH=$(realpath --relative-to ${IDF_PATH} ${LOG_PATH})
ALL_BUILD_LIST_JSON="${BUILD_PATH}/${IDF_TARGET}/list.json"
JOB_BUILD_LIST_JSON="${BUILD_PATH}/${IDF_TARGET}/list_job_${CI_NODE_INDEX}.json"
echo "build_unit_test running for target $IDF_TARGET"
cd ${IDF_PATH}
# This part of the script produces the same result for all the unit test app build jobs. It may be moved to a separate stage
# (pre-build) later, then the build jobs will receive ${BUILD_LIST_JSON} file as an artifact.
${IDF_PATH}/tools/find_apps.py tools/unit-test-app \
-vv \
--format json \
--build-system cmake \
--target ${IDF_TARGET} \
--recursive \
--build-dir "builds/@t/@w" \
--build-log "${LOG_PATH}/@w.txt" \
--output ${ALL_BUILD_LIST_JSON} \
--config 'configs/*='
# The part below is where the actual builds happen
${IDF_PATH}/tools/build_apps.py \
-vv \
--format json \
--keep-going \
--parallel-count ${CI_NODE_TOTAL} \
--parallel-index ${CI_NODE_INDEX} \
--output-build-list ${JOB_BUILD_LIST_JSON} \
${ALL_BUILD_LIST_JSON}\
# Copy build artifacts to output directory
build_names=$(cd ${BUILD_PATH}/${IDF_TARGET}; find . -maxdepth 1 \! -name . -prune -type d | cut -c 3-)
for build_name in $build_names; do
src=${BUILD_PATH}/${IDF_TARGET}/${build_name}
dst=${OUTPUT_PATH}/${IDF_TARGET}/${build_name}
echo "Copying artifacts from ${src} to ${dst}"
rm -rf ${dst}
mkdir -p ${dst}
cp ${src}/{*.bin,*.elf,*.map,sdkconfig,flasher_args.json} ${dst}/
mkdir -p ${dst}/bootloader
cp ${src}/bootloader/*.bin ${dst}/bootloader/
mkdir -p ${dst}/partition_table
cp ${src}/partition_table/*.bin ${dst}/partition_table/
done
# Check for build warnings
${IDF_PATH}/tools/ci/check_build_warnings.py -vv ${JOB_BUILD_LIST_JSON}

View File

@ -1,4 +1,3 @@
assign_test: assign_test:
tags: tags:
- assign_test - assign_test
@ -8,12 +7,13 @@ assign_test:
# we have a lot build example jobs. now we don't use dependencies, just download all artifacts of build stage. # we have a lot build example jobs. now we don't use dependencies, just download all artifacts of build stage.
dependencies: dependencies:
- build_ssc_esp32 - build_ssc_esp32
- build_esp_idf_tests_cmake - build_esp_idf_tests_cmake_esp32
- build_esp_idf_tests_cmake_esp32s2
variables: variables:
SUBMODULES_TO_FETCH: "components/esptool_py/esptool" SUBMODULES_TO_FETCH: "components/esptool_py/esptool"
EXAMPLE_CONFIG_OUTPUT_PATH: "$CI_PROJECT_DIR/examples/test_configs" EXAMPLE_CONFIG_OUTPUT_PATH: "$CI_PROJECT_DIR/examples/test_configs"
TEST_APP_CONFIG_OUTPUT_PATH: "$CI_PROJECT_DIR/tools/test_apps/test_configs" TEST_APP_CONFIG_OUTPUT_PATH: "$CI_PROJECT_DIR/tools/test_apps/test_configs"
UNIT_TEST_CASE_FILE: "${CI_PROJECT_DIR}/components/idf_test/unit_test/TestCaseAll.yml" UNIT_TEST_CASE_FILE: "${CI_PROJECT_DIR}/components/idf_test/unit_test"
artifacts: artifacts:
paths: paths:
- components/idf_test/*/CIConfigs - components/idf_test/*/CIConfigs
@ -55,8 +55,8 @@ update_test_cases:
- master - master
- schedules - schedules
dependencies: dependencies:
- build_esp_idf_tests_make - build_esp_idf_tests_cmake_esp32
- build_esp_idf_tests_cmake - build_esp_idf_tests_cmake_esp32s2
artifacts: artifacts:
when: always when: always
paths: paths:
@ -64,7 +64,7 @@ update_test_cases:
expire_in: 1 week expire_in: 1 week
variables: variables:
SUBMODULES_TO_FETCH: "components/esptool_py/esptool" SUBMODULES_TO_FETCH: "components/esptool_py/esptool"
UNIT_TEST_CASE_FILE: "${CI_PROJECT_DIR}/components/idf_test/unit_test/TestCaseAll.yml" UNIT_TEST_CASE_DIR: "${CI_PROJECT_DIR}/components/idf_test/unit_test"
BOT_ACCOUNT_CONFIG_FILE: "${CI_PROJECT_DIR}/test-management/Config/Account.local.yml" BOT_ACCOUNT_CONFIG_FILE: "${CI_PROJECT_DIR}/test-management/Config/Account.local.yml"
AUTO_TEST_SCRIPT_PATH: "${CI_PROJECT_DIR}/auto_test_script" AUTO_TEST_SCRIPT_PATH: "${CI_PROJECT_DIR}/auto_test_script"
PYTHON_VER: 3 PYTHON_VER: 3
@ -75,7 +75,8 @@ update_test_cases:
- cd test-management - cd test-management
- echo $BOT_JIRA_ACCOUNT > ${BOT_ACCOUNT_CONFIG_FILE} - echo $BOT_JIRA_ACCOUNT > ${BOT_ACCOUNT_CONFIG_FILE}
# update unit test cases # update unit test cases
- python ImportTestCase.py $JIRA_TEST_MANAGEMENT_PROJECT unity -d $UNIT_TEST_CASE_FILE -r $GIT_SHA - export UNIT_TEST_CASE_FILES=$(find $UNIT_TEST_CASE_DIR -maxdepth 1 -name "*.yml" | xargs)
- python ImportTestCase.py $JIRA_TEST_MANAGEMENT_PROJECT unity -d $UNIT_TEST_CASE_FILES -r $GIT_SHA
# update example test cases # update example test cases
- python ImportTestCase.py $JIRA_TEST_MANAGEMENT_PROJECT tiny_test_fw -d ${CI_PROJECT_DIR}/examples -r $GIT_SHA - python ImportTestCase.py $JIRA_TEST_MANAGEMENT_PROJECT tiny_test_fw -d ${CI_PROJECT_DIR}/examples -r $GIT_SHA
# organize test cases # organize test cases

View File

@ -8,27 +8,6 @@
BATCH_BUILD: "1" BATCH_BUILD: "1"
V: "0" V: "0"
.build_esp_idf_unit_test_template:
extends: .build_template
artifacts:
paths:
- components/idf_test/unit_test/TestCaseAll.yml
# Keep only significant files in the output folder (mainly to get rid of .map files)
- tools/unit-test-app/output/*/*.bin
- tools/unit-test-app/output/*/sdkconfig
- tools/unit-test-app/output/*/*.elf
- tools/unit-test-app/output/*/flasher_args.json
- tools/unit-test-app/output/*/bootloader/*.bin
- tools/unit-test-app/output/*/partition_table/*.bin
expire_in: 4 days
only:
variables:
- $BOT_TRIGGER_WITH_LABEL == null
- $BOT_LABEL_BUILD
- $BOT_LABEL_UNIT_TEST
- $BOT_LABEL_UNIT_TEST_S2
- $BOT_LABEL_REGULAR_TEST
.build_ssc_template: .build_ssc_template:
extends: .build_template extends: .build_template
parallel: 3 parallel: 3
@ -61,36 +40,42 @@ build_ssc_esp32s2:
variables: variables:
TARGET_NAME: "ESP32S2" TARGET_NAME: "ESP32S2"
build_esp_idf_tests_make: .build_esp_idf_tests_cmake:
extends: .build_esp_idf_unit_test_template extends: .build_template
artifacts:
paths:
- tools/unit-test-app/output/${IDF_TARGET}
- tools/unit-test-app/builds/${IDF_TARGET}/*.json
- components/idf_test/unit_test/*.yml
- ${LOG_PATH}
when: always
expire_in: 4 days
only:
variables:
- $BOT_TRIGGER_WITH_LABEL == null
- $BOT_LABEL_BUILD
- $BOT_LABEL_UNIT_TEST
- $BOT_LABEL_UNIT_TEST_S2
- $BOT_LABEL_REGULAR_TEST
variables:
LOG_PATH: "$CI_PROJECT_DIR/log_ut_cmake"
script: script:
- export EXTRA_CFLAGS=${PEDANTIC_CFLAGS} - export EXTRA_CFLAGS=${PEDANTIC_CFLAGS}
- export EXTRA_CXXFLAGS=${PEDANTIC_CXXFLAGS} - export EXTRA_CXXFLAGS=${PEDANTIC_CXXFLAGS}
- export IDF_TARGET=esp32 - mkdir -p ${LOG_PATH}
- ${CI_PROJECT_DIR}/tools/ci/build_unit_test.sh
- cd $CI_PROJECT_DIR/tools/unit-test-app - cd $CI_PROJECT_DIR/tools/unit-test-app
- MAKEFLAGS= make help # make sure kconfig tools are built in single process
- make ut-clean-all-configs
- make ut-build-all-configs
- python tools/UnitTestParser.py - python tools/UnitTestParser.py
# Check if the tests demand Make built binaries. If not, delete them
- if [ "$UNIT_TEST_BUILD_SYSTEM" == "make" ]; then exit 0; fi
- rm -rf builds output sdkconfig
- rm $CI_PROJECT_DIR/components/idf_test/unit_test/TestCaseAll.yml
build_esp_idf_tests_cmake: build_esp_idf_tests_cmake_esp32:
extends: .build_esp_idf_unit_test_template extends: .build_esp_idf_tests_cmake
script: variables:
- export PATH="$IDF_PATH/tools:$PATH" IDF_TARGET: esp32
- export EXTRA_CFLAGS=${PEDANTIC_CFLAGS}
- export EXTRA_CXXFLAGS=${PEDANTIC_CXXFLAGS} build_esp_idf_tests_cmake_esp32s2:
- cd $CI_PROJECT_DIR/tools/unit-test-app extends: .build_esp_idf_tests_cmake
- idf.py ut-clean-all-configs variables:
- idf.py ut-build-all-configs IDF_TARGET: esp32s2
- python tools/UnitTestParser.py
# Check if the tests demand CMake built binaries. If not, delete them
- if [ "$UNIT_TEST_BUILD_SYSTEM" == "cmake" ]; then exit 0; fi
- rm -rf builds output sdkconfig
- rm $CI_PROJECT_DIR/components/idf_test/unit_test/TestCaseAll.yml
build_examples_make: build_examples_make:
extends: .build_template extends: .build_template

View File

@ -110,8 +110,7 @@
stage: target_test stage: target_test
dependencies: dependencies:
- assign_test - assign_test
- build_esp_idf_tests_make - build_esp_idf_tests_cmake_esp32
- build_esp_idf_tests_cmake
only: only:
refs: refs:
- master - master
@ -499,6 +498,9 @@ UT_034:
.unit_test_s2_template: .unit_test_s2_template:
extends: .unit_test_template extends: .unit_test_template
dependencies:
- assign_test
- build_esp_idf_tests_cmake_esp32s2
only: only:
refs: refs:
# Due to lack of runners, the tests are only done by manual trigger # Due to lack of runners, the tests are only done by manual trigger

View File

@ -36,6 +36,7 @@ tools/ci/apply_bot_filter.py
tools/ci/build_examples.sh tools/ci/build_examples.sh
tools/ci/build_examples_cmake.sh tools/ci/build_examples_cmake.sh
tools/ci/build_test_apps.sh tools/ci/build_test_apps.sh
tools/ci/build_unit_test.sh
tools/ci/check-executable.sh tools/ci/check-executable.sh
tools/ci/check-line-endings.sh tools/ci/check-line-endings.sh
tools/ci/check_build_warnings.py tools/ci/check_build_warnings.py
@ -43,7 +44,6 @@ tools/ci/check_deprecated_kconfigs.py
tools/ci/check_examples_cmake_make.sh tools/ci/check_examples_cmake_make.sh
tools/ci/check_examples_rom_header.sh tools/ci/check_examples_rom_header.sh
tools/ci/check_idf_version.sh tools/ci/check_idf_version.sh
tools/ci/check_public_headers.sh
tools/ci/check_ut_cmake_make.sh tools/ci/check_ut_cmake_make.sh
tools/ci/checkout_project_ref.py tools/ci/checkout_project_ref.py
tools/ci/deploy_docs.py tools/ci/deploy_docs.py

View File

@ -35,7 +35,10 @@ def dict_from_sdkconfig(path):
for line in f: for line in f:
m = regex.match(line) m = regex.match(line)
if m: if m:
result[m.group(1)] = m.group(2) val = m.group(2)
if val.startswith('"') and val.endswith('"'):
val = val[1:-1]
result[m.group(1)] = val
return result return result

View File

@ -15,12 +15,21 @@ IDF_PY = "idf.py"
CMAKE_PROJECT_LINE = r"include($ENV{IDF_PATH}/tools/cmake/project.cmake)" CMAKE_PROJECT_LINE = r"include($ENV{IDF_PATH}/tools/cmake/project.cmake)"
SUPPORTED_TARGETS_REGEX = re.compile(r'Supported [Tt]argets((?:[\s|]+(?:ESP[0-9A-Z\-]+))+)') SUPPORTED_TARGETS_REGEX = re.compile(r'Supported [Tt]argets((?:[\s|]+(?:ESP[0-9A-Z\-]+))+)')
SDKCONFIG_LINE_REGEX = re.compile(r"^([^=]+)=\"?([^\"\n]*)\"?\n*$")
FORMAL_TO_USUAL = { FORMAL_TO_USUAL = {
'ESP32': 'esp32', 'ESP32': 'esp32',
'ESP32-S2': 'esp32s2', 'ESP32-S2': 'esp32s2',
} }
# If these keys are present in sdkconfig.defaults, they will be extracted and passed to CMake
SDKCONFIG_TEST_OPTS = [
"EXCLUDE_COMPONENTS",
"TEST_EXCLUDE_COMPONENTS",
"TEST_COMPONENTS",
"TEST_GROUPS"
]
class CMakeBuildSystem(BuildSystem): class CMakeBuildSystem(BuildSystem):
NAME = BUILD_SYSTEM_CMAKE NAME = BUILD_SYSTEM_CMAKE
@ -69,6 +78,7 @@ class CMakeBuildSystem(BuildSystem):
if not build_item.dry_run: if not build_item.dry_run:
os.unlink(sdkconfig_file) os.unlink(sdkconfig_file)
extra_cmakecache_items = {}
logging.debug("Creating sdkconfig file: {}".format(sdkconfig_file)) logging.debug("Creating sdkconfig file: {}".format(sdkconfig_file))
if not build_item.dry_run: if not build_item.dry_run:
with open(sdkconfig_file, "w") as f_out: with open(sdkconfig_file, "w") as f_out:
@ -81,13 +91,11 @@ class CMakeBuildSystem(BuildSystem):
for line in f_in: for line in f_in:
if not line.endswith("\n"): if not line.endswith("\n"):
line += "\n" line += "\n"
m = SDKCONFIG_LINE_REGEX.match(line)
if m and m.group(1) in SDKCONFIG_TEST_OPTS:
extra_cmakecache_items[m.group(1)] = m.group(2)
continue
f_out.write(os.path.expandvars(line)) f_out.write(os.path.expandvars(line))
# Also save the sdkconfig file in the build directory
shutil.copyfile(
os.path.join(work_path, "sdkconfig"),
os.path.join(build_path, "sdkconfig"),
)
else: else:
for sdkconfig_name in sdkconfig_defaults_list: for sdkconfig_name in sdkconfig_defaults_list:
sdkconfig_path = os.path.join(app_path, sdkconfig_name) sdkconfig_path = os.path.join(app_path, sdkconfig_name)
@ -109,6 +117,11 @@ class CMakeBuildSystem(BuildSystem):
work_path, work_path,
"-DIDF_TARGET=" + build_item.target, "-DIDF_TARGET=" + build_item.target,
] ]
for key, val in extra_cmakecache_items.items():
args.append("-D{}={}".format(key, val))
if "TEST_EXCLUDE_COMPONENTS" in extra_cmakecache_items \
and "TEST_COMPONENTS" not in extra_cmakecache_items:
args.append("-DTESTS_ALL=1")
if build_item.verbose: if build_item.verbose:
args.append("-v") args.append("-v")
args.append("build") args.append("build")
@ -131,6 +144,12 @@ class CMakeBuildSystem(BuildSystem):
subprocess.check_call(args, stdout=build_stdout, stderr=build_stderr) subprocess.check_call(args, stdout=build_stdout, stderr=build_stderr)
except subprocess.CalledProcessError as e: except subprocess.CalledProcessError as e:
raise BuildError("Build failed with exit code {}".format(e.returncode)) raise BuildError("Build failed with exit code {}".format(e.returncode))
else:
# Also save the sdkconfig file in the build directory
shutil.copyfile(
os.path.join(work_path, "sdkconfig"),
os.path.join(build_path, "sdkconfig"),
)
finally: finally:
if log_file: if log_file:
log_file.close() log_file.close()

View File

@ -1,3 +1,4 @@
# This config is for all targets
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update test_utils TEST_EXCLUDE_COMPONENTS=libsodium bt app_update test_utils
TEST_COMPONENTS=mbedtls TEST_COMPONENTS=mbedtls
CONFIG_MBEDTLS_HARDWARE_AES=n CONFIG_MBEDTLS_HARDWARE_AES=n

View File

@ -1,4 +0,0 @@
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update test_utils
TEST_COMPONENTS=mbedtls
CONFIG_MBEDTLS_HARDWARE_AES=n
CONFIG_IDF_TARGET="esp32s2"

View File

@ -1,3 +1,4 @@
# This config is for all targets
TEST_COMPONENTS=app_update TEST_COMPONENTS=app_update
TEST_EXCLUDE_COMPONENTS=libsodium bt TEST_EXCLUDE_COMPONENTS=libsodium bt
CONFIG_UNITY_FREERTOS_STACK_SIZE=12288 CONFIG_UNITY_FREERTOS_STACK_SIZE=12288

View File

@ -1,14 +0,0 @@
TEST_COMPONENTS=app_update
TEST_EXCLUDE_COMPONENTS=libsodium bt
CONFIG_UNITY_FREERTOS_STACK_SIZE=12288
CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partition_table_unit_test_two_ota.csv"
CONFIG_PARTITION_TABLE_FILENAME="partition_table_unit_test_two_ota.csv"
CONFIG_PARTITION_TABLE_OFFSET=0x18000
CONFIG_BOOTLOADER_FACTORY_RESET=y
CONFIG_BOOTLOADER_APP_TEST=y
CONFIG_BOOTLOADER_HOLD_TIME_GPIO=2
CONFIG_BOOTLOADER_OTA_DATA_ERASE=y
CONFIG_BOOTLOADER_NUM_PIN_FACTORY_RESET=4
CONFIG_BOOTLOADER_NUM_PIN_APP_TEST=18
CONFIG_IDF_TARGET="esp32s2"

View File

@ -1,3 +1,4 @@
CONFIG_IDF_TARGET="esp32"
TEST_COMPONENTS=bt TEST_COMPONENTS=bt
TEST_EXCLUDE_COMPONENTS=app_update TEST_EXCLUDE_COMPONENTS=app_update
CONFIG_BT_ENABLED=y CONFIG_BT_ENABLED=y

View File

@ -1,2 +1,4 @@
# Only need to test this for one target (e.g. ESP32)
CONFIG_IDF_TARGET="esp32"
TEST_COMPONENTS=cxx TEST_COMPONENTS=cxx
CONFIG_COMPILER_CXX_EXCEPTIONS=y CONFIG_COMPILER_CXX_EXCEPTIONS=y

View File

@ -1,3 +1,5 @@
# Only need to test this for one target (e.g. ESP32)
CONFIG_IDF_TARGET="esp32"
TEST_COMPONENTS=cxx TEST_COMPONENTS=cxx
CONFIG_COMPILER_CXX_EXCEPTIONS=y CONFIG_COMPILER_CXX_EXCEPTIONS=y
CONFIG_COMPILER_CXX_RTTI=y CONFIG_COMPILER_CXX_RTTI=y

View File

@ -1 +1,3 @@
# This config is split between targets since different component needs to be included (esp32, esp32s2)
CONFIG_IDF_TARGET="esp32"
TEST_COMPONENTS=freertos esp32 esp_timer driver heap pthread soc spi_flash vfs TEST_COMPONENTS=freertos esp32 esp_timer driver heap pthread soc spi_flash vfs

View File

@ -1 +1,3 @@
# This config is split between targets since different component needs to be excluded (esp32, esp32s2)
CONFIG_IDF_TARGET="esp32"
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32 esp_timer driver heap pthread soc spi_flash vfs test_utils TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32 esp_timer driver heap pthread soc spi_flash vfs test_utils

View File

@ -1,2 +1,3 @@
# This config is split between targets since different component needs to be excluded (esp32, esp32s2)
CONFIG_IDF_TARGET="esp32s2"
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32s2 esp_timer driver heap pthread soc spi_flash vfs TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32s2 esp_timer driver heap pthread soc spi_flash vfs
CONFIG_IDF_TARGET="esp32s2"

View File

@ -1,2 +1,3 @@
TEST_COMPONENTS=freertos esp32s2 esp_timer driver heap pthread soc spi_flash vfs # This config is split between targets since different component needs to be included (esp32, esp32s2)
CONFIG_IDF_TARGET="esp32s2" CONFIG_IDF_TARGET="esp32s2"
TEST_COMPONENTS=freertos esp32s2 esp_timer driver heap pthread soc spi_flash vfs

View File

@ -1,3 +1,5 @@
# This config is for ESP32 only (no ESP32-S2 flash encryption support yet)
CONFIG_IDF_TARGET="esp32"
TEST_COMPONENTS=spi_flash TEST_COMPONENTS=spi_flash
TEST_GROUPS=flash_encryption TEST_GROUPS=flash_encryption
CONFIG_SECURE_FLASH_ENC_ENABLED=y CONFIG_SECURE_FLASH_ENC_ENABLED=y

View File

@ -1,2 +1,4 @@
# This config is split between targets since different component needs to be included (esp32, esp32s2)
CONFIG_IDF_TARGET="esp32"
TEST_COMPONENTS=driver esp32 esp_timer spi_flash TEST_COMPONENTS=driver esp32 esp_timer spi_flash
CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE=y CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE=y

View File

@ -1,3 +1,4 @@
# This config is split between targets since different component needs to be included (esp32, esp32s2)
CONFIG_IDF_TARGET="esp32s2"
TEST_COMPONENTS=driver esp32s2 esp_timer spi_flash TEST_COMPONENTS=driver esp32s2 esp_timer spi_flash
CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE=y CONFIG_FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE=y
CONFIG_IDF_TARGET="esp32s2"

View File

@ -1,3 +1,4 @@
CONFIG_IDF_TARGET="esp32"
TEST_COMPONENTS=libsodium TEST_COMPONENTS=libsodium
TEST_EXCLUDE_COMPONENTS=bt app_update TEST_EXCLUDE_COMPONENTS=bt app_update
CONFIG_UNITY_FREERTOS_STACK_SIZE=12288 CONFIG_UNITY_FREERTOS_STACK_SIZE=12288

View File

@ -1,3 +1,4 @@
CONFIG_IDF_TARGET="esp32"
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update driver esp32 esp_timer mbedtls spi_flash test_utils heap pthread soc TEST_EXCLUDE_COMPONENTS=libsodium bt app_update driver esp32 esp_timer mbedtls spi_flash test_utils heap pthread soc
CONFIG_ESP32_SPIRAM_SUPPORT=y CONFIG_ESP32_SPIRAM_SUPPORT=y
CONFIG_ESP_INT_WDT_TIMEOUT_MS=800 CONFIG_ESP_INT_WDT_TIMEOUT_MS=800

View File

@ -1,3 +1,4 @@
CONFIG_IDF_TARGET="esp32"
TEST_COMPONENTS=esp32 esp_timer mbedtls spi_flash heap pthread soc TEST_COMPONENTS=esp32 esp_timer mbedtls spi_flash heap pthread soc
CONFIG_ESP32_SPIRAM_SUPPORT=y CONFIG_ESP32_SPIRAM_SUPPORT=y
CONFIG_ESP_INT_WDT_TIMEOUT_MS=800 CONFIG_ESP_INT_WDT_TIMEOUT_MS=800

View File

@ -1,3 +1,4 @@
CONFIG_IDF_TARGET="esp32"
TEST_COMPONENTS=driver TEST_COMPONENTS=driver
CONFIG_ESP32_SPIRAM_SUPPORT=y CONFIG_ESP32_SPIRAM_SUPPORT=y
CONFIG_ESP_INT_WDT_TIMEOUT_MS=800 CONFIG_ESP_INT_WDT_TIMEOUT_MS=800

View File

@ -1,6 +1,7 @@
CONFIG_IDF_TARGET="esp32"
TEST_COMPONENTS=esp32 esp_timer TEST_COMPONENTS=esp32 esp_timer
CONFIG_ESP32_SPIRAM_SUPPORT=y CONFIG_ESP32_SPIRAM_SUPPORT=y
CONFIG_SPIRAM_BANKSWITCH_ENABLE=y CONFIG_SPIRAM_BANKSWITCH_ENABLE=y
CONFIG_SPIRAM_BANKSWITCH_RESERVE=8 CONFIG_SPIRAM_BANKSWITCH_RESERVE=8
CONFIG_ESP_INT_WDT_TIMEOUT_MS=800 CONFIG_ESP_INT_WDT_TIMEOUT_MS=800
CONFIG_SPIRAM_OCCUPY_NO_HOST=y CONFIG_SPIRAM_OCCUPY_NO_HOST=y

View File

@ -1,3 +1,4 @@
CONFIG_IDF_TARGET="esp32"
TEST_COMPONENTS=esp32 TEST_COMPONENTS=esp32
TEST_GROUPS=psram_4m TEST_GROUPS=psram_4m
CONFIG_ESPTOOLPY_FLASHFREQ_80M=y CONFIG_ESPTOOLPY_FLASHFREQ_80M=y

View File

@ -1,3 +1,4 @@
CONFIG_IDF_TARGET="esp32"
TEST_COMPONENTS=esp32 TEST_COMPONENTS=esp32
TEST_GROUPS=psram_4m TEST_GROUPS=psram_4m
CONFIG_ESPTOOLPY_FLASHFREQ_80M=y CONFIG_ESPTOOLPY_FLASHFREQ_80M=y

View File

@ -1,3 +1,4 @@
CONFIG_IDF_TARGET="esp32"
TEST_COMPONENTS=freertos esp32 esp_timer driver heap pthread soc spi_flash vfs TEST_COMPONENTS=freertos esp32 esp_timer driver heap pthread soc spi_flash vfs
CONFIG_COMPILER_OPTIMIZATION_SIZE=y CONFIG_COMPILER_OPTIMIZATION_SIZE=y
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y

View File

@ -1,3 +1,5 @@
# This config is split between targets since different component needs to be included (esp32, esp32s2)
CONFIG_IDF_TARGET="esp32"
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32 esp_timer driver heap pthread soc spi_flash vfs test_utils TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32 esp_timer driver heap pthread soc spi_flash vfs test_utils
CONFIG_COMPILER_OPTIMIZATION_SIZE=y CONFIG_COMPILER_OPTIMIZATION_SIZE=y
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y

View File

@ -1,5 +1,6 @@
# This config is split between targets since different component needs to be excluded (esp32, esp32s2)
CONFIG_IDF_TARGET="esp32s2"
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32s2 esp_timer driver heap pthread soc spi_flash vfs test_utils TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32s2 esp_timer driver heap pthread soc spi_flash vfs test_utils
CONFIG_COMPILER_OPTIMIZATION_SIZE=y CONFIG_COMPILER_OPTIMIZATION_SIZE=y
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT=y CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT=y
CONFIG_IDF_TARGET="esp32s2"

View File

@ -1,5 +1,6 @@
# This config is split between targets since different component needs to be included (esp32, esp32s2)
CONFIG_IDF_TARGET="esp32s2"
TEST_COMPONENTS=freertos esp32s2 esp_timer driver heap pthread soc spi_flash vfs TEST_COMPONENTS=freertos esp32s2 esp_timer driver heap pthread soc spi_flash vfs
CONFIG_COMPILER_OPTIMIZATION_SIZE=y CONFIG_COMPILER_OPTIMIZATION_SIZE=y
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE=y
CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT=y CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT=y
CONFIG_IDF_TARGET="esp32s2"

View File

@ -1,3 +1,5 @@
# This config is split between targets since different component needs to be included (esp32, esp32s2)
CONFIG_IDF_TARGET="esp32"
TEST_COMPONENTS=freertos esp32 esp_timer driver heap pthread soc spi_flash vfs TEST_COMPONENTS=freertos esp32 esp_timer driver heap pthread soc spi_flash vfs
CONFIG_MEMMAP_SMP=n CONFIG_MEMMAP_SMP=n
CONFIG_FREERTOS_UNICORE=y CONFIG_FREERTOS_UNICORE=y

View File

@ -1,3 +1,5 @@
# This config is split between targets since different component needs to be excluded (esp32, esp32s2)
CONFIG_IDF_TARGET="esp32"
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32 esp_timer driver heap pthread soc spi_flash vfs test_utils TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32 esp_timer driver heap pthread soc spi_flash vfs test_utils
CONFIG_MEMMAP_SMP=n CONFIG_MEMMAP_SMP=n
CONFIG_FREERTOS_UNICORE=y CONFIG_FREERTOS_UNICORE=y

View File

@ -1,5 +1,6 @@
# This config is split between targets since different component needs to be excluded (esp32, esp32s2)
CONFIG_IDF_TARGET="esp32s2"
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32s2 esp_timer driver heap pthread soc spi_flash vfs TEST_EXCLUDE_COMPONENTS=libsodium bt app_update freertos esp32s2 esp_timer driver heap pthread soc spi_flash vfs
CONFIG_MEMMAP_SMP=n CONFIG_MEMMAP_SMP=n
CONFIG_FREERTOS_UNICORE=y CONFIG_FREERTOS_UNICORE=y
CONFIG_ESP32_RTCDATA_IN_FAST_MEM=y CONFIG_ESP32_RTCDATA_IN_FAST_MEM=y
CONFIG_IDF_TARGET="esp32s2"

View File

@ -1,5 +1,6 @@
# This config is split between targets since different component needs to be included (esp32, esp32s2)
CONFIG_IDF_TARGET="esp32s2"
TEST_COMPONENTS=freertos esp32s2 esp_timer driver heap pthread soc spi_flash vfs test_utils TEST_COMPONENTS=freertos esp32s2 esp_timer driver heap pthread soc spi_flash vfs test_utils
CONFIG_MEMMAP_SMP=n CONFIG_MEMMAP_SMP=n
CONFIG_FREERTOS_UNICORE=y CONFIG_FREERTOS_UNICORE=y
CONFIG_ESP32_RTCDATA_IN_FAST_MEM=y CONFIG_ESP32_RTCDATA_IN_FAST_MEM=y
CONFIG_IDF_TARGET="esp32s2"

View File

@ -1,3 +1,4 @@
# This config is for all targets
TEST_COMPONENTS=spi_flash TEST_COMPONENTS=spi_flash
CONFIG_ESP32_SPIRAM_SUPPORT=y CONFIG_ESP32_SPIRAM_SUPPORT=y
CONFIG_SPI_FLASH_USE_LEGACY_IMPL=y CONFIG_SPI_FLASH_USE_LEGACY_IMPL=y

View File

@ -1,4 +0,0 @@
TEST_COMPONENTS=spi_flash
CONFIG_ESP32_SPIRAM_SUPPORT=y
CONFIG_SPI_FLASH_USE_LEGACY_IMPL=y
CONFIG_IDF_TARGET="esp32s2"

View File

@ -1,3 +1,4 @@
# This config is for all targets
# The test is isolated as it requires particular memory layout # The test is isolated as it requires particular memory layout
TEST_COMPONENTS=test_utils TEST_COMPONENTS=test_utils
CONFIG_ESP_IPC_TASK_STACK_SIZE=2048 CONFIG_ESP_IPC_TASK_STACK_SIZE=2048

View File

@ -1,3 +1,5 @@
# This config is for esp32 only
CONFIG_IDF_TARGET="esp32"
# The test is isolated as it requires particular memory layout # The test is isolated as it requires particular memory layout
TEST_COMPONENTS=test_utils TEST_COMPONENTS=test_utils
CONFIG_ESP_IPC_TASK_STACK_SIZE=2048 CONFIG_ESP_IPC_TASK_STACK_SIZE=2048

View File

@ -1,5 +0,0 @@
# The test is isolated as it requires particular memory layout
TEST_COMPONENTS=test_utils
CONFIG_ESP_IPC_TASK_STACK_SIZE=2048
CONFIG_IDF_TARGET="esp32s2"