X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/3eb9e257855d83d0486d7a5fa7cc5e2edebb6aaa..eb5113c486955d9cd66126aa59d3a27e52c52e58:/test/integration/test-bug-254770-segfault-if-cache-not-buildable

diff --git a/test/integration/test-bug-254770-segfault-if-cache-not-buildable b/test/integration/test-bug-254770-segfault-if-cache-not-buildable
index 25c564daa..6f6e1abc0 100755
--- a/test/integration/test-bug-254770-segfault-if-cache-not-buildable
+++ b/test/integration/test-bug-254770-segfault-if-cache-not-buildable
@@ -1,25 +1,32 @@
 #!/bin/sh
 set -e
 
-local 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
 
-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() {
-	rm -f rootdir/var/cache/apt/*.bin
 	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
-		echo $TEST
+		echo "$TEST"
 		msgfail
 	fi
 }