From 7c69574c5bec814cc3cb58701d2beccfe6093add Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 17 Aug 2011 12:05:22 +0200 Subject: add 'dirs' target to the 'all' target to ensure that for e.g. the tests all (sub)directories are build which are needed (e.g. obj/ and co) --- test/libapt/run-tests | 1 - 1 file changed, 1 deletion(-) (limited to 'test/libapt/run-tests') diff --git a/test/libapt/run-tests b/test/libapt/run-tests index 4b71c2097..c81520bef 100755 --- a/test/libapt/run-tests +++ b/test/libapt/run-tests @@ -3,7 +3,6 @@ set -e DIR=$(readlink -f $(dirname $0)) echo "Compiling the tests …" -test -d "$DIR/../../build/obj/test/libapt/" || mkdir -p "$DIR/../../build/obj/test/libapt/" (cd $DIR && make) echo "Running all testcases …" LDPATH="$DIR/../../build/bin" -- cgit v1.2.3-70-g09d2 From 1e08114a73d9b79904eff1f286c765f7065bcdc0 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 17 Aug 2011 12:39:59 +0200 Subject: fix the compareversion test to work then called from outside of libapt --- test/libapt/compareversion_test.cc | 7 +++++-- test/libapt/run-tests | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'test/libapt/run-tests') diff --git a/test/libapt/compareversion_test.cc b/test/libapt/compareversion_test.cc index 7f192b19b..fdb1d5674 100644 --- a/test/libapt/compareversion_test.cc +++ b/test/libapt/compareversion_test.cc @@ -63,6 +63,9 @@ void assertVersion(int const &CurLine, string const &A, string const &B, int con bool RunTest(const char *File) { + if (FileExists(File) == false) + return _error->Error("Versiontestfile %s doesn't exist!", File); + ifstream F(File,ios::in); if (!F != 0) return false; @@ -112,8 +115,8 @@ bool RunTest(const char *File) int main(int argc, char *argv[]) { - if (argc <= 1) - RunTest("versions.lst"); + if (argc != 2) + return 1; else RunTest(argv[1]); diff --git a/test/libapt/run-tests b/test/libapt/run-tests index c81520bef..c2aeccca7 100755 --- a/test/libapt/run-tests +++ b/test/libapt/run-tests @@ -52,6 +52,8 @@ do "${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-pt" \ "${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-se~" \ "${tmppath}/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-st.bak" + elif [ $name = "CompareVersion${EXT}" ]; then + tmppath="${DIR}/versions.lst" fi echo -n "Testing with \033[1;35m${name}\033[0m ... " -- cgit v1.2.3-70-g09d2 From 682a3bf727cd79a66eeb335c4c6593472ce11907 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 17 Aug 2011 14:37:25 +0200 Subject: do not output color in the testcases if stdout/stderr are not a /dev/pts --- test/integration/framework | 29 ++++++++++++++++++----------- test/integration/run-tests | 17 +++++++++++++---- test/libapt/run-tests | 22 +++++++++++++++++----- 3 files changed, 48 insertions(+), 20 deletions(-) (limited to 'test/libapt/run-tests') 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 -- cgit v1.2.3-70-g09d2