]> git.saurik.com Git - apt.git/blob - test/integration/test-external-installation-planner-protocol
use +0000 instead of UTC by default as timezone in output
[apt.git] / test / integration / test-external-installation-planner-protocol
1 #!/bin/sh
2 set -e
3
4 TESTDIR="$(readlink -f "$(dirname "$0")")"
5 . "$TESTDIR/framework"
6 setupenvironment
7 configarchitecture 'amd64'
8
9 buildsimplenativepackage 'libfoo' 'amd64' '3' 'experimental' 'Multi-Arch: same'
10 buildsimplenativepackage 'foo' 'all' '3' 'experimental' 'Depends: newstuff'
11 buildsimplenativepackage 'foo' 'all' '2' 'unstable' 'Depends: libfoo:amd64, stuff
12 Conflicts: bar, libfoo:i386
13 Recommends: unrelated'
14 buildsimplenativepackage 'libfoo' 'amd64' '2' 'unstable' 'Multi-Arch: same'
15 buildsimplenativepackage 'unrelated-2' 'amd64' '2' 'unstable'
16 insertinstalledpackage 'foo' 'all' '1'
17 insertinstalledpackage 'bar' 'all' '1'
18 insertinstalledpackage 'stuff' 'all' '1'
19 insertinstalledpackage 'unrelated-1' 'all' '1'
20
21 setupaptarchive --no-update
22
23 EIPPLOG="${TMPWORKINGDIRECTORY}/rootdir/var/log/apt/eipp.log"
24 echo "Dir::Log::Planner \"$EIPPLOG\";" > ./rootdir/etc/apt/apt.conf.d/eipp-logging
25
26 testsuccess apt update
27 export APT_EDSP_DUMP_FILENAME="${TMPWORKINGDIRECTORY}/downloaded/dump.eipp"
28 testfailure test -r "$EIPPLOG"
29 testfailure aptget install foo --planner dump -y
30 testfailure test -r "$EIPPLOG"
31 testfailure grep 'unrelated-2' "$APT_EDSP_DUMP_FILENAME"
32 testsuccessequal '2' grep -c '^Package: foo$' "$APT_EDSP_DUMP_FILENAME"
33 testsuccessequal '1' grep -c '^Package: libfoo$' "$APT_EDSP_DUMP_FILENAME"
34 testsuccessequal 'Planner: dump' grep '^Planner: ' "$APT_EDSP_DUMP_FILENAME"
35
36 testsuccess aptget install foo -s
37 testsuccess aptget install foo -y
38 testsuccess test -r "$EIPPLOG"
39 testsuccessequal 'Request: EIPP 0.1
40 Architecture: amd64
41 Architectures: amd64
42 Remove: bar:amd64
43 Install: libfoo:amd64 foo:amd64
44 Planner: internal' head -n 6 "$EIPPLOG"
45 aptinternalplanner < "$EIPPLOG" > planner.log || true
46 testsuccessequal 'Remove: 6
47 Unpack: 2
48 Unpack: 4
49 Configure: 2
50 Configure: 4' grep -e '^Unpack:' -e '^Install:' -e '^Configure:' -e '^Remove:' planner.log
51
52 rm -f "$EIPPLOG"
53 testsuccess aptget install foo -s --reinstall
54 testsuccess aptget install foo -y --reinstall
55 testsuccess test -r "$EIPPLOG"
56 testsuccessequal 'Request: EIPP 0.1
57 Architecture: amd64
58 Architectures: amd64
59 ReInstall: foo:amd64
60 Planner: internal' head -n 5 "$EIPPLOG"
61 aptinternalplanner < "$EIPPLOG" > planner.log || true
62 testsuccessequal 'Unpack: 4
63 Configure: 4' grep -e '^Unpack:' -e '^Install:' -e '^Configure:' -e '^Remove:' planner.log
64
65 rm -f "$EIPPLOG"
66 testsuccess aptget purge foo -s
67 testsuccess aptget purge foo -y
68 testsuccess test -r "$EIPPLOG"
69 testsuccessequal 'Request: EIPP 0.1
70 Architecture: amd64
71 Architectures: amd64
72 Remove: foo:amd64
73 Planner: internal' head -n 5 "$EIPPLOG"
74 aptinternalplanner < "$EIPPLOG" > planner.log || true
75 testsuccessequal 'Remove: 4' grep -e '^Unpack:' -e '^Install:' -e '^Configure:' -e '^Remove:' planner.log