#!/bin/sh set -e TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment configarchitecture 'i386' confighashes 'SHA512' insertpackage 'unstable' 'foo' 'i386' '1.0' insertpackage 'testing' 'foo' 'i386' '1.0' setupaptarchive --no-update APTARCHIVE="$(readlink -f ./aptarchive)" signreleasefiles 'Joe Sixpack' echo 'APT::Update::Post-Invoke-Success { "echo SUCCESS"; };' >> rootdir/etc/apt/apt.conf.d/display-success.conf echo 'APT::Update::Post-Invoke { "echo RUN"; };' >> rootdir/etc/apt/apt.conf.d/display-success.conf msgmsg "All sources OK => run Post-Invoke-Success and Post-Invoke" testsuccess aptget update cp rootdir/tmp/testsuccess.output aptupdate.output testsuccess grep "RUN" aptupdate.output testsuccess grep "SUCCESS" aptupdate.output msgmsg "Some sources broken => run Post-Invoke-Success and Post-Invoke" sed -i -e '/^ / d' -e '/^SHA512:/ d' "$APTARCHIVE/dists/unstable/Release" testsuccess rm "$(aptget indextargets 'Created-By: Packages' 'Suite: testing' --format '$(FILENAME)')" signreleasefiles listcurrentlistsdirectory > lists.before testfailure apt update cp rootdir/tmp/testfailure.output aptupdate.output listcurrentlistsdirectory > lists.after testfailure cmp lists.before lists.after testsuccess grep "RUN" aptupdate.output testsuccess grep "SUCCESS" aptupdate.output msgmsg "All sources broken => run Post-Invoke" sed -i -e '/^ / d' -e '/^SHA512:/ d' "$APTARCHIVE/dists/testing/Release" signreleasefiles mv lists.after lists.before testfailure apt update cp rootdir/tmp/testfailure.output aptupdate.output testfileequal lists.before "$(listcurrentlistsdirectory)" testsuccess grep "RUN" aptupdate.output testfailure grep "SUCCESS" aptupdate.output