X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/3e68f7e41022790619c698a32390a5256fadba7c..82153438235144c485a8539b5c035e67bbef96e4:/test/integration/test-apt-get-upgrade diff --git a/test/integration/test-apt-get-upgrade b/test/integration/test-apt-get-upgrade index d042e4fb7..50a90ce66 100755 --- a/test/integration/test-apt-get-upgrade +++ b/test/integration/test-apt-get-upgrade @@ -1,8 +1,8 @@ #!/bin/sh set -e -TESTDIR=$(readlink -f $(dirname $0)) -. $TESTDIR/framework +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" setupenvironment configarchitecture "i386" @@ -21,56 +21,124 @@ insertpackage 'stable,installed' 'upgrade-with-conflict' 'all' '1.0' insertpackage 'unstable' 'upgrade-with-conflict' 'all' '2.0' 'Conflicts: conflicting-dep' 'standard' insertpackage 'stable,installed' 'conflicting-dep' 'all' '1.0' +# upgrade with conflict and a new pkg with higher priority than conflict +insertpackage 'stable,installed' 'init' 'all' '1' +insertpackage 'unstable' 'init' 'all' '2' 'Pre-Depends: systemd | sysvinit' +insertpackage 'unstable' 'systemd' 'all' '2' 'Conflicts: conflicting-dep' +insertpackage 'unstable' 'sysvinit' 'all' '2' + setupaptarchive # Test if normal upgrade works as expected -testequal 'Reading package lists... +UPGRADE='Reading package lists... Building dependency tree... Calculating upgrade... The following packages have been kept back: - upgrade-with-conflict upgrade-with-new-dep + init upgrade-with-conflict upgrade-with-new-dep The following packages will be upgraded: upgrade-simple -1 upgraded, 0 newly installed, 0 to remove and 2 not upgraded. +1 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. Inst upgrade-simple [1.0] (2.0 unstable [all]) -Conf upgrade-simple (2.0 unstable [all])' aptget -s upgrade +Conf upgrade-simple (2.0 unstable [all])' +testsuccessequal "$UPGRADE" aptget upgrade -s +testsuccessequal "$UPGRADE" apt upgrade -s --without-new-pkgs # Test if apt-get upgrade --with-new-pkgs works -testequal 'Reading package lists... +UPGRADENEW='Reading package lists... Building dependency tree... Calculating upgrade... The following NEW packages will be installed: new-dep The following packages have been kept back: - upgrade-with-conflict + init upgrade-with-conflict The following packages will be upgraded: upgrade-simple upgrade-with-new-dep -2 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. +2 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. Inst new-dep (1.0 stable [all]) Inst upgrade-simple [1.0] (2.0 unstable [all]) Inst upgrade-with-new-dep [1.0] (2.0 unstable [all]) Conf new-dep (1.0 stable [all]) Conf upgrade-simple (2.0 unstable [all]) -Conf upgrade-with-new-dep (2.0 unstable [all])' aptget -s upgrade --with-new-pkgs +Conf upgrade-with-new-dep (2.0 unstable [all])' +testsuccessequal "$UPGRADENEW" aptget upgrade -s --with-new-pkgs +testsuccessequal "$UPGRADENEW" apt upgrade -s # Test if apt-get dist-upgrade works -testequal 'Reading package lists... +testsuccessequal 'Reading package lists... Building dependency tree... Calculating upgrade... The following packages will be REMOVED: conflicting-dep The following NEW packages will be installed: - new-dep + new-dep systemd The following packages will be upgraded: - upgrade-simple upgrade-with-conflict upgrade-with-new-dep -3 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. + init upgrade-simple upgrade-with-conflict upgrade-with-new-dep +4 upgraded, 2 newly installed, 1 to remove and 0 not upgraded. Remv conflicting-dep [1.0] +Inst systemd (2 unstable [all]) +Conf systemd (2 unstable [all]) +Inst init [1] (2 unstable [all]) Inst upgrade-with-conflict [1.0] (2.0 unstable [all]) Inst new-dep (1.0 stable [all]) Inst upgrade-simple [1.0] (2.0 unstable [all]) Inst upgrade-with-new-dep [1.0] (2.0 unstable [all]) +Conf init (2 unstable [all]) Conf upgrade-with-conflict (2.0 unstable [all]) Conf new-dep (1.0 stable [all]) Conf upgrade-simple (2.0 unstable [all]) Conf upgrade-with-new-dep (2.0 unstable [all])' aptget -s dist-upgrade +msgmsg 'make systemd a non-choice in the or-group and try again' +echo 'Package: systemd +Pin: release unstable +Pin-Priority: -1' > rootdir/etc/apt/preferences.d/nosystemd.pref + +testsuccessequal "$UPGRADE" aptget upgrade -s +testsuccessequal "$UPGRADE" apt upgrade -s --without-new-pkgs + +UPGRADENEW='Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + new-dep sysvinit +The following packages have been kept back: + upgrade-with-conflict +The following packages will be upgraded: + init upgrade-simple upgrade-with-new-dep +3 upgraded, 2 newly installed, 0 to remove and 1 not upgraded. +Inst sysvinit (2 unstable [all]) +Conf sysvinit (2 unstable [all]) +Inst init [1] (2 unstable [all]) +Inst new-dep (1.0 stable [all]) +Inst upgrade-simple [1.0] (2.0 unstable [all]) +Inst upgrade-with-new-dep [1.0] (2.0 unstable [all]) +Conf init (2 unstable [all]) +Conf new-dep (1.0 stable [all]) +Conf upgrade-simple (2.0 unstable [all]) +Conf upgrade-with-new-dep (2.0 unstable [all])' +testsuccessequal "$UPGRADENEW" aptget upgrade -s --with-new-pkgs +testsuccessequal "$UPGRADENEW" apt upgrade -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be REMOVED: + conflicting-dep +The following NEW packages will be installed: + new-dep sysvinit +The following packages will be upgraded: + init upgrade-simple upgrade-with-conflict upgrade-with-new-dep +4 upgraded, 2 newly installed, 1 to remove and 0 not upgraded. +Remv conflicting-dep [1.0] +Inst sysvinit (2 unstable [all]) +Conf sysvinit (2 unstable [all]) +Inst init [1] (2 unstable [all]) +Inst upgrade-with-conflict [1.0] (2.0 unstable [all]) +Inst new-dep (1.0 stable [all]) +Inst upgrade-simple [1.0] (2.0 unstable [all]) +Inst upgrade-with-new-dep [1.0] (2.0 unstable [all]) +Conf init (2 unstable [all]) +Conf upgrade-with-conflict (2.0 unstable [all]) +Conf new-dep (1.0 stable [all]) +Conf upgrade-simple (2.0 unstable [all]) +Conf upgrade-with-new-dep (2.0 unstable [all])' aptget -s dist-upgrade