summaryrefslogtreecommitdiff
path: root/testr.sh
diff options
context:
space:
mode:
authorJakob Odersky <jodersky@gmail.com>2011-03-13 14:25:15 +0000
committerJakob Odersky <jodersky@gmail.com>2011-03-13 14:25:15 +0000
commit30cc264b7381cd1895ea8a3b709567e6eaf1113d (patch)
tree3683e4fe3647dbb5332b0d2988c0f3b07085194f /testr.sh
parentf2163b32810d75bb4ea3e3f7c91ccdf2c6ada61a (diff)
downloadvhc-30cc264b7381cd1895ea8a3b709567e6eaf1113d.tar.gz
vhc-30cc264b7381cd1895ea8a3b709567e6eaf1113d.tar.bz2
vhc-30cc264b7381cd1895ea8a3b709567e6eaf1113d.zip
Creation d'un systeme de test automatise.
Diffstat (limited to 'testr.sh')
-rwxr-xr-xtestr.sh53
1 files changed, 53 insertions, 0 deletions
diff --git a/testr.sh b/testr.sh
new file mode 100755
index 0000000..6ddbdc0
--- /dev/null
+++ b/testr.sh
@@ -0,0 +1,53 @@
+#!/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
+tput sgr0
+
+