X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/39cc82288036a005226564fadd05ef19ef0037bb..2a49601f69e08f06fb2727d869d420daacdd09d5:/test/integration/run-tests

diff --git a/test/integration/run-tests b/test/integration/run-tests
index 5644f0a05..18474b20f 100755
--- a/test/integration/run-tests
+++ b/test/integration/run-tests
@@ -1,20 +1,41 @@
 #!/bin/sh
 set -e
 
+FAIL=0
 DIR=$(readlink -f $(dirname $0))
 if [ "$1" = "-q" ]; then
 	export MSGLEVEL=2
 elif [ "$1" = "-v" ]; then
-	export MSGLEVEL=5
+	export MSGLEVEL=4
 fi
+
+if expr match "$(readlink -f /proc/$$/fd/1)" '/dev/pts/[0-9]\+' > /dev/null; then
+	CTEST='\033[1;32m'
+	CHIGH='\033[1;35m'
+	CRESET='\033[0m'
+elif [ -z "${MSGLEVEL}" ]; then
+	export MSGLEVEL=2
+fi
+
+if [ -z "$MSGLEVEL" ]; then
+	MSGLEVEL=5
+fi
+
 for testcase in $(run-parts --list $DIR | grep '/test-'); do
-	if [ "$1" = "-q" ]; then
-		echo -n "\033[1;32mRun Testcase \033[1;35m$(basename ${testcase})\033[0m"
+	if [ "$MSGLEVEL" -le 2 ]; then
+		echo -n "${CTEST}Testcase ${CHIGH}$(basename ${testcase})${CRESET}: "
 	else
-		echo "\033[1;32mRun Testcase \033[1;35m$(basename ${testcase})\033[0m"
+		echo "${CTEST}Run Testcase ${CHIGH}$(basename ${testcase})${CRESET}"
 	fi
-	${testcase}
-	if [ "$1" = "-q" ]; then
+	if ! ${testcase}; then
+                 FAIL=$((FAIL+1))
+                 echo "$(basename $testcase) ... FAIL"
+        fi
+	if [ "$MSGLEVEL" -le 2 ]; then
 		echo
 	fi
 done
+
+echo "failures: $FAIL"
+# ensure we don't overflow
+exit $((FAIL <= 255 ? FAIL : 255))