4 ensure_correct_packages_file
() {
5 testequal
"Package: foo
10 Maintainer: Joe Sixpack <joe@example.org>
11 $(dpkg-deb -I ./aptarchive/pool/main/foo_1_i386.deb | grep 'Installed-Size:' | sed 's#^ ##')
12 Filename: pool/main/foo_1_i386.deb" head -n8 .
/aptarchive
/dists
/test
/main
/binary
-i386/Packages
15 ensure_correct_contents_file
() {
16 testfileequal .
/aptarchive
/dists
/test
/Contents
-i386 "usr/bin/foo-i386 others/foo
17 usr/share/doc/foo/FEATURES others/foo
18 usr/share/doc/foo/changelog others/foo
19 usr/share/doc/foo/copyright others/foo"
25 TESTDIR
="$(readlink -f "$(dirname "$0")")"
26 . "$TESTDIR/framework
"
28 configarchitecture 'i386'
30 mkdir -p aptarchive/dists/test/main/i18n/
31 mkdir -p aptarchive/dists/test/main/source/
32 mkdir -p aptarchive/dists/test/main/binary-i386
33 mkdir -p aptarchive/pool/main
35 mkdir aptarchive-overrides
36 mkdir aptarchive-cache
37 cat > ftparchive.conf <<"EOF"
39 ArchiveDir ".
/aptarchive
";
40 OverrideDir ".
/aptarchive
-overrides";
41 CacheDir ".
/aptarchive
-cache";
45 Packages::Compress ".
gzip bzip2";
46 Contents::Compress ".
gzip bzip2";
47 LongDescription "false
";
51 BinCacheDB "packages
-$(SECTION)-$(ARCH).db
";
53 Directory "pool
/$(SECTION)";
54 SrcDirectory "pool
/$(SECTION)";
56 Packages "$(DIST)/$(SECTION)/binary
-$(ARCH)/Packages
";
57 Contents "$(DIST)/Contents
-$(ARCH)";
68 buildsimplenativepackage 'foo' 'i386' '1' 'test'
69 mv incoming/* aptarchive/pool/main/
71 # generate (empty cachedb)
72 testsuccess aptftparchive generate ftparchive.conf -o APT::FTPArchive::ShowCacheMisses=1
73 cp rootdir/tmp/testsuccess.output stats-out.txt
74 ensure_correct_packages_file
75 ensure_correct_contents_file
76 testsuccessequal ' Misses in Cache: 2
77 dists/test/Contents-i386: New 402 B Misses in Cache: 0' grep Misses stats-out.txt
80 testsuccess aptftparchive generate ftparchive.conf -o APT::FTPArchive::ShowCacheMisses=1
81 cp rootdir/tmp/testsuccess.output stats-out.txt
82 ensure_correct_packages_file
83 ensure_correct_contents_file
84 testsuccessequal ' Misses in Cache: 0
85 dists/test/Contents-i386: Misses in Cache: 0' grep Misses stats-out.txt
87 # and again (with removing the Packages file)
88 rm -f ./aptarchive/dists/test/main/binary-i386/*
89 rm -f ./aptarchive/dists/test/Contents-i386
90 testsuccess aptftparchive generate ftparchive.conf -o APT::FTPArchive::ShowCacheMisses=1
91 cp rootdir/tmp/testsuccess.output stats-out.txt
92 ensure_correct_packages_file
93 ensure_correct_contents_file
94 testsuccessequal ' Misses in Cache: 0
95 dists/test/Contents-i386: New 402 B Misses in Cache: 0' grep Misses stats-out.txt
98 rm -rf aptarchive/pool/main/*
99 testsuccessequal "packages
-main-i386.db
" aptftparchive clean ftparchive.conf
100 testsuccess aptftparchive clean ftparchive.conf -o Debug::APT::FTPArchive::Clean=1
101 cp rootdir/tmp/testsuccess.output clean-out.txt
102 testsuccessequal "0 Number of unique keys
in the tree
" grep unique clean-out.txt
103 testsuccessequal "packages
-main-i386.db
" grep packages-main-i386.db clean-out.txt