1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
|
#!/bin/sh
set -e
TESTDIR="$(readlink -f "$(dirname "$0")")"
. "$TESTDIR/framework"
setupenvironment
configarchitecture 'amd64'
cat rootdir/etc/apt/apt.conf.d/01multiarch.conf >> $(getaptconfig)
if [ "$(id -u)" = '0' ]; then
msgskip 'Tests for unreadable files do not work as root'
exit 0
fi
insertinstalledpackage 'foo' 'amd64' '1'
insertpackage 'unstable' 'foo' 'amd64' '2'
setupaptarchive --no-update
touch rootdir/etc/apt/sources.list.d/apt-test-unstable-deb-src.list
touch rootdir/etc/apt/sources.list.d/apt-test-unstable-deb-src.sources
touch rootdir/etc/apt/apt.conf.d/unreadable.conf
touch rootdir/etc/apt/preferences.d/unreadable.pref
addtrap 'prefix' "chmod -R +r '$(escape_shell "$TMPWORKINGDIRECTORY")/rootdir/etc/apt';"
chmod -r rootdir/etc/apt/trusted.gpg.d
testfailure apt update
chmod +r rootdir/etc/apt/trusted.gpg.d
testsuccess apt update
testsuccess apt policy foo
testsuccess apt search foo
testsuccessequal "Listing...
foo/unstable 2 amd64 [upgradable from: 1]
N: There is 1 additional version. Please use the '-a' switch to see it" apt list --upgradable
runthemall() {
local ERR="$1"
local ERRNOTICEVER="$1${2-
N: There is 1 additional version. Please use the '-a' switch to see it}"
local ERRNOTICEREC="$1${2-
N: There is 1 additional record. Please use the '-a' switch to see it}"
testwarningmsg "$ERR" aptcache policy
testwarningmsg "$ERR" aptcache policy foo
testwarningmsg "$ERR" aptcache depends foo
testwarningmsg "$ERR" aptcache rdepends foo
testwarningmsg "$ERR" aptcache search foo
testwarningmsg "$ERR" apt policy
testwarningmsg "$ERR" apt policy foo
testwarningmsg "$ERR" apt depends foo
testwarningmsg "$ERR" apt rdepends foo
testwarningmsg "$ERR" apt search foo
testwarningmsg "$ERRNOTICEVER" apt list --upgradable
testwarningmsg "$ERRNOTICEREC" apt show foo
testwarningmsg "$ERRNOTICEREC" aptcache show foo --no-all-versions
testwarningmsg "$ERR" aptmark auto foo
testwarningmsg "$ERR" aptmark manual foo
testwarningmsg "$ERR" aptmark auto foo
}
echo 'Apt::Cmd::Disable-Script-Warning "true";' >> aptconfig.conf
msgmsg 'Unreadable one-line-style sources file'
chmod -r rootdir/etc/apt/sources.list.d/apt-test-unstable-deb-src.list
runthemall "W: Unable to read $TMPWORKINGDIRECTORY/rootdir/etc/apt/sources.list.d/apt-test-unstable-deb-src.list - open (13: Permission denied)"
chmod +r rootdir/etc/apt/sources.list.d/apt-test-unstable-deb-src.list
msgmsg 'Unreadable deb822-style sources file'
chmod -r rootdir/etc/apt/sources.list.d/apt-test-unstable-deb-src.sources
runthemall "W: Unable to read $TMPWORKINGDIRECTORY/rootdir/etc/apt/sources.list.d/apt-test-unstable-deb-src.sources - open (13: Permission denied)"
chmod +r rootdir/etc/apt/sources.list.d/apt-test-unstable-deb-src.sources
msgmsg 'Unreadable config file'
chmod -r rootdir/etc/apt/apt.conf.d/unreadable.conf
runthemall "W: Unable to read ${TMPWORKINGDIRECTORY}/rootdir/etc/apt/apt.conf.d/unreadable.conf - open (13: Permission denied)"
chmod +r rootdir/etc/apt/apt.conf.d/unreadable.conf
msgmsg 'Unreadable preferences file'
chmod -r rootdir/etc/apt/preferences.d/unreadable.pref
runthemall "W: Unable to read ${TMPWORKINGDIRECTORY}/rootdir/etc/apt/preferences.d/unreadable.pref - open (13: Permission denied)"
chmod +r rootdir/etc/apt/preferences.d/unreadable.pref
msgmsg 'Unreadable sources directory'
chmod -r rootdir/etc/apt/sources.list.d
runthemall "W: Unable to read $TMPWORKINGDIRECTORY/rootdir/etc/apt/sources.list.d/ - opendir (13: Permission denied)" ""
chmod +r rootdir/etc/apt/sources.list.d
msgmsg 'Unreadable config directory'
chmod -r rootdir/etc/apt/apt.conf.d
runthemall "W: Unable to read ${TMPWORKINGDIRECTORY}/rootdir/etc/apt/apt.conf.d/ - opendir (13: Permission denied)"
chmod +r rootdir/etc/apt/apt.conf.d
msgmsg 'Unreadable preferences directory'
chmod -r rootdir/etc/apt/preferences.d
runthemall "W: Unable to read ${TMPWORKINGDIRECTORY}/rootdir/etc/apt/preferences.d/ - opendir (13: Permission denied)"
chmod +r rootdir/etc/apt/preferences.d
|