ensure_correct_packages_file() {
testequal "Package: foo
+Architecture: i386
+Version: 1
Priority: optional
Section: others
-Installed-Size: 29
Maintainer: Joe Sixpack <joe@example.org>
-Architecture: i386
-Version: 1
-Filename: pool/main/foo_1_i386.deb" head -n8 ./aptarchive/dists/test/main/binary-i386/Packages
+$(dpkg-deb -I ./aptarchive/pool/main/foo_1_i386.deb | grep 'Installed-Size:' | sed 's#^ ##')
+Filename: pool/main/foo_1_i386.deb" head -n8 ./aptarchive/dists/test/main/binary-i386/Packages
}
ensure_correct_contents_file() {
- testequal "usr/bin/foo-i386 others/foo
+ testfileequal ./aptarchive/dists/test/Contents-i386 "usr/bin/foo-i386 others/foo
usr/share/doc/foo/FEATURES others/foo
usr/share/doc/foo/changelog others/foo
-usr/share/doc/foo/copyright others/foo" cat ./aptarchive/dists/test/Contents-i386
+usr/share/doc/foo/copyright others/foo"
}
#
# main()
#
-TESTDIR=$(readlink -f $(dirname $0))
-. $TESTDIR/framework
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
setupenvironment
-configarchitecture "i386"
+configarchitecture 'i386'
mkdir -p aptarchive/dists/test/main/i18n/
mkdir -p aptarchive/dists/test/main/source/
mv incoming/* aptarchive/pool/main/
# generate (empty cachedb)
-aptftparchive generate ftparchive.conf -o APT::FTPArchive::ShowCacheMisses=1 2> stats-out.txt
+testsuccess aptftparchive generate ftparchive.conf -o APT::FTPArchive::ShowCacheMisses=1
+cp rootdir/tmp/testsuccess.output stats-out.txt
ensure_correct_packages_file
ensure_correct_contents_file
-testequal " Misses in Cache: 2
- dists/test/Contents-i386: New 402 B Misses in Cache: 0" grep Misses stats-out.txt
+testsuccessequal ' Misses in Cache: 2
+ dists/test/Contents-i386: New 402 B Misses in Cache: 0' grep Misses stats-out.txt
# generate again
-aptftparchive generate ftparchive.conf -o APT::FTPArchive::ShowCacheMisses=1 2> stats-out.txt
+testsuccess aptftparchive generate ftparchive.conf -o APT::FTPArchive::ShowCacheMisses=1
+cp rootdir/tmp/testsuccess.output stats-out.txt
ensure_correct_packages_file
ensure_correct_contents_file
-testequal " Misses in Cache: 0
- dists/test/Contents-i386: Misses in Cache: 0" grep Misses stats-out.txt
+testsuccessequal ' Misses in Cache: 0
+ dists/test/Contents-i386: Misses in Cache: 0' grep Misses stats-out.txt
# and again (with removing the Packages file)
rm -f ./aptarchive/dists/test/main/binary-i386/*
rm -f ./aptarchive/dists/test/Contents-i386
-aptftparchive generate ftparchive.conf -o APT::FTPArchive::ShowCacheMisses=1 2> stats-out.txt
+testsuccess aptftparchive generate ftparchive.conf -o APT::FTPArchive::ShowCacheMisses=1
+cp rootdir/tmp/testsuccess.output stats-out.txt
ensure_correct_packages_file
ensure_correct_contents_file
-testequal " Misses in Cache: 0
- dists/test/Contents-i386: New 402 B Misses in Cache: 0" grep Misses stats-out.txt
-
+testsuccessequal ' Misses in Cache: 0
+ dists/test/Contents-i386: New 402 B Misses in Cache: 0' grep Misses stats-out.txt
+
+# and clean
+rm -rf aptarchive/pool/main/*
+testsuccessequal "packages-main-i386.db" aptftparchive clean ftparchive.conf
+testsuccess aptftparchive clean ftparchive.conf -o Debug::APT::FTPArchive::Clean=1
+cp rootdir/tmp/testsuccess.output clean-out.txt
+testsuccessequal "0 Number of unique keys in the tree" grep unique clean-out.txt
+testsuccessequal "packages-main-i386.db" grep packages-main-i386.db clean-out.txt