]>
Commit | Line | Data |
---|---|---|
08ea7806 DK |
1 | #!/bin/sh |
2 | set -e | |
3 | ||
3abb6a6a | 4 | TESTDIR="$(readlink -f "$(dirname "$0")")" |
63c71412 | 5 | . "$TESTDIR/framework" |
08ea7806 DK |
6 | setupenvironment |
7 | configarchitecture 'amd64' | |
8 | ||
9 | TESTFILE="$TESTDIR/framework" | |
63c71412 | 10 | cp "$TESTFILE" aptarchive/foo |
08ea7806 DK |
11 | APTARCHIVE="$(readlink -f ./aptarchive)" |
12 | ||
13 | filedown() { | |
14 | msgtest 'Downloading the same URI twice over file' "$1" | |
6c0765c0 DK |
15 | testsuccess --nomsg apthelper download-file "file:///$APTARCHIVE/foo" './downloaded/foo1' '' \ |
16 | "file:///$APTARCHIVE/foo" './downloaded/foo2' '' -o Debug::pkgAcquire::Worker=1 | |
08ea7806 | 17 | cp rootdir/tmp/testsuccess.output download.log |
63c71412 | 18 | testsuccess cmp "$TESTFILE" ./downloaded/foo1 |
08ea7806 | 19 | testsuccess cmp ./downloaded/foo1 ./downloaded/foo2 |
7c8206bf | 20 | testequal '1' grep -c '200%20URI%20Start' ./download.log |
08ea7806 DK |
21 | testequal '1' grep -c '201%20URI%20Done' ./download.log |
22 | rm -f ./downloaded/foo1 ./downloaded/foo2 | |
23 | } | |
24 | ||
25 | testrun() { | |
26 | $1 'no partial' | |
63c71412 | 27 | cp "$TESTFILE" ./downloaded/foo1 |
08ea7806 | 28 | $1 'complete partial 1' |
63c71412 | 29 | cp "$TESTFILE" ./downloaded/foo2 |
08ea7806 | 30 | $1 'complete partial 2' |
63c71412 DK |
31 | cp "$TESTFILE" ./downloaded/foo1 |
32 | cp "$TESTFILE" ./downloaded/foo2 | |
08ea7806 | 33 | $1 'complete partial 1+2' |
63c71412 | 34 | dd if="$TESTFILE" of=./downloaded/foo1 bs=500 count=1 2>/dev/null |
08ea7806 | 35 | $1 'partial partial 1' |
63c71412 | 36 | dd if="$TESTFILE" of=./downloaded/foo2 bs=500 count=1 2>/dev/null |
08ea7806 | 37 | $1 'partial partial 2' |
63c71412 DK |
38 | dd if="$TESTFILE" of=./downloaded/foo1 bs=500 count=1 2>/dev/null |
39 | dd if="$TESTFILE" of=./downloaded/foo2 bs=500 count=1 2>/dev/null | |
08ea7806 DK |
40 | $1 'partial partial 1+2' |
41 | } | |
42 | testrun 'filedown' | |
43 | ||
44 | changetowebserver -o aptwebserver::redirect::replace::/foo2=/foo | |
45 | ||
46 | httpdown() { | |
47 | msgtest 'Downloading the same URI to different files' 'twice over http' | |
6c0765c0 DK |
48 | testsuccess --nomsg apthelper download-file "http://localhost:${APTHTTPPORT}/foo" "./downloaded/foo1" '' \ |
49 | "http://localhost:${APTHTTPPORT}/foo" './downloaded/foo2' '' -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::http=1 | |
08ea7806 | 50 | cp rootdir/tmp/testsuccess.output download.log |
63c71412 | 51 | testsuccess cmp "$TESTDIR/framework" ./downloaded/foo1 |
08ea7806 DK |
52 | testsuccess cmp ./downloaded/foo1 ./downloaded/foo2 |
53 | testequal '1' grep -c '200%20URI%20Start' ./download.log | |
54 | testequal '1' grep -c '201%20URI%20Done' ./download.log | |
55 | rm -f ./downloaded/foo1 ./downloaded/foo2 | |
56 | } | |
57 | testrun 'httpdown' | |
58 | ||
59 | httpredirectdown() { | |
60 | msgtest 'Redirect leads' 'first URI to the second URI' | |
c030cc93 | 61 | for i in 1 2 3 4 5 6 7 8 9 10; do |
cf2d4e7c | 62 | rm -f ./downloaded/foo1 ./downloaded/foo2 |
c030cc93 JAK |
63 | testsuccess --nomsg apthelper download-file "http://localhost:${APTHTTPPORT}/foo2" "./downloaded/foo1" '' \ |
64 | "http://localhost:${APTHTTPPORT}/foo" './downloaded/foo2' '' -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::http=1 | |
65 | cp rootdir/tmp/testsuccess.output download.log | |
66 | testsuccess cmp "$TESTDIR/framework" ./downloaded/foo1 | |
67 | testsuccess cmp ./downloaded/foo1 ./downloaded/foo2 | |
68 | ||
69 | if grep -q '103%20Redirect' ./download.log; then | |
70 | break | |
71 | fi | |
72 | done | |
08ea7806 DK |
73 | testequal '1' grep -c '200%20URI%20Start' ./download.log |
74 | testequal '1' grep -c '103%20Redirect' ./download.log | |
75 | testequal '1' grep -c '201%20URI%20Done' ./download.log | |
76 | rm -f ./downloaded/foo1 ./downloaded/foo2 | |
77 | } | |
78 | testrun 'httpredirectdown' | |
79 | ||
80 | httpsamedown() { | |
81 | msgtest 'Downloading two files via the same URI to' 'the same file' | |
6c0765c0 DK |
82 | testsuccess --nomsg apthelper download-file "http://localhost:${APTHTTPPORT}/foo" "./downloaded/foo1" '' \ |
83 | "http://localhost:${APTHTTPPORT}/foo" './downloaded/foo1' '' -o Debug::pkgAcquire::Worker=1 | |
08ea7806 | 84 | cp rootdir/tmp/testsuccess.output download.log |
63c71412 | 85 | testsuccess cmp "$TESTDIR/framework" ./downloaded/foo1 |
08ea7806 DK |
86 | testequal '1' grep -c '200%20URI%20Start' ./download.log |
87 | testequal '1' grep -c '201%20URI%20Done' ./download.log | |
88 | rm -f ./downloaded/foo1 | |
89 | } | |
90 | testrun 'httpsamedown' |