4 TESTDIR
=$(readlink -f $(dirname $0))
8 configarchitecture
"i386"
10 insertpackage
'unstable' 'apt' 'all' '1.0'
12 setupaptarchive
--no-update
13 cp -a aptarchive
/dists aptarchive
/dists.good
15 test_inreleasetoobig
() {
16 # make InRelease really big to trigger fallback
17 dd if=/dev
/zero of
=aptarchive
/dists
/unstable
/InRelease bs
=1M count
=2 2>/dev
/null
18 touch -d '+1hour' aptarchive
/dists
/unstable
/InRelease
19 testsuccess aptget update
-o Apt
::Get
::List
-Cleanup=0 -o acquire
::MaxReleaseFileSize
=$((1*1000*1000)) -o Debug
::pkgAcquire
::worker
=0
20 msgtest
'Check that the max write warning is triggered'
21 cp rootdir
/tmp
/testsuccess.output update.output
22 testsuccess
--nomsg grep -q 'Writing more data than expected' update.output
24 # ensure the failed InRelease file got renamed
25 testsuccess
ls rootdir
/var
/lib
/apt
/lists
/partial
/*InRelease.FAILED
28 test_packagestoobig
() {
29 # append junk at the end of the Packages.gz/Packages
30 SIZE
="$(stat --printf=%s aptarchive/dists/unstable/main/binary-i386/Packages)"
31 find aptarchive
/dists
-name 'Packages*' | while read pkg
; do
32 echo "1234567890" >> "$pkg"
33 touch -d '+1hour' "$pkg"
35 NEW_SIZE
="$(stat --printf=%s aptarchive/dists/unstable/main/binary-i386/Packages)"
36 testfailuremsg
"W: Failed to fetch ${1}/dists/unstable/main/binary-i386/Packages Writing more data than expected ($NEW_SIZE > $SIZE)
37 E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update
-o Debug
::pkgAcquire
::Worker
=0
41 msgmsg
'Test with' "$1" 'and clean start'
42 rm -rf rootdir
/var
/lib
/apt
/lists rootdir
/var
/lib
/apt
/lists.good
43 # normal update works fine
44 testsuccess aptget update
45 mv rootdir
/var
/lib
/apt
/lists rootdir
/var
/lib
/apt
/lists.good
47 # starting fresh works
48 test_inreleasetoobig
"$1"
49 rm -rf aptarchive
/dists rootdir
/var
/lib
/apt
/lists
50 cp -a aptarchive
/dists.good aptarchive
/dists
51 test_packagestoobig
"$1"
52 rm -rf aptarchive
/dists rootdir
/var
/lib
/apt
/lists
53 cp -a aptarchive
/dists.good aptarchive
/dists
55 msgmsg
'Test with' "$1" 'and existing old data'
56 cp -a rootdir
/var
/lib
/apt
/lists.good rootdir
/var
/lib
/apt
/lists
57 test_inreleasetoobig
"$1"
58 rm -rf aptarchive
/dists rootdir
/var
/lib
/apt
/lists
59 cp -a rootdir
/var
/lib
/apt
/lists.good rootdir
/var
/lib
/apt
/lists
60 cp -a aptarchive
/dists.good aptarchive
/dists
61 test_packagestoobig
"$1"
62 rm -rf aptarchive
/dists
63 cp -a aptarchive
/dists.good aptarchive
/dists
67 methodtest
'http://localhost:8080'
69 changetohttpswebserver
70 methodtest
'https://localhost:4433'