diff options
Diffstat (limited to 'test/integration/test-ubuntu-bug-1921626-unsized-packages')
-rwxr-xr-x | test/integration/test-ubuntu-bug-1921626-unsized-packages | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/test/integration/test-ubuntu-bug-1921626-unsized-packages b/test/integration/test-ubuntu-bug-1921626-unsized-packages new file mode 100755 index 0000000..c44cd85 --- /dev/null +++ b/test/integration/test-ubuntu-bug-1921626-unsized-packages @@ -0,0 +1,46 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" +confighashes 'SHA512' + +mkdir tree +head -c $((5*1024)) /dev/urandom > tree/data-file + +buildsimplenativepackage 'a' 'all' '1.0' 'stable' +buildsimplenativepackage 'b' 'all' '1.0' 'stable' '' '' '' '' "$PWD/tree" +buildsimplenativepackage 'c' 'all' '1.0' 'stable' + +setupaptarchive +changetowebserver + +# Disable sandbox +echo 'APT::Sandbox::User "root";' > rootdir/etc/apt/apt.conf.d/no-acquire-sandbox +# XXX: Remove temporary hack +rm rootdir/etc/apt/apt.conf.d/temporary-allow-unsized-packages + +testsuccess apt update + +for file in rootdir/var/lib/apt/lists/*Packages; do + awk '!(/^Size/ && ++cnt==2)' $file > $file.new + mv $file.new $file +done + + +size_a=$(wc -c aptarchive/pool/a_1.0_all.deb | awk '{print $1}') +size_b=$(wc -c aptarchive/pool/b_1.0_all.deb | awk '{print $1}') +size_c=$(wc -c aptarchive/pool/c_1.0_all.deb | awk '{print $1}') + +testsuccessequal "Get:1 http://localhost:${APTHTTPPORT} stable/main all a all 1.0 [$size_a B] +Get:2 http://localhost:${APTHTTPPORT} stable/main all b all 1.0 [$size_b B] +Get:3 http://localhost:${APTHTTPPORT} stable/main all c all 1.0 [$size_c B]" apt download a b c -o Acquire::AllowUnsizedPackages=true + +rm *.deb +testwarningequal "Get:1 http://localhost:${APTHTTPPORT} stable/main all a all 1.0 [$size_a B] +Get:2 http://localhost:${APTHTTPPORT} stable/main all b all 1.0 [$size_b B] +Get:3 http://localhost:${APTHTTPPORT} stable/main all c all 1.0 [$size_c B] +W: Repository is broken: b:i386 (= 1.0) has no Size information" apt download a b c |