From b636668788fe8b1f7183b21eaf7b87f34209169e Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Mon, 1 Jul 2024 16:27:15 +0200 Subject: solver3: Do not accidentally promote Replaces and Enhances to dependencies As part of the refactoring, we allowed the code to work on unimportant dependencies as we needed to promote Suggests to Depends if they are currently satisfied. However, Replaces and Enhances were not considered properly and both are not negative dependencies so they were accidentally promoted to Depends too if they were currently satisfied. --- test/integration/test-solver3-dependencies | 65 ++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100755 test/integration/test-solver3-dependencies (limited to 'test') diff --git a/test/integration/test-solver3-dependencies b/test/integration/test-solver3-dependencies new file mode 100755 index 000000000..330ded8f9 --- /dev/null +++ b/test/integration/test-solver3-dependencies @@ -0,0 +1,65 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertinstalledpackage 'replaces' 'all' '2' 'Replaces: replaced (<< 3)' +insertinstalledpackage 'replaced' 'all' '2' + +insertinstalledpackage 'enhances' 'all' '2' 'Enhances: enhanced (<< 3)' +insertinstalledpackage 'enhanced' 'all' '2' + +insertpackage 'unstable' 'replaces' 'all' '3' 'Replaces: replaced (<< 3)' +insertpackage 'unstable' 'enhances' 'all' '3' 'Enhances: enhanced (<< 3)' +insertpackage 'unstable' 'replaced' 'all' '3' +insertpackage 'unstable' 'enhanced' 'all' '3' + +setupaptarchive + +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be upgraded: + enhanced enhances replaced replaces +4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst enhanced [2] (3 unstable [all]) +Inst enhances [2] (3 unstable [all]) +Inst replaced [2] (3 unstable [all]) +Inst replaces [2] (3 unstable [all]) +Conf enhanced (3 unstable [all]) +Conf enhances (3 unstable [all]) +Conf replaced (3 unstable [all]) +Conf replaces (3 unstable [all])" aptget upgrade -s + +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be upgraded: + enhanced enhances replaced replaces +4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst enhanced [2] (3 unstable [all]) +Inst enhances [2] (3 unstable [all]) +Inst replaced [2] (3 unstable [all]) +Inst replaces [2] (3 unstable [all]) +Conf enhanced (3 unstable [all]) +Conf enhances (3 unstable [all]) +Conf replaced (3 unstable [all]) +Conf replaces (3 unstable [all])" apt upgrade -s + +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be upgraded: + enhanced enhances replaced replaces +4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst enhanced [2] (3 unstable [all]) +Inst enhances [2] (3 unstable [all]) +Inst replaced [2] (3 unstable [all]) +Inst replaces [2] (3 unstable [all]) +Conf enhanced (3 unstable [all]) +Conf enhances (3 unstable [all]) +Conf replaced (3 unstable [all]) +Conf replaces (3 unstable [all])" apt dist-upgrade -s -- cgit v1.2.3-70-g09d2