]>
Commit | Line | Data |
---|---|---|
d13f2ef5 MV |
1 | #!/bin/sh |
2 | # | |
3 | # ensure downloading sends progress as a regression test for commit 9127d7ae | |
4 | # | |
5 | set -e | |
6 | ||
3abb6a6a DK |
7 | TESTDIR="$(readlink -f "$(dirname "$0")")" |
8 | . "$TESTDIR/framework" | |
d13f2ef5 MV |
9 | |
10 | setupenvironment | |
11 | changetohttpswebserver | |
12 | ||
13 | assertprogress() { | |
b58e2c7c DK |
14 | testsuccess grep "dlstatus:1:0.0000:Retrieving file 1 of 1" "$1" |
15 | testsuccess grep -E "dlstatus:1:[1-9][0-9]{0,1}\.[0-9]{1,4}:Retrieving file 1 of 1" "$1" | |
16 | testsuccess grep "dlstatus:1:100.0000:Retrieving file 1 of 1" "$1" | |
d13f2ef5 MV |
17 | } |
18 | ||
19 | # we need to ensure the file is reasonable big so that apt has a chance to | |
20 | # actually report progress - but not too big to ensure its not delaying the | |
21 | # test too much | |
22 | TESTFILE=testfile.big | |
e1ae0531 | 23 | testsuccess dd if=/dev/zero of=./aptarchive/$TESTFILE bs=1600k count=1 |
d13f2ef5 | 24 | |
34faa8f7 DK |
25 | OPT='-o APT::Status-Fd=3 -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::http=1 -o Debug::Acquire::https=1' |
26 | ||
d13f2ef5 | 27 | msgtest 'download progress works via' 'http' |
e1ae0531 | 28 | for i in 2 5 7 10 12 15; do |
dea87131 | 29 | exec 3> apt-progress-http.log |
e1ae0531 | 30 | testsuccess --nomsg apthelper download-file "http://localhost:${APTHTTPPORT}/$TESTFILE" ./downloaded/http-$TESTFILE $OPT -o Acquire::http::Dl-Limit=$((1600/i)) |
dea87131 JAK |
31 | if [ "$(wc -l apt-progress-http.log | awk '{print $1}')" -ge 3 ]; then |
32 | break | |
33 | fi | |
34 | done | |
35 | assertprogress apt-progress-http.log | |
d13f2ef5 MV |
36 | |
37 | msgtest 'download progress works via' 'https' | |
e1ae0531 | 38 | for i in 2 5 7 10 12 15; do |
dea87131 | 39 | exec 3> apt-progress-https.log |
e1ae0531 | 40 | testsuccess --nomsg apthelper download-file "https://localhost:${APTHTTPSPORT}/$TESTFILE" ./downloaded/https-$TESTFILE $OPT -o Acquire::https::Dl-Limit=$((1600/i)) |
dea87131 | 41 | if [ "$(wc -l apt-progress-https.log | awk '{print $1}')" -ge 3 ]; then |
56873870 JAK |
42 | break |
43 | fi | |
44 | done | |
dea87131 | 45 | assertprogress apt-progress-https.log |
d13f2ef5 MV |
46 | |
47 | # cleanup | |
48 | rm -f apt-progress*.log |