mirror of
https://github.com/micropython/micropython.git
synced 2025-09-10 19:55:02 +02:00
mpremote error messages now go to stderr, so make sure stdout is flushed before printing them. Also update the test runner to capture error messages. Signed-off-by: Damien George <damien@micropython.org>
31 lines
715 B
Bash
Executable File
31 lines
715 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
TEST_DIR=$(dirname $0)
|
|
MPREMOTE=${TEST_DIR}/../mpremote.py
|
|
|
|
if [ -z "$1" ]; then
|
|
# Find tests matching test_*.sh
|
|
TESTS=${TEST_DIR}/test_*.sh
|
|
else
|
|
# Specific test path from the command line.
|
|
TESTS="$1"
|
|
fi
|
|
|
|
for t in $TESTS; do
|
|
TMP=$(mktemp -d)
|
|
echo -n "${t}: "
|
|
# Strip CR and replace the random temp dir with a token.
|
|
if env MPREMOTE=${MPREMOTE} TMP="${TMP}" "${t}" 2>&1 | tr -d '\r' | sed "s,${TMP},"'${TMP},g' > "${t}.out"; then
|
|
if diff "${t}.out" "${t}.exp" > /dev/null; then
|
|
echo "OK"
|
|
else
|
|
echo "FAIL"
|
|
diff "${t}.out" "${t}.exp" || true
|
|
fi
|
|
else
|
|
echo "CRASH"
|
|
fi
|
|
rm -r "${TMP}"
|
|
done
|