#!/bin/bash H="========" FILES="$(find . -name '*.roza' | sort)" TOTAL=0 PASSED=0 FAILED_LST="" PASSED_LST="" TRACE_LST="" for file in $FILES do TRACE="$(roza $file 2>&1)" RES=$? # echo -en "\e[33m$file\e[0m ... " if [ $RES -ne 0 ] then echo echo -e "$file \e[31mfailed\e[0m" echo "$TRACE" echo FAILED_LST="$FAILED_LST $file " TRACE_LST="$TRACE_LST $TRACE " else PASSED=$(($PASSED + 1)) PASSED_LST="$PASSED_LST $file" fi TOTAL=$(($TOTAL + 1)) done echo if [ $PASSED -eq $TOTAL ] then echo -e "\e[32m$H All tests passed $H\e[0m" else echo -e "\e[31m$H Some tests failed $H\e[0m" fi echo "PASSED: $PASSED" for ok in $PASSED_LST do echo -e "\t$ok \e[32mpassed\e[0m" done echo echo "FAILED: $(($TOTAL - $PASSED))" for ko in $FAILED_LST do echo -e "\t$ko \e[31mfailed\e[0m" done echo echo "TOTAL: $TOTAL"