diff options
author | David Kalnischkies <david@kalnischkies.de> | 2016-06-26 13:20:19 +0200 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2016-06-27 11:57:13 +0200 |
commit | b4f91d4d150a0d9bcc77563abbc03d28da2ff4e3 (patch) | |
tree | 1098af95242129e5182b1b40c19cf7b50e80286b /test/integration | |
parent | 262fdd8b5882dcd23f3b4cb266132ad3c326f83a (diff) | |
download | apt-b4f91d4d150a0d9bcc77563abbc03d28da2ff4e3.tar.gz |
eipp: enable xz-compressed scenario logging
In 385d9f2f23057bc5808b5e013e77ba16d1c94da4 I implemented the storage of
scenario files based on enabling this by default for EIPP, but I
implemented it first optionally for EDSP to have it independent.
The reasons mentioned in the earlier commit (debugging and bugreports)
obviously apply here, especially as EIPP solutions aren't user approved,
nearly impossible to verify before starting the execution and at the
time of error the scenario has changed already, so that reproducing the
issue becomes hard(er).
Diffstat (limited to 'test/integration')
-rw-r--r-- | test/integration/framework | 11 | ||||
-rwxr-xr-x | test/integration/test-external-installation-planer-protocol | 48 |
2 files changed, 52 insertions, 7 deletions
diff --git a/test/integration/framework b/test/integration/framework index 93e17e454..cd8597f80 100644 --- a/test/integration/framework +++ b/test/integration/framework @@ -309,8 +309,8 @@ setupenvironment() { ln -s "${BUILDDIRECTORY}/apt-dump-solver" usr/lib/apt/planers/dump ln -s "${BUILDDIRECTORY}/apt-internal-solver" usr/lib/apt/solvers/apt ln -s "${BUILDDIRECTORY}/apt-internal-planer" usr/lib/apt/planers/apt - echo "Dir::Bin::Solvers \"${TMPWORKINGDIRECTORY}/rootdir/usr/lib/apt/solvers\";" > etc/apt/apt.conf.d/externalsolver.conf - echo "Dir::Bin::Planers \"${TMPWORKINGDIRECTORY}/rootdir/usr/lib/apt/planers\";" > etc/apt/apt.conf.d/externalplaner.conf + echo "Dir::Bin::Solvers \"${TMPWORKINGDIRECTORY}/rootdir/usr/lib/apt/solvers\";" >> ../aptconfig.conf + echo "Dir::Bin::Planers \"${TMPWORKINGDIRECTORY}/rootdir/usr/lib/apt/planers\";" >> ../aptconfig.conf fi # use the autoremove from the BUILDDIRECTORY if its there, otherwise # system @@ -333,7 +333,7 @@ setupenvironment() { chmod 644 keys/* ln -s "${TMPWORKINGDIRECTORY}/keys/joesixpack.pub" rootdir/etc/apt/trusted.gpg.d/joesixpack.gpg - echo "Dir \"${TMPWORKINGDIRECTORY}/rootdir\";" > aptconfig.conf + echo "Dir \"${TMPWORKINGDIRECTORY}/rootdir\";" >> aptconfig.conf echo "Dir::state::status \"${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status\";" >> aptconfig.conf echo "APT::Get::Show-User-Simulation-Note \"false\";" >> aptconfig.conf echo "Dir::Bin::Methods \"${TMPWORKINGDIRECTORY}/rootdir/usr/lib/apt/methods\";" >> aptconfig.conf @@ -1571,12 +1571,13 @@ msgfailoutput() { local MSG="$1" local OUTPUT="$2" shift 2 - if [ "$1" = 'grep' ]; then + local CMD="$1" + if [ "$1" = 'grep' -o "$1" = 'tail' -o "$1" = 'head' ]; then echo >&2 while [ -n "$2" ]; do shift; done echo "#### Complete file: $1 ####" catfile "$1" - echo '#### grep output ####' + echo "#### $CMD output ####" elif [ "$1" = 'test' ]; then echo >&2 # doesn't support ! or non-file flags diff --git a/test/integration/test-external-installation-planer-protocol b/test/integration/test-external-installation-planer-protocol index 605efcd7b..15ecd23a3 100755 --- a/test/integration/test-external-installation-planer-protocol +++ b/test/integration/test-external-installation-planer-protocol @@ -20,12 +20,56 @@ insertinstalledpackage 'unrelated-1' 'all' '1' setupaptarchive --no-update +EIPPLOG="${TMPWORKINGDIRECTORY}/rootdir/var/log/apt/eipp.log" +echo "Dir::Log::Planer \"$EIPPLOG\";" > ./rootdir/etc/apt/apt.conf.d/eipp-logging + testsuccess apt update export APT_EDSP_DUMP_FILENAME="${TMPWORKINGDIRECTORY}/eipp.dump" +testfailure test -r "$EIPPLOG" testfailure aptget install foo --planer 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" -#less "$APT_EDSP_DUMP_FILENAME" +testsuccessequal 'Planer: dump' grep '^Planer: ' "$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 +Planer: internal' head -n 6 "$EIPPLOG" +aptinternalplaner < "$EIPPLOG" > planer.log || true +testsuccessequal 'Remove: 6 +Unpack: 2 +Unpack: 4 +Configure: 2 +Configure: 4' grep -e '^Unpack:' -e '^Install:' -e '^Configure:' -e '^Remove:' planer.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 +Planer: internal' head -n 5 "$EIPPLOG" +aptinternalplaner < "$EIPPLOG" > planer.log || true +testsuccessequal 'Unpack: 4 +Configure: 4' grep -e '^Unpack:' -e '^Install:' -e '^Configure:' -e '^Remove:' planer.log -aptget install foo -ys #--planer apt +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 +Planer: internal' head -n 5 "$EIPPLOG" +aptinternalplaner < "$EIPPLOG" > planer.log || true +testsuccessequal 'Remove: 4' grep -e '^Unpack:' -e '^Install:' -e '^Configure:' -e '^Remove:' planer.log |