12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #!/bin/sh
- set -e
- TESTDIR="$(readlink -f "$(dirname "$0")")"
- . "$TESTDIR/framework"
- setupenvironment
- configarchitecture 'amd64'
- msgtest 'Check if installed dpkg supports' 'noawait trigger'
- if dpkg --compare-versions "$(dpkg_version)" 'ge' '1.16.1'; then
- msgpass
- else
- msgskip 'dpkg version too old'
- exit 0
- fi
- configdpkgnoopchroot
- buildtriggerpackages() {
- local TYPE="$1"
- setupsimplenativepackage "triggerable-$TYPE" 'all' '1.0' 'unstable' "Depends: trigdepends-$TYPE"
- BUILDDIR="incoming/triggerable-${TYPE}-1.0"
- cat >"${BUILDDIR}/debian/postinst" <<EOF
- #!/bin/sh
- if [ "\$1" = 'triggered' ]; then
- echo "TRIGGER IS RUNNING"
- fi
- EOF
- echo "$TYPE /usr/share/doc" > "${BUILDDIR}/debian/triggers"
- buildpackage "$BUILDDIR" 'unstable' 'main' 'native'
- rm -rf "$BUILDDIR"
- buildsimplenativepackage "trigdepends-$TYPE" 'all' '1.0' 'unstable'
- }
- #buildtriggerpackages 'interest'
- buildtriggerpackages 'interest-noawait'
- buildsimplenativepackage "trigstuff" 'all' '1.0' 'unstable'
- setupaptarchive
- runtests() {
- local TYPE="$1"
- msgmsg 'Working with trigger type' "$TYPE"
- testsuccess aptget install triggerable-$TYPE -y
- cp rootdir/tmp/testsuccess.output terminal.output
- testsuccess grep '^REWRITE ' terminal.output
- testdpkginstalled triggerable-$TYPE trigdepends-$TYPE
- testsuccess aptget install trigdepends-$TYPE -y --reinstall
- cp rootdir/tmp/testsuccess.output terminal.output
- testsuccess grep '^REWRITE ' terminal.output
- testsuccess grep 'TRIGGER IS RUNNING' terminal.output
- testdpkginstalled triggerable-$TYPE trigdepends-$TYPE
- testsuccess aptget install trigstuff -y
- cp rootdir/tmp/testsuccess.output terminal.output
- testsuccess grep '^REWRITE ' terminal.output
- testsuccess grep 'TRIGGER IS RUNNING' terminal.output
- testdpkginstalled triggerable-$TYPE trigdepends-$TYPE trigstuff
- testsuccess aptget purge trigstuff -y
- cp rootdir/tmp/testsuccess.output terminal.output
- testsuccess grep '^REWRITE ' terminal.output
- testsuccess grep 'TRIGGER IS RUNNING' terminal.output
- testdpkginstalled triggerable-$TYPE trigdepends-$TYPE
- testdpkgnotinstalled trigstuff
- testsuccess aptget purge trigdepends-$TYPE -y
- cp rootdir/tmp/testsuccess.output terminal.output
- testfailure grep '^REWRITE ' terminal.output
- testfailure grep 'TRIGGER IS RUNNING' terminal.output
- testdpkgnotinstalled triggerable-$TYPE trigdepends-$TYPE
- }
- #runtests 'interest'
- runtests 'interest-noawait'
|