summaryrefslogblamecommitdiff
path: root/testr.sh
blob: 3fcc360f993f1ba2943448b778dbacb033b35c02 (plain) (tree)

















































                                                                                   

 
#!/bin/sh

# testr.sh
# by Jakob Odersky

# Usage: testr.sh TESTDIR
# Runs all files in TESTDIR that match *Test
# A test is considered successful if it returns 0 upon execution.

red='\033[0;31m'
green='\033[0;32m'
blue='\033[0;34m'
nc='\033[0m' # No Color

#Test directory specified by first parameter
TESTDIR=$1
cd $TESTDIR

echo "[info] Analyzing directory."
TESTCOUNT=`ls -A  ./*Test | wc -l`
echo "[info] Found $TESTCOUNT tests in $TESTDIR."
echo "[info] Running tests."
echo ""

FAILED=0

for filename in ./*Test
do
	
	echo "[info] ${blue}== $filename ==${nc}"
	$filename
	OUT=$?
	echo "[info] ${blue}== $filename ==${nc}"	

	if [ $OUT -eq 0 ];then
   		echo "[info] $filename PASS"
	else
   		echo "[${red}error${nc}] $filename FAIL"
		FAILED=$(($FAILED + 1))
	fi
	echo ""
done;

echo "[info] Total: $TESTCOUNT, Failed: $FAILED, Passed: $(($TESTCOUNT - $FAILED))"

if [ $FAILED -eq 0 ];then
	echo "[${green}success${nc}] All tests PASSED."
else
	echo "[${red}error${nc}] Some tests FAILED."
fi