64 lines
1.7 KiB
Bash
Executable file
64 lines
1.7 KiB
Bash
Executable file
#!/bin/sh
|
|
set -e
|
|
|
|
TESTDIR="$(readlink -f "$(dirname "$0")")"
|
|
. "$TESTDIR/framework"
|
|
setupenvironment
|
|
configarchitecture "i386"
|
|
|
|
buildaptarchive
|
|
touch aptarchive/Packages
|
|
setupflataptarchive
|
|
|
|
failureupdate() {
|
|
rm -rf rootdir/var/lib/apt
|
|
testfailure aptget update --allow-insecure-repositories
|
|
testsuccess grep "^E: Failed to fetch store:${1} Empty files can't be valid archives$" rootdir/tmp/testfailure.output
|
|
}
|
|
successupdate() {
|
|
rm -rf rootdir/var/lib/apt
|
|
testwarning aptget update --allow-insecure-repositories
|
|
}
|
|
|
|
createemptyarchive() {
|
|
find aptarchive/ \( -name "Packages*" -o -name "en*" \) -type f -delete
|
|
touch aptarchive/Packages
|
|
echo -n "" | $COMPRESSOR_CMD > aptarchive/${1}.$COMPRESS
|
|
find aptarchive -name '*Release*' -delete
|
|
rm -f aptarchive/Packages
|
|
}
|
|
|
|
createemptyfile() {
|
|
find aptarchive/ \( -name "Packages*" -o -name "en*" \) -type f -delete
|
|
touch aptarchive/Packages aptarchive/${1}.$COMPRESS
|
|
find aptarchive -name '*Release*' -delete
|
|
rm -f aptarchive/Packages
|
|
}
|
|
|
|
testoverfile() {
|
|
local APTARCHIVE="$(readlink -f ./aptarchive)"
|
|
forcecompressor "$1"
|
|
|
|
msgmsg 'archive over file' "Packages.$COMPRESS"
|
|
createemptyarchive 'Packages'
|
|
successupdate
|
|
createemptyfile 'Packages'
|
|
failureupdate "$(readlink -f rootdir/var/lib/apt/lists/partial/$(echo "$APTARCHIVE" | sed -e 's#/#_#g')_Packages.${COMPRESS})"
|
|
}
|
|
|
|
testoverhttp() {
|
|
forcecompressor "$1"
|
|
|
|
msgmsg 'archive over http' "Packages.$COMPRESS"
|
|
createemptyarchive 'Packages'
|
|
successupdate
|
|
createemptyfile 'Packages'
|
|
failureupdate "$(readlink -f rootdir/var/lib/apt/lists/partial/localhost:${APTHTTPPORT}_Packages.${COMPRESS})"
|
|
}
|
|
|
|
forallsupportedcompressors testoverfile
|
|
|
|
# do the same again with http instead of file
|
|
changetowebserver
|
|
|
|
forallsupportedcompressors testoverhttp
|