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