laokaiyao 8677216576 esp32h2: renaming esp32h2 to esp32h4 %!s(int64=3) %!d(string=hai) anos
..
main c9c7573f71 Storage: Partition APIs moved to the new component 'esp_partition' %!s(int64=3) %!d(string=hai) anos
test_panic_util 39319c0750 test_apps: move PanicTestDut from conftest into a separate module %!s(int64=3) %!d(string=hai) anos
CMakeLists.txt facab8c5a7 tools: Increase the minimal supported CMake version to 3.16 %!s(int64=3) %!d(string=hai) anos
README.md 8677216576 esp32h2: renaming esp32h2 to esp32h4 %!s(int64=3) %!d(string=hai) anos
conftest.py c756e0f477 ci: fix import path %!s(int64=3) %!d(string=hai) anos
panic_utils.py 979b836c68 ci: rename module name due to the wrong import in other packages %!s(int64=3) %!d(string=hai) anos
pytest_panic.py 39319c0750 test_apps: move PanicTestDut from conftest into a separate module %!s(int64=3) %!d(string=hai) anos
sdkconfig.ci.coredump_flash_bin_crc 20af94ff53 Coredump config option rename throughout IDF %!s(int64=5) %!d(string=hai) anos
sdkconfig.ci.coredump_flash_elf_sha 20af94ff53 Coredump config option rename throughout IDF %!s(int64=5) %!d(string=hai) anos
sdkconfig.ci.coredump_uart_bin_crc 20af94ff53 Coredump config option rename throughout IDF %!s(int64=5) %!d(string=hai) anos
sdkconfig.ci.coredump_uart_elf_crc 20af94ff53 Coredump config option rename throughout IDF %!s(int64=5) %!d(string=hai) anos
sdkconfig.ci.gdbstub b1d64d1a61 test/panic: add gdbstub test configuration %!s(int64=5) %!d(string=hai) anos
sdkconfig.ci.panic 418b68a197 test_apps: add panic test %!s(int64=5) %!d(string=hai) anos
sdkconfig.defaults 9069f70db3 system: add option to enable undefined behavior sanitizer (UBSAN) %!s(int64=4) %!d(string=hai) anos

README.md

Supported Targets ESP32 ESP32-C3 ESP32-C6 ESP32-H4 ESP32-S2 ESP32-S3

Building

Several configurations are provided as sdkconfig.ci.XXX and serve as a template.

Example with configuration "panic" for target ESP32

idf.py set-target esp32
cat sdkconfig.defaults sdkconfig.ci.panic > sdkconfig
idf.py build

Running

All the setup needs to be done as described in the test apps README, except that the test cases need to be specified when running the app:

python app_test.py test_panic_illegal_instruction

Multiple test cases are passed as additional arguments:

python app_test.py test_panic_illegal_instruction test_panic_int_wdt test_panic_storeprohibited

Note that you need to pick the correct test cases at run time according to the configuration you built before. The above examples are for configuration "panic"