]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-apt-update-transactions
Czech program translation update
[apt.git] / test / integration / test-apt-update-transactions
index 67dd633f92659277bc8fb76e14c69ca5c3be19fa..a5dac1737a74d60b9b004a0dacfc5e9f9f740e65 100755 (executable)
@@ -8,6 +8,7 @@ TESTDIR=$(readlink -f $(dirname $0))
 
 setupenvironment
 configarchitecture 'i386'
 
 setupenvironment
 configarchitecture 'i386'
+configcompression '.' 'gz'
 
 insertpackage 'unstable' 'foo' 'all' '1.0'
 insertsource 'unstable' 'foo' 'all' '1.0'
 
 insertpackage 'unstable' 'foo' 'all' '1.0'
 insertsource 'unstable' 'foo' 'all' '1.0'
@@ -15,7 +16,8 @@ insertsource 'unstable' 'foo' 'all' '1.0'
 setupaptarchive --no-update
 
 breakfile() {
 setupaptarchive --no-update
 
 breakfile() {
-       mv "$1" "${1}.bak"
+       mv "${1}" "${1}.bak"
+       mv "${1}.gz" "${1}.gz.bak"
        cat > "$1" <<EOF
 Package: bar
 EOF
        cat > "$1" <<EOF
 Package: bar
 EOF
@@ -23,9 +25,16 @@ EOF
 }
 restorefile() {
        mv "${1}.bak" "$1"
 }
 restorefile() {
        mv "${1}.bak" "$1"
+       mv "${1}.gz.bak" "${1}.gz"
 }
 
 testrun() {
 }
 
 testrun() {
+       rm -rf aptarchive/dists.good
+       cp -a aptarchive/dists aptarchive/dists.good
+       insertpackage 'unstable' 'bar' 'all' '1.0'
+       insertsource 'unstable' 'bar' 'all' '1.0'
+       buildaptarchivefromfiles '+1 hour'
+
        # produce an unsigned repository
        find aptarchive \( -name 'Release.gpg' -o -name 'InRelease' \) -delete
        testfailure aptget update --no-allow-insecure-repositories
        # produce an unsigned repository
        find aptarchive \( -name 'Release.gpg' -o -name 'InRelease' \) -delete
        testfailure aptget update --no-allow-insecure-repositories
@@ -34,15 +43,23 @@ testrun() {
        # signed but broken
        signreleasefiles
 
        # signed but broken
        signreleasefiles
 
+       onehashbroken() {
+               testfailure aptget update
+               # each file generates two messages with this string
+               testequal '2' grep --count 'Hash Sum mismatch' rootdir/tmp/testfailure.output
+               testfileequal "$1" "$(listcurrentlistsdirectory)"
+       }
+
        breakfile aptarchive/dists/unstable/main/binary-i386/Packages
        breakfile aptarchive/dists/unstable/main/binary-i386/Packages
-       testfailure aptget update
-       testfileequal "$1" "$(listcurrentlistsdirectory)"
+       onehashbroken "$1"
        restorefile aptarchive/dists/unstable/main/binary-i386/Packages
 
        breakfile aptarchive/dists/unstable/main/source/Sources
        restorefile aptarchive/dists/unstable/main/binary-i386/Packages
 
        breakfile aptarchive/dists/unstable/main/source/Sources
-       testfailure aptget update
-       testfileequal "$1" "$(listcurrentlistsdirectory)"
+       onehashbroken "$1"
        restorefile aptarchive/dists/unstable/main/source/Sources
        restorefile aptarchive/dists/unstable/main/source/Sources
+
+       rm -rf aptarchive/dists
+       cp -a aptarchive/dists.good aptarchive/dists
 }
 
 testsetup() {
 }
 
 testsetup() {
@@ -53,7 +70,8 @@ testsetup() {
        testrun 'listsdir.lst'
 
        msgmsg 'Test with initial data over' "$1"
        testrun 'listsdir.lst'
 
        msgmsg 'Test with initial data over' "$1"
-       testsuccess aptget update
+       rm -rf rootdir/var/lib/apt/lists
+       testsuccess aptget update -o Debug::pkgAcquire::Worker=1
        listcurrentlistsdirectory > listsdir.lst
        testrun 'listsdir.lst'
 }
        listcurrentlistsdirectory > listsdir.lst
        testrun 'listsdir.lst'
 }