diff options
Diffstat (limited to 'test/integration/test-bug-673536-pre-depends-breaks-loop')
-rwxr-xr-x | test/integration/test-bug-673536-pre-depends-breaks-loop | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/integration/test-bug-673536-pre-depends-breaks-loop b/test/integration/test-bug-673536-pre-depends-breaks-loop new file mode 100755 index 0000000..a4cf669 --- /dev/null +++ b/test/integration/test-bug-673536-pre-depends-breaks-loop @@ -0,0 +1,36 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'native' + +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~conflict' 'unstable-conflict' 'Conflicts: advanced (<= 1)' +buildsimplenativepackage 'common' 'native' '2~break' 'unstable-break' 'Breaks: 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 + +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 +} + +testloopbreak 'unstable-break' +testloopbreak 'unstable-conflict' |