]>
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 | ||
7 | TESTDIR=$(readlink -f $(dirname $0)) | |
8 | . $TESTDIR/framework | |
9 | ||
10 | setupenvironment | |
11 | changetohttpswebserver | |
12 | ||
13 | assertprogress() { | |
14 | T="$1" | |
15 | testsuccess grep "dlstatus:1:0:Retrieving file 1 of 1" "$T" | |
16 | if ! egrep -q "dlstatus:1:[0-9]{1,2}\.(.*):Retrieving file 1 of 1" "$T"; then | |
17 | cat "$T" | |
18 | msgfail "Failed to detect download progress" | |
19 | fi | |
20 | testsuccess grep "dlstatus:1:100:Retrieving file 1 of 1" "$T" | |
21 | #cat $T | |
22 | } | |
23 | ||
24 | # we need to ensure the file is reasonable big so that apt has a chance to | |
25 | # actually report progress - but not too big to ensure its not delaying the | |
26 | # test too much | |
27 | TESTFILE=testfile.big | |
28 | testsuccess dd if=/dev/zero of=./aptarchive/$TESTFILE bs=800k count=1 | |
29 | ||
30 | msgtest 'download progress works via' 'http' | |
31 | printf '\n' | |
32 | exec 3> apt-progress.log | |
33 | testsuccess apthelper download-file "http://localhost:8080/$TESTFILE" http-$TESTFILE -o APT::Status-Fd=3 -o Acquire::http::Dl-Limit=800 | |
34 | assertprogress apt-progress.log | |
35 | ||
36 | msgtest 'download progress works via' 'https' | |
37 | printf '\n' | |
38 | exec 3> apt-progress.log | |
39 | testsuccess apthelper download-file "https://localhost:4433/$TESTFILE" https-$TESTFILE -o APT::Status-Fd=3 -o Acquire::https::Dl-Limit=800 | |
40 | assertprogress apt-progress.log | |
41 | ||
42 | # cleanup | |
43 | rm -f apt-progress*.log |