Browse Source

add test for binary cachedb and contents generation

tags/debian/1.0.4
Michael Vogt 7 years ago
parent
commit
0a3b93fc3d
3 changed files with 95 additions and 3 deletions
  1. +1
    -0
      ftparchive/cachedb.cc
  2. +93
    -0
      test/integration/test-apt-ftparchive-cachedb
  3. +1
    -3
      test/integration/test-apt-ftparchive-src-cachedb

+ 1
- 0
ftparchive/cachedb.cc View File

@@ -349,6 +349,7 @@ bool CacheDB::LoadContents(bool const &GenOnly)
return false;
}

Stats.Misses++;
if (Contents.Read(*DebFile) == false)
return false;


+ 93
- 0
test/integration/test-apt-ftparchive-cachedb View File

@@ -0,0 +1,93 @@
#!/bin/sh
set -e

ensure_correct_packages_file() {
testequal "Package: foo
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
}

ensure_correct_contents_file() {
testequal "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
}

#
# 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)
aptftparchive generate ftparchive.conf -o APT::FTPArchive::ShowCacheMisses=1 2> 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

# generate again
aptftparchive generate ftparchive.conf -o APT::FTPArchive::ShowCacheMisses=1 2> 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

# 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
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


test/integration/test-apt-ftparchive → test/integration/test-apt-ftparchive-src-cachedb View File

@@ -125,9 +125,7 @@ TreeDefault {
Directory "pool/$(SECTION)";
SrcDirectory "pool/$(SECTION)";

Packages "$(DIST)/$(SECTION)/binary-$(ARCH)/Packages";
Sources "$(DIST)/$(SECTION)/source/Sources";
Contents "$(DIST)/Contents-$(ARCH)";
};

Tree "dists/test" {
@@ -138,7 +136,7 @@ Tree "dists/test" {
EOF


# generate (no cachedb)
# generate (empty cachedb)
aptftparchive generate apt-ftparchive.conf -o APT::FTPArchive::ShowCacheMisses=1 2> stats-out.txt
testequal " Misses in Cache: 2" grep Misses stats-out.txt
assert_correct_sources_file

Loading…
Cancel
Save