#!/bin/sh set -e TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment allowremovemanual configarchitecture 'amd64' insertpackage 'unstable' 'a' 'all' '2' insertpackage 'unstable' 'b' 'all' '2' insertpackage 'unstable' 'x' 'all' '3' 'Depends: xx Recommends: b' insertpackage 'unstable' 'xx' 'all' '3' 'Depends: a | b Recommends: b' insertpackage 'installed,unstable' 'recommends-and-enhances' 'all' '3' 'Recommends: b Enhances:b' setupaptarchive msgmsg "Test that the Enhances does not confuse the Recommends algorithm" testsuccessequal "Reading package lists... Building dependency tree... Calculating upgrade... 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." apt full-upgrade -s msgmsg "Test that the Recommends does not influence the Depends" testsuccessequal "The following additional packages will be installed: a b The following NEW packages will be installed: a b xx 0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. Inst a (2 unstable [all]) Inst b (2 unstable [all]) Inst xx (3 unstable [all]) Conf a (2 unstable [all]) Conf b (2 unstable [all]) Conf xx (3 unstable [all])" apt install -s xx -qq msgmsg "Test that the Recommends in x does not influence the Depends in xx (one level lower)" testsuccessequal "The following additional packages will be installed: a b xx The following NEW packages will be installed: a b x xx 0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. Inst a (2 unstable [all]) Inst b (2 unstable [all]) Inst xx (3 unstable [all]) Inst x (3 unstable [all]) Conf a (2 unstable [all]) Conf b (2 unstable [all]) Conf xx (3 unstable [all]) Conf x (3 unstable [all])" apt install -s x -qq