]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-bug-254770-segfault-if-cache-not-buildable
improve partial/ cleanup in abort and failure cases
[apt.git] / test / integration / test-bug-254770-segfault-if-cache-not-buildable
index b9f45b131c49c0fecbf64489e47e8cb34933e972..6ae8944b2a64d3f4d583cc9372d6eeec225f1af9 100755 (executable)
@@ -3,23 +3,30 @@ set -e
 
 TESTDIR=$(readlink -f $(dirname $0))
 . $TESTDIR/framework
 
 TESTDIR=$(readlink -f $(dirname $0))
 . $TESTDIR/framework
+
+msgtest 'Test run as' 'non-root'
+if [ "$(id -u)" = '0' ]; then
+       msgskip 'root has by definition no problems accessing files'
+       exit 0
+else
+       msgpass
+fi
+
 setupenvironment
 configarchitecture "i386"
 setupaptarchive
 
 setupenvironment
 configarchitecture "i386"
 setupaptarchive
 
-CURRENTTRAP="chmod a+x rootdir/var/lib/dpkg; $CURRENTTRAP"
-trap "$CURRENTTRAP" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM
+addtrap 'prefix' 'chmod a+x rootdir/var/lib/dpkg;'
 chmod a-x rootdir/var/lib/dpkg
 
 testsegfault() {
 chmod a-x rootdir/var/lib/dpkg
 
 testsegfault() {
-       rm -f rootdir/var/cache/apt/*.bin
        msgtest "No segfault in" "$*"
        msgtest "No segfault in" "$*"
-       local TEST="$($* 2>&1 | grep -v 'E:')"
+       local TEST="$("$@" 2>&1 | grep -v 'E:')"
        if [ -z "$TEST" ]; then
                msgpass
        else
                echo
        if [ -z "$TEST" ]; then
                msgpass
        else
                echo
-               echo $TEST
+               echo "$TEST"
                msgfail
        fi
 }
                msgfail
        fi
 }