test_espcoredump.sh 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. #!/usr/bin/env bash
  2. function help() {
  3. echo "Usage: bash test_espcoredump.sh [ELF_DIR]"
  4. }
  5. if [ -z "$1" ]; then
  6. help
  7. exit 1
  8. else
  9. elf_dir=$1
  10. fi
  11. COREDUMP_VERSION="espcoredump.py v$(python -c "import pkg_resources; print(pkg_resources.get_distribution('esp-coredump').version)")"
  12. COREDUMP_VERSION_REGEX="espcoredump.py v([0-9])+.([0-9a-z-])+(.[0-9a-z-])?"
  13. SUPPORTED_TARGETS=("esp32" "esp32s2" "esp32c3" "esp32s3" )
  14. res=0
  15. for chip in "${SUPPORTED_TARGETS[@]}"; do
  16. {
  17. echo "run b64 decoding tests on $chip"
  18. esp-coredump --chip="$chip" --gdb-timeout-sec 5 info_corefile -m -t b64 -c "${chip}/coredump.b64" -s "${chip}/core.elf" "${elf_dir}/${chip}.elf" &>"${chip}/output" &&
  19. sed -i -E "s/$COREDUMP_VERSION_REGEX/$COREDUMP_VERSION/" "${chip}/expected_output"
  20. diff "${chip}/expected_output" "${chip}/output" &&
  21. esp-coredump --chip="$chip" --gdb-timeout-sec 5 info_corefile -m -t elf -c "${chip}/core.elf" "${elf_dir}/${chip}.elf" &>"${chip}/output2" &&
  22. sed -E "s/$COREDUMP_VERSION_REGEX/$COREDUMP_VERSION/" "${chip}/expected_output"
  23. diff "${chip}/expected_output" "${chip}/output2"
  24. } || {
  25. echo 'The test for espcoredump has failed!'
  26. res=1
  27. }
  28. done
  29. exit $res