X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/3abb6a6a1e485b3bc899b64b0a1b7dc2db25a9c2..6dcae298f972eb20223838f0e1dc376c44bc9cc3:/test/integration/test-external-dependency-solver-protocol diff --git a/test/integration/test-external-dependency-solver-protocol b/test/integration/test-external-dependency-solver-protocol index 54b58301f..e22684ec5 100755 --- a/test/integration/test-external-dependency-solver-protocol +++ b/test/integration/test-external-dependency-solver-protocol @@ -113,7 +113,7 @@ The following package was automatically installed and is no longer required: Use '$AUTOREMOVE' to remove it. The following packages will be REMOVED: cool* somestuff* -0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. +0 upgraded, 0 newly installed, 2 to remove and 1 not upgraded. Purg somestuff [1] Purg cool [1]" aptget purge --solver apt cool -s @@ -124,7 +124,7 @@ rm -f "$APT_EDSP_DUMP_FILENAME" testfailure aptget install --solver dump awesomecoolstuff:i386 -s testsuccess test -s "$APT_EDSP_DUMP_FILENAME" testequal 'Install: awesomecoolstuff:i386' grep :i386 "$APT_EDSP_DUMP_FILENAME" -testempty grep -e ':amd64' -e 'Architecture: any' "$APT_EDSP_DUMP_FILENAME" +testfailure grep -e ':amd64' -e 'Architecture: any' "$APT_EDSP_DUMP_FILENAME" testsuccess aptget dist-upgrade -s testsuccess aptget dist-upgrade -s --solver apt @@ -194,3 +194,53 @@ Priority: optional Section: other APT-Pin: 100 ' aptinternalsolver scenario stuff + +cat > rootdir/usr/lib/apt/solvers/explicitremove << EOF +#!/bin/sh +set -e +while read line; do + if [ "APT-ID" = "\${line%:*}" ]; then + cat << APT +Install: \${line#*:} + +Remove: \${line#*:} + +APT + fi +done +EOF +chmod +x rootdir/usr/lib/apt/solvers/explicitremove +testfailure apt full-upgrade -s --solver explicitremove +testsuccess grep 'had a previous stanza' rootdir/tmp/testfailure.output + +cat > rootdir/usr/lib/apt/solvers/removeall << EOF +#!/bin/sh +set -e +while read line; do + if [ "APT-ID" = "\${line%:*}" ]; then + cat << APT +Remove: \${line#*:} + +APT + fi +done +EOF +chmod +x rootdir/usr/lib/apt/solvers/removeall +testwarning apt full-upgrade -s --solver removeall +testsuccess grep "which isn't installed!" rootdir/tmp/testwarning.output + +cat > rootdir/usr/lib/apt/solvers/installall << EOF +#!/bin/sh +set -e +while read line; do + if [ "APT-ID" = "\${line%:*}" ]; then + cat << APT +Install: \${line#*:} + +APT + fi +done +EOF +chmod +x rootdir/usr/lib/apt/solvers/installall +testfailure apt full-upgrade -s --solver installall +testsuccess grep "is already installed!" rootdir/tmp/testfailure.output