From c402b82c1a8cd55f50463b08162a83a158c038ba Mon Sep 17 00:00:00 2001 From: Anton Maklakov Date: Thu, 16 Sep 2021 10:32:58 +0700 Subject: [PATCH] coredump: Add some notes on how to generate test data --- components/espcoredump/test/esp32s3/core.elf | Bin 13668 -> 0 bytes .../espcoredump/test/test_espcoredump.sh | 5 ++++ components/espcoredump/test_apps/README.md | 28 ++++++++++++++++-- 3 files changed, 31 insertions(+), 2 deletions(-) delete mode 100644 components/espcoredump/test/esp32s3/core.elf diff --git a/components/espcoredump/test/esp32s3/core.elf b/components/espcoredump/test/esp32s3/core.elf deleted file mode 100644 index f8d17b944292acc0a66a5c1182e8adffdc6cb940..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13668 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 X8Jspj`LM~{El~beD7_6z6H5UAj|}WH diff --git a/components/espcoredump/test/test_espcoredump.sh b/components/espcoredump/test/test_espcoredump.sh index 1c092a9658..c67cf1ebe9 100755 --- a/components/espcoredump/test/test_espcoredump.sh +++ b/components/espcoredump/test/test_espcoredump.sh @@ -11,6 +11,11 @@ else elf_dir=$1 fi +if ! command -v coverage &> /dev/null; then + echo "coverage could not be found, please install it ('pip install coverage')" + exit 1 +fi + SUPPORTED_TARGETS=("esp32" "esp32s2" "esp32c3" "esp32s3" ) res=0 coverage erase diff --git a/components/espcoredump/test_apps/README.md b/components/espcoredump/test_apps/README.md index fb96bde326..eea43e0c0f 100644 --- a/components/espcoredump/test_apps/README.md +++ b/components/espcoredump/test_apps/README.md @@ -1,6 +1,30 @@ -| Supported Targets | ESP32 | ESP32-S2 | ESP32-C3 | -| ----------------- | ----- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-S2 | ESP32-C3 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | # ESP Core Dump Tests This test app is used to provide built binaries for the test cases under test folders + +## Update coredump.64 test data + +To update `test//coredump.64` build a `test_apps` for a target, flash and get a base64 text from `idf.py monitor` + +## Update expected_output test data + +To update `test//expected_output` run + +``` +TARGET=esp32 +espcoredump.py --chip $TARGET info_corefile -c ../test/$TARGET/coredump.b64 -t b64 -m ./build/test_core_dump.elf > ../test/$TARGET/expected_output +``` + +A `test_apps` app should be built for that target. + +Do the same for other targets: esp32s2, esp32c3, etc. + +## Update ELF test binaries + +The ELF test binaries are placed in a different git repository, _idf-coredump-elf_, to avoid putting big binaries in IDF repo. +It is used in _test_espcoredump_ CI job. + +See _idf-coredump-elf/README.md_ to use `build_espcoredump.sh` and generate test ELF binaries