--- /dev/null
+#!/bin/sh
+set -e
+
+TESTDIR=$(readlink -f $(dirname $0))
+. $TESTDIR/framework
+setupenvironment
+configarchitecture "i386"
+
+buildsimplenativepackage "peace-dpkg" "all" "1.0" "stable"
+
+buildsimplenativepackage "a" "all" "1.0" "stable" "Depends: b"
+buildsimplenativepackage "b" "all" "1.0" "stable"
+buildsimplenativepackage "c" "all" "1.0" "stable" "Depends: b"
+
+setupaptarchive
+
+# dpkg freaks out if the last package is removed so keep one around
+aptget install peace-dpkg -y -qq 2>&1 > /dev/null
+testdpkginstalled peace-dpkg
+testfileequal 'rootdir/var/lib/apt/extended_states' ''
+
+aptget install a -y -qq 2>&1 > /dev/null
+testdpkginstalled a b
+testdpkgnotinstalled c
+testfileequal 'rootdir/var/lib/apt/extended_states' 'Package: b
+Architecture: i386
+Auto-Installed: 1
+'
+
+aptget remove a -y -qq 2>&1 > /dev/null
+testdpkgnotinstalled a c
+testdpkginstalled b
+testfileequal 'rootdir/var/lib/apt/extended_states' 'Package: b
+Architecture: i386
+Auto-Installed: 1
+'
+
+aptget install c -y -qq 2>&1 > /dev/null
+testdpkgnotinstalled a
+testdpkginstalled b c
+testfileequal 'rootdir/var/lib/apt/extended_states' 'Package: b
+Architecture: i386
+Auto-Installed: 1
+'
+
+testequal 'Reading package lists...
+Building dependency tree...
+Reading state information...
+b is already the newest version.
+0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget install b --only-upgrade
+testfileequal 'rootdir/var/lib/apt/extended_states' 'Package: b
+Architecture: i386
+Auto-Installed: 1
+'
+
+testequal 'Reading package lists...
+Building dependency tree...
+Reading state information...
+b is already the newest version.
+0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget install b -d
+testfileequal 'rootdir/var/lib/apt/extended_states' 'Package: b
+Architecture: i386
+Auto-Installed: 1
+'
+
+aptget install b --reinstall -y -qq 2>&1 > /dev/null
+testdpkgnotinstalled a
+testdpkginstalled b c
+testfileequal 'rootdir/var/lib/apt/extended_states' 'Package: b
+Architecture: i386
+Auto-Installed: 1
+'
+
+testequal 'Reading package lists...
+Building dependency tree...
+Reading state information...
+b is already the newest version.
+b set to manually installed.
+0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget install b
+testfileequal 'rootdir/var/lib/apt/extended_states' 'Package: b
+Architecture: i386
+Auto-Installed: 0
+'
+
+aptget remove b -y -qq 2>&1 > /dev/null
+testdpkgnotinstalled a b c
+testfileequal 'rootdir/var/lib/apt/extended_states' ''
+
+aptget install a b -y -qq 2>&1 > /dev/null
+testdpkginstalled a b
+testdpkgnotinstalled c
+testfileequal 'rootdir/var/lib/apt/extended_states' ''
+
+aptget purge a b -y -qq 2>&1 > /dev/null
+testdpkgnotinstalled a b c
+testfileequal 'rootdir/var/lib/apt/extended_states' ''
+
+aptget install b c -y -qq 2>&1 > /dev/null
+testdpkgnotinstalled a
+testdpkginstalled b c
+testfileequal 'rootdir/var/lib/apt/extended_states' ''
+
+aptget install a -y -qq 2>&1 > /dev/null
+testdpkginstalled a b c
+testfileequal 'rootdir/var/lib/apt/extended_states' ''