aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rwxr-xr-xexamples/esp32c3/runner.sh16
1 files changed, 12 insertions, 4 deletions
diff --git a/examples/esp32c3/runner.sh b/examples/esp32c3/runner.sh
index 05cc6c8..bfaf5f9 100755
--- a/examples/esp32c3/runner.sh
+++ b/examples/esp32c3/runner.sh
@@ -8,9 +8,13 @@ outputfilenamecargo=$1
outputfilename="$outputfilenamecargo".bin
logfile=qemu.log
+qemuoutputfile=qemuoutput.log
qemuexec=qemu-system-riscv32
+# Create a temporary directory for all output files
+tempdir=$(mktemp -d) || exit 1
+
# Building ESP32-C3 image
espflash save-image --chip esp32c3 --merge "$outputfilenamecargo" "$outputfilename" 1>&2
@@ -18,7 +22,7 @@ espflash save-image --chip esp32c3 --merge "$outputfilenamecargo" "$outputfilena
esptool.py image_info --version 2 "$outputfilename" 1>&2
# Run in QEMU
-$qemuexec -nographic -monitor tcp:127.0.0.1:55555,server,nowait -icount 3 -machine esp32c3 -drive file="$outputfilename",if=mtd,format=raw -serial file:"$logfile" > qemuoutput.log 2>&1 &
+$qemuexec -nographic -monitor tcp:127.0.0.1:55555,server,nowait -icount 3 -machine esp32c3 -drive file="$outputfilename",if=mtd,format=raw -serial file:"$tempdir/$logfile" >"$tempdir"/$qemuoutputfile 2>&1 &
qemupid=$!
@@ -26,13 +30,17 @@ qemupid=$!
sleep 3s
# Kill QEMU nicely by sending 'q' (quit) over tcp
-echo q | nc -N 127.0.0.1 55555 >> qemuoutput.log 2>&1
+echo q | nc -N 127.0.0.1 55555 >>"$tempdir"/$qemuoutputfile 2>&1
# Output that will be compared must be printed to stdout
# Make boot phase silent, for debugging change, run with e.g. $ `env DEBUGGING=true` cargo xtask....
if [ -n "${DEBUGGING}" ]; then
# Debugging: strip leading "I (xyz)" where xyz is an incrementing number, and esp_image specifics
- sed -e 's/esp_image: .*$/esp_image: REDACTED/' -e 's/I\s\([0-9]*\)(.*)/\1/' < $logfile
+ sed -e 's/esp_image: .*$/esp_image: REDACTED/' -e 's/I\s\([0-9]*\)(.*)/\1/' <"$tempdir"/$logfile
else
- tail -n +12 "$logfile" | sed -e '/I\s\([0-9]*\)(.*)/d'
+ tail -n +12 "$tempdir/$logfile" | sed -e '/I\s\([0-9]*\)(.*)/d'
fi
+
+mv "$tempdir/$logfile" "$(basename "$outputfilename")"-$logfile
+mv "$tempdir/$qemuoutputfile" "$(basename "$outputfilename")"-$qemuoutputfile
+rm -r "$tempdir"