123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- #!/bin/sh
- set -e
- ensure_correct_packages_file() {
- testequal "Package: foo
- Architecture: i386
- Version: 1
- Priority: optional
- Section: others
- Maintainer: Joe Sixpack <joe@example.org>
- $(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() {
- 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"
- }
- #
- # main()
- #
- TESTDIR="$(readlink -f "$(dirname "$0")")"
- . "$TESTDIR/framework"
- setupenvironment
- configarchitecture 'i386'
- mkdir -p aptarchive/dists/test/main/i18n/
- mkdir -p aptarchive/dists/test/main/source/
- mkdir -p aptarchive/dists/test/main/binary-i386
- mkdir -p aptarchive/pool/main
- mkdir aptarchive-overrides
- mkdir aptarchive-cache
- cat > ftparchive.conf <<"EOF"
- Dir {
- ArchiveDir "./aptarchive";
- OverrideDir "./aptarchive-overrides";
- CacheDir "./aptarchive-cache";
- };
- Default {
- Packages::Compress ". gzip bzip2";
- Contents::Compress ". gzip bzip2";
- LongDescription "false";
- };
- TreeDefault {
- BinCacheDB "packages-$(SECTION)-$(ARCH).db";
- Directory "pool/$(SECTION)";
- SrcDirectory "pool/$(SECTION)";
- Packages "$(DIST)/$(SECTION)/binary-$(ARCH)/Packages";
- Contents "$(DIST)/Contents-$(ARCH)";
- };
- Tree "dists/test" {
- Sections "main";
- Architectures "i386";
- };
- EOF
- # build one pacakge
- buildsimplenativepackage 'foo' 'i386' '1' 'test'
- mv incoming/* aptarchive/pool/main/
- # generate (empty cachedb)
- 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
- testsuccessequal ' Misses in Cache: 2
- dists/test/Contents-i386: New 402 B Misses in Cache: 0' grep Misses stats-out.txt
- # generate again
- 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
- 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
- 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
- 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
|