* test/integration/framework:
authorMichael Vogt <michael.vogt@ubuntu.com>
Mon, 18 Mar 2013 07:08:37 +0000 (08:08 +0100)
committerMichael Vogt <michael.vogt@ubuntu.com>
Mon, 18 Mar 2013 07:08:37 +0000 (08:08 +0100)
  - continue after test failure but preserve exit status

debian/changelog
test/integration/framework

index ef622c9..2a86d68 100644 (file)
@@ -3,6 +3,10 @@ apt (0.9.7.8~exp3) UNRELEASEDexperimental; urgency=low
   [ Niels Thykier ]
   * test/libapt/assert.h, test/libapt/run-tests:
     - exit with status 1 on test failure
+  
+  [ Daniel Hartwig ]
+  * test/integration/framework:
+    - continue after test failure but preserve exit status
 
  -- Michael Vogt <mvo@debian.org>  Sun, 17 Mar 2013 19:46:23 +0100
 
index 1c4872c..883b65b 100644 (file)
@@ -1,5 +1,7 @@
 #!/bin/sh -- # no runable script, just for vi
 
+TESTFAILURES="no"
+
 # we all like colorful messages
 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
@@ -36,7 +38,7 @@ msgtest() {
 }
 msgpass() { echo "${CPASS}PASS${CNORMAL}" >&2; }
 msgskip() { echo "${CWARNING}SKIP${CNORMAL}" >&2; }
-msgfail() { echo "${CFAIL}FAIL${CNORMAL}" >&2; }
+msgfail() { echo "${CFAIL}FAIL${CNORMAL}" >&2; TESTFAILURES="yes"; }
 
 # enable / disable Debugging
 MSGLEVEL=${MSGLEVEL:-3}
@@ -113,9 +115,13 @@ gdb() {
        APT_CONFIG=aptconfig.conf LD_LIBRARY_PATH=${BUILDDIRECTORY} $(which gdb) ${BUILDDIRECTORY}/$1
 }
 
+exitwithstatus() {
+       [ "$TESTFAILURES" = "yes" ] && exit 1 || exit 0;
+}
+
 addtrap() {
        CURRENTTRAP="$CURRENTTRAP $1"
-       trap "$CURRENTTRAP exit;" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
+       trap "$CURRENTTRAP exitwithstatus;" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
 }
 
 setupenvironment() {