#!/bin/sh set -e TESTDIR=$(readlink -f $(dirname $0)) . $TESTDIR/framework setupenvironment configarchitecture "i386" buildaptarchive setupflataptarchive changetowebserver prepare() { local DATE="${2:-now}" if [ "$DATE" = 'now' -a "$1" = "${PKGFILE}-new" ]; then DATE='now + 6 days' fi for release in $(find rootdir/var/lib/apt/lists 2> /dev/null); do touch -d 'now - 6 hours' $release done rm -rf rootdir/var/cache/apt/archives rm -f rootdir/var/cache/apt/*.bin cp $1 aptarchive/Packages find aptarchive -name 'Release' -delete cat aptarchive/Packages | gzip > aptarchive/Packages.gz cat aptarchive/Packages | bzip2 > aptarchive/Packages.bz2 cat aptarchive/Packages | lzma > aptarchive/Packages.lzma # create Release file with incorret checksums cat > aptarchive/Release <&1 | grep "Hash Sum mismatch" > /dev/null && msgpass || msgfail msgtest 'No package from the source available' [ "$(aptcache show apt 2>&1)" = "E: No packages found" ] && msgpass || msgfail msgtest 'No Packages file in /var/lib/apt/lists' [ "$(ls rootdir/var/lib/apt/lists/*Package* 2>/dev/null)" = "" ] && msgpass || msgfail # now with the unsigned Release file rm -rf rootdir/var/lib/apt/lists rm aptarchive/InRelease aptarchive/Release.gpg msgtest 'unsigned apt-get update gets the expected hashsum mismatch' aptget update 2>&1 | grep "Hash Sum mismatch" > /dev/null && msgpass || msgfail } runtest