#!/bin/sh echo "" if [ "$1" = "" ]; then echo "No tests." exit 0 fi succeeding="$(find "$@" -size 0)" notsucceeding="$(find "$@" ! -size 0)" if [ "$notsucceeding" != "" ]; then skipped="$(grep -l @@SKIPPED $notsucceeding)" timedout="$(grep -l @@TIMEDOUT $notsucceeding)" failed="$(grep -l @@FAIL $notsucceeding)" else skipped= timedout= failed= fi for a in $failed $timedout; do echo "**** $a" cat $a echo "" done echo "$(echo "$succeeding" | wc -w) tests passed" echo "$(echo "$notsucceeding" | wc -w) tests failed to pass" echo "$(echo "$skipped" | wc -w) were skipped (see build log for details)" echo "$(echo "$timedout" | wc -w) timed out" echo "$(echo "$failed" | wc -w) failed" echo "" if [ "$failed" != "" ]; then echo "Failing test logs:" for t in $failed; do echo $t done fi if [ "$timedout" != "" ]; then echo "Timed-out test logs:" for t in $timedout; do echo $t done fi if [ "$failed" != "" -o "$timedout" != "" ]; then echo "Test status: SAD FACE (tests are failing)" exit 1 fi if [ "$succeeding" = "" ]; then echo "Test status: PUZZLED FACE (all tests were skipped)" exit 0 fi if [ "$skipped" != "" ]; then echo "Test status: MILDLY PLEASED FACE (some tests were skipped, but the rest pass)" exit 0 fi echo "Test status: HAPPY FACE (all tests are passing)" exit 0