1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-22 15:38:11 +00:00

Merge pull request #543 from MrMebelMan/run_tests_update

Update run_tests.sh: show totals, allow interrupts, add colors
This commit is contained in:
Tomas Susanka 2019-04-09 14:21:27 +02:00 committed by GitHub
commit ac318cc65b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,35 +1,41 @@
#!/bin/bash #!/bin/bash
cd $(dirname $0) declare -a results
MICROPYTHON=../build/unix/micropython declare -i PYOPT=1 passed=0 failed=0 exit_code=0
PYOPT=1 declare COLOR_GREEN='\e[32m' COLOR_RED='\e[91m' COLOR_RESET='\e[39m'
declare MICROPYTHON=../build/unix/micropython
results=() print_summary() {
error=0
if [ -z "$*" ]; then
list="test_*.py"
else
list="$*"
fi
for i in $list; do
echo echo
if $MICROPYTHON -O$PYOPT $i; then echo 'Summary:'
results+=("OK $i") echo '-------------------'
printf '%b\n' "${results[@]}"
if [ $exit_code == 0 ]; then
echo -e "${COLOR_GREEN}PASSED:${COLOR_RESET} $passed/$num_of_tests tests OK!"
else else
results+=("FAIL $i") echo -e "${COLOR_RED}FAILED:${COLOR_RESET} $failed/$num_of_tests tests failed!"
error=1 fi
}
trap 'print_summary; echo -e "${COLOR_RED}Interrupted by user!${COLOR_RESET}"; exit 1' SIGINT
cd $(dirname $0)
[ -z "$*" ] && tests=(test_*.py) || tests=($*)
declare -i num_of_tests=${#tests[@]}
for test_case in ${tests[@]}; do
echo
if $MICROPYTHON -O$PYOPT $test_case; then
results+=("${COLOR_GREEN}OK:${COLOR_RESET} $test_case")
((passed++))
else
results+=("${COLOR_RED}FAIL:${COLOR_RESET} $test_case")
((failed++))
exit_code=1
fi fi
done done
echo print_summary
echo 'Summary:' exit $exit_code
printf '%s\n' "${results[@]}"
echo '-------------------'
if [ $error == 0 ]; then
echo 'ALL OK'
else
echo 'FAIL at least one error occurred'
fi
exit $error