From 8e99b22c31eb47d0422e9a69e83dc99bb315ded8 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Wed, 29 Jun 2016 09:16:53 +0200 Subject: eipp: let apt make a plan, not make stuff plane Julian noticed on IRC that I fall victim to a lovely false friend by calling referring to a 'planer' all the time even through these are machines to e.g. remove splinters from woodwork ("make stuff plane"). The term I meant is written in german in this way (= with a single n) but in english there are two, aka: 'planner'. As that is unreleased code switching all instances without any transitional provisions. Also the reason why its skipped in changelog. Thanks: Julian Andres Klode Gbp-Dch: Ignore --- .../test-external-installation-planner-protocol | 75 ++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100755 test/integration/test-external-installation-planner-protocol (limited to 'test/integration/test-external-installation-planner-protocol') diff --git a/test/integration/test-external-installation-planner-protocol b/test/integration/test-external-installation-planner-protocol new file mode 100755 index 000000000..bd3c99c32 --- /dev/null +++ b/test/integration/test-external-installation-planner-protocol @@ -0,0 +1,75 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +buildsimplenativepackage 'libfoo' 'amd64' '3' 'experimental' 'Multi-Arch: same' +buildsimplenativepackage 'foo' 'all' '3' 'experimental' 'Depends: newstuff' +buildsimplenativepackage 'foo' 'all' '2' 'unstable' 'Depends: libfoo:amd64, stuff +Conflicts: bar, libfoo:i386 +Recommends: unrelated' +buildsimplenativepackage 'libfoo' 'amd64' '2' 'unstable' 'Multi-Arch: same' +buildsimplenativepackage 'unrelated-2' 'amd64' '2' 'unstable' +insertinstalledpackage 'foo' 'all' '1' +insertinstalledpackage 'bar' 'all' '1' +insertinstalledpackage 'stuff' 'all' '1' +insertinstalledpackage 'unrelated-1' 'all' '1' + +setupaptarchive --no-update + +EIPPLOG="${TMPWORKINGDIRECTORY}/rootdir/var/log/apt/eipp.log" +echo "Dir::Log::Planner \"$EIPPLOG\";" > ./rootdir/etc/apt/apt.conf.d/eipp-logging + +testsuccess apt update +export APT_EDSP_DUMP_FILENAME="${TMPWORKINGDIRECTORY}/downloaded/dump.eipp" +testfailure test -r "$EIPPLOG" +testfailure aptget install foo --planner dump -y +testfailure test -r "$EIPPLOG" +testfailure grep 'unrelated-2' "$APT_EDSP_DUMP_FILENAME" +testsuccessequal '2' grep -c '^Package: foo$' "$APT_EDSP_DUMP_FILENAME" +testsuccessequal '1' grep -c '^Package: libfoo$' "$APT_EDSP_DUMP_FILENAME" +testsuccessequal 'Planner: dump' grep '^Planner: ' "$APT_EDSP_DUMP_FILENAME" + +testsuccess aptget install foo -s +testsuccess aptget install foo -y +testsuccess test -r "$EIPPLOG" +testsuccessequal 'Request: EIPP 0.1 +Architecture: amd64 +Architectures: amd64 +Remove: bar:amd64 +Install: libfoo:amd64 foo:amd64 +Planner: internal' head -n 6 "$EIPPLOG" +aptinternalplanner < "$EIPPLOG" > planner.log || true +testsuccessequal 'Remove: 6 +Unpack: 2 +Unpack: 4 +Configure: 2 +Configure: 4' grep -e '^Unpack:' -e '^Install:' -e '^Configure:' -e '^Remove:' planner.log + +rm -f "$EIPPLOG" +testsuccess aptget install foo -s --reinstall +testsuccess aptget install foo -y --reinstall +testsuccess test -r "$EIPPLOG" +testsuccessequal 'Request: EIPP 0.1 +Architecture: amd64 +Architectures: amd64 +ReInstall: foo:amd64 +Planner: internal' head -n 5 "$EIPPLOG" +aptinternalplanner < "$EIPPLOG" > planner.log || true +testsuccessequal 'Unpack: 4 +Configure: 4' grep -e '^Unpack:' -e '^Install:' -e '^Configure:' -e '^Remove:' planner.log + +rm -f "$EIPPLOG" +testsuccess aptget purge foo -s +testsuccess aptget purge foo -y +testsuccess test -r "$EIPPLOG" +testsuccessequal 'Request: EIPP 0.1 +Architecture: amd64 +Architectures: amd64 +Remove: foo:amd64 +Planner: internal' head -n 5 "$EIPPLOG" +aptinternalplanner < "$EIPPLOG" > planner.log || true +testsuccessequal 'Remove: 4' grep -e '^Unpack:' -e '^Install:' -e '^Configure:' -e '^Remove:' planner.log -- cgit v1.2.3