#!/bin/sh set -e TESTDIR=$(readlink -f $(dirname $0)) . $TESTDIR/framework setupenvironment configarchitecture 'amd64' PACKAGESTANZA='Version: 0.9.7.8 Installed-Size: 3270 Maintainer: APT Development Team Architecture: amd64 Filename: pool/main/a/apt/apt_0.9.7.8_amd64.deb MD5sum: 3a622acda41620df50aa22a9fac6f32e' DESCRIPTION='Description: commandline package manager This APT has Super Cow Powers.' TRANSDESCRIPTION='Description-en: commandline package manager This APT has translated Super Cow Powers.' echo "Package: apt-normal $PACKAGESTANZA $DESCRIPTION Description-md5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Package: apt-both-below $PACKAGESTANZA $DESCRIPTION $TRANSDESCRIPTION Description-md5: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb Package: apt-both-middle $PACKAGESTANZA $DESCRIPTION Description-md5: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb $TRANSDESCRIPTION Package: apt-both-top $PACKAGESTANZA Description-md5: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb $DESCRIPTION $TRANSDESCRIPTION Package: apt-trans $PACKAGESTANZA $TRANSDESCRIPTION Description-md5: cccccccccccccccccccccccccccccccc Package: apt-md5 $PACKAGESTANZA Description-md5: dddddddddddddddddddddddddddddddd Package: apt-none $PACKAGESTANZA Package: apt-intermixed $PACKAGESTANZA $DESCRIPTION X-Some-Flag: yes Description-md5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Package: apt-intermixed2 $PACKAGESTANZA $DESCRIPTION X-Some-Flag: yes $TRANSDESCRIPTION X-Foo-Flag: Something with a Description Description-md5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa X-Bar-Flag: no Package: apt-intermixed3 $PACKAGESTANZA $DESCRIPTION X-Some-Flag: yes $TRANSDESCRIPTION X-Foo-Flag: Something with a Description X-Bar-Flag: no Description-md5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" > aptarchive/Packages setupaptarchive testequal "Package: apt-normal $PACKAGESTANZA $DESCRIPTION Description-md5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " aptcache show apt-normal # displaying the translated Description would be equally valid, # but we assume only one description is in a Packages file and # so we prefer "Description" over "Description-*" currently. for variant in 'below' 'middle' 'top'; do testequal "Package: apt-both-$variant $PACKAGESTANZA $DESCRIPTION Description-md5: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb " aptcache show apt-both-$variant done testequal "Package: apt-trans $PACKAGESTANZA $TRANSDESCRIPTION Description-md5: cccccccccccccccccccccccccccccccc " aptcache show apt-trans testequal "Package: apt-md5 $PACKAGESTANZA Description-md5: dddddddddddddddddddddddddddddddd " aptcache show apt-md5 testequal "Package: apt-none $PACKAGESTANZA " aptcache show apt-none testequal "Package: apt-intermixed $PACKAGESTANZA $DESCRIPTION Description-md5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa X-Some-Flag: yes " aptcache show apt-intermixed testequal "Package: apt-intermixed2 $PACKAGESTANZA $DESCRIPTION Description-md5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa X-Some-Flag: yes X-Foo-Flag: Something with a Description X-Bar-Flag: no " aptcache show apt-intermixed2 testequal "Package: apt-intermixed3 $PACKAGESTANZA $DESCRIPTION Description-md5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa X-Some-Flag: yes X-Foo-Flag: Something with a Description X-Bar-Flag: no " aptcache show apt-intermixed3 msgtest 'Test that no description does not destroy' 'showpkg' aptcache showpkg apt-none | sed 's#/tmp/.*_aptarchive_#/tmp/aptarchive_#' >showpkg.explosion && msgpass || msgfail testfileequal showpkg.explosion 'Package: apt-none Versions: 0.9.7.8 (/tmp/aptarchive_Packages) Reverse Depends: Dependencies: 0.9.7.8 - Provides: 0.9.7.8 - Reverse Provides: ' testempty aptcache search nonexistentstring # packages without a description can't be found testequal 'apt-normal - commandline package manager apt-both-below - commandline package manager apt-both-middle - commandline package manager apt-both-top - commandline package manager apt-trans - commandline package manager apt-intermixed - commandline package manager apt-intermixed2 - commandline package manager apt-intermixed3 - commandline package manager' aptcache search apt