| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #!/bin/sh
- set -e
- TESTDIR=$(readlink -f $(dirname $0))
- . $TESTDIR/framework
- setupenvironment
- configarchitecture 'amd64'
- msgtest 'Check if installed dpkg supports' 'noawait trigger'
- if dpkg-checkbuilddeps -d 'dpkg (>= 1.16.1)' /dev/null; 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
- ls -l /proc/self/fd/
- 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'
- }
- # FIXME: implement test with activate-style triggers
- #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 ' root root ' 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 ' root root ' 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 ' root root ' 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 ' root root ' terminal.output
- testdpkgnotinstalled triggerable-$TYPE trigdepends-$TYPE
- }
- #runtests 'interest'
- runtests 'interest-noawait'
|