summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorDavid Kalnischkies <kalnischkies@gmail.com>2011-08-17 14:37:25 +0200
committerDavid Kalnischkies <kalnischkies@gmail.com>2011-08-17 14:37:25 +0200
commit682a3bf727cd79a66eeb335c4c6593472ce11907 (patch)
tree37e33a355651d38ecd1c00171c7b03532060bbcc /test
parent9edcd9adcecc4f0c2a8e1744c2fbc7c38e3397e6 (diff)
downloadapt-682a3bf727cd79a66eeb335c4c6593472ce11907.tar.gz
do not output color in the testcases if stdout/stderr are not a /dev/pts
Diffstat (limited to 'test')
-rw-r--r--test/integration/framework29
-rwxr-xr-xtest/integration/run-tests17
-rwxr-xr-xtest/libapt/run-tests22
3 files changed, 48 insertions, 20 deletions
diff --git a/test/integration/framework b/test/integration/framework
index ccab010e6..45c1f156a 100644
--- a/test/integration/framework
+++ b/test/integration/framework
@@ -1,16 +1,19 @@
#!/bin/sh -- # no runable script, just for vi
# we all like colorful messages
-CERROR="" # red
-CWARNING="" # yellow
-CMSG="" # green
-CINFO="" # light blue
-CDEBUG="" # blue
-CNORMAL="" # default system console color
-CDONE="" # green
-CPASS="" # green
-CFAIL="" # red
-CCMD="" # pink
+if expr match "$(readlink -f /proc/$$/fd/1)" '/dev/pts/[0-9]\+' > /dev/null && \
+ expr match "$(readlink -f /proc/$$/fd/2)" '/dev/pts/[0-9]\+' > /dev/null; then
+ CERROR="" # red
+ CWARNING="" # yellow
+ CMSG="" # green
+ CINFO="" # light blue
+ CDEBUG="" # blue
+ CNORMAL="" # default system console color
+ CDONE="" # green
+ CPASS="" # green
+ CFAIL="" # red
+ CCMD="" # pink
+fi
msgdie() { echo "${CERROR}E: $1${CNORMAL}" >&2; exit 1; }
msgwarn() { echo "${CWARNING}W: $1${CNORMAL}" >&2; }
@@ -42,7 +45,11 @@ if [ $MSGLEVEL -le 2 ]; then
msgtest() { true; }
msgpass() { echo -n " ${CPASS}P${CNORMAL}" >&2; }
msgskip() { echo -n " ${CWARNING}S${CNORMAL}" >&2; }
- msgfail() { echo -n " ${CFAIL}FAIL${CNORMAL}" >&2; }
+ if [ -n "$CFAIL" ]; then
+ msgfail() { echo -n " ${CFAIL}FAIL${CNORMAL}" >&2; }
+ else
+ msgfail() { echo -n " ###FAILED###" >&2; }
+ fi
fi
if [ $MSGLEVEL -le 3 ]; then
msginfo() { true; }
diff --git a/test/integration/run-tests b/test/integration/run-tests
index edac07dbf..292986822 100755
--- a/test/integration/run-tests
+++ b/test/integration/run-tests
@@ -8,17 +8,26 @@ if [ "$1" = "-q" ]; then
elif [ "$1" = "-v" ]; then
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
+
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
if ! ${testcase}; then
FAIL=$((FAIL+1))
echo "$(basename $testcase) ... FAIL"
fi
- if [ "$1" = "-q" ]; then
+ if [ "$MSGLEVEL" -le 2 ]; then
echo
fi
done
diff --git a/test/libapt/run-tests b/test/libapt/run-tests
index c2aeccca7..275a789b2 100755
--- a/test/libapt/run-tests
+++ b/test/libapt/run-tests
@@ -7,14 +7,28 @@ echo "Compiling the tests …"
echo "Running all testcases …"
LDPATH="$DIR/../../build/bin"
EXT="_libapt_test"
+
+# detect if output is on a terminal (colorful) or better not
+if expr match "$(readlink -f /proc/$$/fd/1)" '/dev/pts/[0-9]\+' > /dev/null; then
+ COLHIGH='\033[1;35m'
+ COLRESET='\033[0m'
+ TESTOKAY='\033[1;32mOKAY\033[0m'
+ TESTFAIL='\033[1;31mFAILED\033[0m'
+else
+ COLHIGH=''
+ COLRESET=''
+ TESTOKAY='OK'
+ TESTFAIL='###FAILED###'
+fi
+
for testapp in $(ls ${LDPATH}/*$EXT)
do
name=$(basename ${testapp})
+ NAME="${COLHIGH}${name}${COLRESET}"
tmppath=""
if [ $name = "GetListOfFilesInDir${EXT}" ]; then
# TODO: very-low: move env creation to the actual test-app
- echo "Prepare Testarea for \033[1;35m$name\033[0m ..."
tmppath=$(mktemp -d)
touch "${tmppath}/anormalfile" \
"${tmppath}/01yet-anothernormalfile" \
@@ -46,7 +60,6 @@ do
ln -s "${tmppath}/anormalfile" "${tmppath}/linkedfile.list"
ln -s "${tmppath}/non-existing-file" "${tmppath}/brokenlink.list"
elif [ $name = "getLanguages${EXT}" ]; then
- echo "Prepare Testarea for \033[1;35m$name\033[0m ..."
tmppath=$(mktemp -d)
touch "${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-tr" \
"${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-pt" \
@@ -56,11 +69,10 @@ do
tmppath="${DIR}/versions.lst"
fi
- echo -n "Testing with \033[1;35m${name}\033[0m ... "
- LD_LIBRARY_PATH=${LDPATH} ${testapp} ${tmppath} && echo "\033[1;32mOKAY\033[0m" || echo "\033[1;31mFAILED\033[0m"
+ echo -n "Testing with ${NAME} "
+ LD_LIBRARY_PATH=${LDPATH} ${testapp} ${tmppath} && echo "$TESTOKAY" || echo "$TESTFAIL"
if [ -n "$tmppath" -a -d "$tmppath" ]; then
- echo "Cleanup Testarea after \033[1;35m$name\033[0m ..."
rm -rf "$tmppath"
fi