run_test.sh 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. #!/bin/bash
  2. set -e
  3. mkdir -p build && cd build
  4. if [ "$1" = "host" ]; then
  5. cmake -DQEMU_TEST=False .. && cmake --build . && ./serial_flasher_test
  6. elif [ "$1" = "qemu" ]; then
  7. # QEMU_PATH environment variable has to be defined, pointing to qemu-system-xtensa
  8. # Example: export QEMU_PATH=/home/user/esp/qemu/xtensa-softmmu/qemu-system-xtensa
  9. if [ -z "${QEMU_PATH}" ]; then
  10. echo "QEMU_PATH environment variable needs to be set"
  11. exit 1
  12. fi
  13. # Generate empty file into which application will be flashed and compared against
  14. dd if=/dev/zero bs=1024 count=4096 of="empty_file.bin"
  15. # Run qemu in background (daemonized)
  16. ${QEMU_PATH} \
  17. -daemonize \
  18. -machine esp32 \
  19. -drive file=empty_file.bin,if=mtd,format=raw \
  20. -global driver=esp32.gpio,property=strap_mode,value=0x0f \
  21. -serial tcp::5555,server,nowait
  22. cmake -DQEMU_TEST=True .. && cmake --build . && ./serial_flasher_test
  23. # Kill qemu process running in background
  24. kill -9 $(pidof qemu-system-xtensa)
  25. else
  26. echo "Please select which test to run: qemu or host"
  27. fi