]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-bug-673536-pre-depends-breaks-loop
stop handling items in doomed transactions
[apt.git] / test / integration / test-bug-673536-pre-depends-breaks-loop
index e9d3c4de6b64bd3b54c1ba46c591d7d36e9fc803..bf3d2e2eb864ea09a7a0bfe6e2cb090bde29fe49 100755 (executable)
@@ -1,23 +1,36 @@
 #!/bin/sh
 set -e
 
-TESTDIR=$(readlink -f $(dirname $0))
-. $TESTDIR/framework
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
 setupenvironment
 configarchitecture 'native'
 
-buildsimplenativepackage 'basic' 'native' '1' 'stable'
+buildsimplenativepackage 'advanced' 'native' '1' 'stable'
+buildsimplenativepackage 'advanced' 'native' '2' 'unstable' 'Pre-Depends: basic'
 buildsimplenativepackage 'basic' 'native' '2' 'unstable' 'Pre-Depends: common'
-buildsimplenativepackage 'common' 'native' '2' 'unstable' 'Breaks: basic (<= 1)'
+
+buildsimplenativepackage 'common' 'native' '2~conflict' 'unstable-conflict' 'Conflicts: advanced (<= 1)'
+buildsimplenativepackage 'common' 'native' '2~break' 'unstable-break' 'Conflicts: advanced (<= 1)'
 
 setupaptarchive
 
 # we check with 'real' packages here as the simulation reports a 'Conf broken'
 # which is technical correct for the simulation, but testing errormsg is ugly
 
-aptget install basic=1 -qq > /dev/null
-testdpkginstalled basic
-testdpkgnotinstalled common
+cp -a rootdir/var/lib/dpkg/status dpkg.status.backup
+
+testloopbreak() {
+       cp -a dpkg.status.backup rootdir/var/lib/dpkg/status
+       rm -f rootdir/var/lib/apt/extended_states
+
+       testsuccess aptget install advanced=1 -y -t "$1"
+       testdpkginstalled advanced
+       testdpkgnotinstalled basic common
+
+       testsuccess aptget dist-upgrade -y -t "$1"
+       testdpkginstalled advanced basic common
+}
 
-aptget dist-upgrade -qq > /dev/null
-testdpkginstalled basic common
+testloopbreak 'unstable-break'
+testloopbreak 'unstable-conflict'