]>
Commit | Line | Data |
---|---|---|
1 | #!/bin/sh | |
2 | set -e | |
3 | ||
4 | TESTDIR=$(readlink -f $(dirname $0)) | |
5 | . $TESTDIR/framework | |
6 | ||
7 | setupenvironment | |
8 | configarchitecture "i386" | |
9 | ||
10 | buildaptarchive | |
11 | setupflataptarchive | |
12 | changetowebserver | |
13 | ||
14 | prepare() { | |
15 | local DATE="${2:-now}" | |
16 | if [ "$DATE" = 'now' -a "$1" = "${PKGFILE}-new" ]; then | |
17 | DATE='now + 6 days' | |
18 | fi | |
19 | for release in $(find rootdir/var/lib/apt/lists 2> /dev/null); do | |
20 | touch -d 'now - 6 hours' $release | |
21 | done | |
22 | cp $1 aptarchive/Packages | |
23 | find aptarchive -name 'Release' -delete | |
24 | cat aptarchive/Packages | gzip > aptarchive/Packages.gz | |
25 | cat aptarchive/Packages | bzip2 > aptarchive/Packages.bz2 | |
26 | cat aptarchive/Packages | xz --format=lzma > aptarchive/Packages.lzma | |
27 | # create Release file with incorret checksums | |
28 | cat > aptarchive/Release <<EOF | |
29 | Date: Fri, 05 Aug 2011 09:22:08 UTC | |
30 | MD5Sum: | |
31 | x15c483ac486f5dbe95095c7ec08626f 760 Packages | |
32 | x0579797df4792164a17305fb0b317e9 546 Packages.bz2 | |
33 | xc532a82873d2206b4e4503e92d167bd 489 Packages.gz | |
34 | x4d1d25661377dd4bb95a1736e2624d3 527 Packages.lzma | |
35 | xf1cc221194edbaa943d2375d6f44a88 572 Packages.xz | |
36 | SHA1: | |
37 | x0d3317839cf68cd40c28f0bddca8d2ce5a29cad 760 Packages | |
38 | xffddf046ad8dfd8338a355d76fb08d143c8b636 546 Packages.bz2 | |
39 | xa27a3df51ca4474b880a6594c4811957079b613 489 Packages.gz | |
40 | x9d7bba4e6fa927a34dcd797694c2893c21f1004 527 Packages.lzma | |
41 | x7d988fe59cf67298828e5299a15d329c0f00f1b 572 Packages.xz | |
42 | SHA256: | |
43 | x5a47d72f6b97bfa164b23326b6ad3cb019b5c6cc73769f8c0187616933d1b2b 760 Packages | |
44 | x617252f5bfe3e9126352c7c2f8122d9c3b2c5e1a6c8a9616d62adc0ed164172 546 Packages.bz2 | |
45 | xc6abc6fe9a4fcf0758ec5366dfd19bcba90af026a7017c3f6198c59eccd8ef5 489 Packages.gz | |
46 | xb306e66e5e6a7169c8d281a888539d1fdca9cecc99ae605717df579d5b9c166 527 Packages.lzma | |
47 | x9585d0e66b74c9385727fbea11fea9ab33c716b18a32f3036f037a2b9b57120 572 Packages.xz | |
48 | EOF | |
49 | cp aptarchive/Release aptarchive/InRelease | |
50 | } | |
51 | ||
52 | # fake our downloadable file | |
53 | touch aptarchive/apt.deb | |
54 | ||
55 | PKGFILE="${TESTDIR}/$(echo "$(basename $0)" | sed 's#^test-#Packages-#')" | |
56 | ||
57 | runtest() { | |
58 | prepare ${PKGFILE} | |
59 | rm -rf rootdir/var/lib/apt/lists | |
60 | signreleasefiles 'Joe Sixpack' | |
61 | find aptarchive/ -name "$DELETEFILE" -delete | |
62 | ||
63 | # test signed release file | |
64 | msgtest 'apt-get update gets the expected hashsum mismatch' | |
65 | aptget update 2>&1 | grep "Hash Sum mismatch" > /dev/null && msgpass || msgfail | |
66 | msgtest 'No package from the source available' | |
67 | [ "$(aptcache show apt 2>&1)" = "E: No packages found" ] && msgpass || msgfail | |
68 | msgtest 'No Packages file in /var/lib/apt/lists' | |
69 | [ "$(ls rootdir/var/lib/apt/lists/*Package* 2>/dev/null)" = "" ] && msgpass || msgfail | |
70 | ||
71 | # now with the unsigned Release file | |
72 | rm -rf rootdir/var/lib/apt/lists | |
73 | rm aptarchive/InRelease aptarchive/Release.gpg | |
74 | msgtest 'unsigned apt-get update gets the expected hashsum mismatch' | |
75 | aptget update 2>&1 | grep "Hash Sum mismatch" > /dev/null && msgpass || msgfail | |
76 | ||
77 | ||
78 | } | |
79 | ||
80 | runtest | |
81 |