| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #!/bin/sh
- set -e
- # ensure that an update will only succeed entirely or not at all
- TESTDIR=$(readlink -f $(dirname $0))
- . $TESTDIR/framework
- setupenvironment
- configarchitecture 'i386'
- insertpackage 'unstable' 'foo' 'all' '1.0'
- insertsource 'unstable' 'foo' 'all' '1.0'
- setupaptarchive --no-update
- breakfile() {
- mv "$1" "${1}.bak"
- cat > "$1" <<EOF
- Package: bar
- EOF
- compressfile "$1"
- }
- restorefile() {
- mv "${1}.bak" "$1"
- }
- testrun() {
- # produce an unsigned repository
- find aptarchive \( -name 'Release.gpg' -o -name 'InRelease' \) -delete
- testfailure aptget update --no-allow-insecure-repositories
- testfileequal "$1" "$(listcurrentlistsdirectory)"
- # signed but broken
- signreleasefiles
- breakfile aptarchive/dists/unstable/main/binary-i386/Packages
- testfailure aptget update
- testfileequal "$1" "$(listcurrentlistsdirectory)"
- restorefile aptarchive/dists/unstable/main/binary-i386/Packages
- breakfile aptarchive/dists/unstable/main/source/Sources
- testfailure aptget update
- testfileequal "$1" "$(listcurrentlistsdirectory)"
- restorefile aptarchive/dists/unstable/main/source/Sources
- }
- testsetup() {
- msgmsg 'Test with no initial data over' "$1"
- rm -rf rootdir/var/lib/apt/lists
- mkdir -m 700 -p rootdir/var/lib/apt/lists/partial
- if [ "$(id -u)" = '0' ]; then
- chown _apt:root rootdir/var/lib/apt/lists/partial
- fi
- listcurrentlistsdirectory > listsdir.lst
- testrun 'listsdir.lst'
- msgmsg 'Test with initial data over' "$1"
- testsuccess aptget update
- listcurrentlistsdirectory > listsdir.lst
- testrun 'listsdir.lst'
- }
- testsetup 'file'
- changetowebserver
- testsetup 'http'
|