]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-bug-624218-Translation-file-handling
pass --force-remove-essential to dpkg only if needed
[apt.git] / test / integration / test-bug-624218-Translation-file-handling
index d3c5b08ac2ad65b2a6424131f943ed5cd0eea2ea..b629dd66584ddc1c2fe61c1244d96b5dfbda74b0 100755 (executable)
 #!/bin/sh
 set -e
 
 #!/bin/sh
 set -e
 
-TESTDIR=$(readlink -f $(dirname $0))
-. $TESTDIR/framework
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
 setupenvironment
 configarchitecture 'i386'
 
 buildsimplenativepackage 'coolstuff' 'all' '1.0' 'unstable'
 
 setupenvironment
 configarchitecture 'i386'
 
 buildsimplenativepackage 'coolstuff' 'all' '1.0' 'unstable'
 
-setupaptarchive
+setupaptarchive --no-update
 
 changetowebserver
 
 changetowebserver
-
 rm -rf rootdir/var/lib/apt/lists
 
 translationslisted() {
        msgtest 'No download of non-existent locals' "$1"
 rm -rf rootdir/var/lib/apt/lists
 
 translationslisted() {
        msgtest 'No download of non-existent locals' "$1"
-       LC_ALL="" aptget update -o Acquire::Languages=en | grep -q -e 'Translation-[^e][^n] ' && msgfail || msgpass
+       export LC_ALL=""
+       testsuccess --nomsg aptget update -o Acquire::Languages=en
+       testfailure grep -q -e 'Translation-[^e][^n] ' rootdir/tmp/testsuccess.output
        rm -rf rootdir/var/lib/apt/lists
 
        msgtest 'Download of existent locals' "$1"
        rm -rf rootdir/var/lib/apt/lists
 
        msgtest 'Download of existent locals' "$1"
-       LC_ALL="" aptget update | grep -q -e 'Translation-en ' && msgpass || msgfail
+       testsuccess --nomsg aptget update
+       cp rootdir/tmp/testsuccess.output testsuccess.output
+       testsuccess grep -q -e 'Translation-en ' testsuccess.output
        rm -rf rootdir/var/lib/apt/lists
 
        msgtest 'Download of en in LC_ALL=C' "$1"
        rm -rf rootdir/var/lib/apt/lists
 
        msgtest 'Download of en in LC_ALL=C' "$1"
-       LC_ALL=C aptget update | grep -q -e 'Translation-en ' && msgpass || msgfail
+       export LC_ALL=C
+       testsuccess --nomsg aptget update
+       cp rootdir/tmp/testsuccess.output testsuccess.output
+       testsuccess grep -q -e 'Translation-en ' testsuccess.output
        rm -rf rootdir/var/lib/apt/lists
        rm -rf rootdir/var/lib/apt/lists
+       unset LC_ALL
 
        msgtest 'Download of en as forced language' "$1"
 
        msgtest 'Download of en as forced language' "$1"
-       aptget update -o Acquire::Languages=en | grep -q -e 'Translation-en ' && msgpass || msgfail
+       testsuccess --nomsg aptget update -o Acquire::Languages=en
+       cp rootdir/tmp/testsuccess.output testsuccess.output
+       testsuccess grep -q -e 'Translation-en ' testsuccess.output
        rm -rf rootdir/var/lib/apt/lists
 
        msgtest 'Download of nothing else in forced language' "$1"
        rm -rf rootdir/var/lib/apt/lists
 
        msgtest 'Download of nothing else in forced language' "$1"
-       aptget update -o Acquire::Languages=en | grep -q -e 'Translation-[^e][^n] ' && msgfail || msgpass
+       testsuccess --nomsg aptget update -o Acquire::Languages=en
+       testfailure grep -q -e 'Translation-[^e][^n] ' rootdir/tmp/testsuccess.output
        rm -rf rootdir/var/lib/apt/lists
 
        msgtest 'Download no Translation- if forced language is non-existent' "$1"
        rm -rf rootdir/var/lib/apt/lists
 
        msgtest 'Download no Translation- if forced language is non-existent' "$1"
-       aptget update -o Acquire::Languages=ast_DE | grep -q -e 'Translation-' && msgfail || msgpass
+       testsuccess --nomsg aptget update -o Acquire::Languages=ast_DE
+       testfailure grep -q -e 'Translation-' rootdir/tmp/testsuccess.output
        rm -rf rootdir/var/lib/apt/lists
 
        msgtest 'Download of nothing if none is forced' "$1"
        rm -rf rootdir/var/lib/apt/lists
 
        msgtest 'Download of nothing if none is forced' "$1"
-       aptget update -o Acquire::Languages=none | grep -q -e 'Translation' && msgfail || msgpass
+       testsuccess --nomsg aptget update -o Acquire::Languages=none
+       testfailure grep -q -e 'Translation' rootdir/tmp/testsuccess.output
        rm -rf rootdir/var/lib/apt/lists
 }
 
 translationslisted 'with full Index'
 
        rm -rf rootdir/var/lib/apt/lists
 }
 
 translationslisted 'with full Index'
 
-
-# only compressed files available (as it happens on CD-ROM)
-sed -i '/i18n\/Translation-[^.]*$/ d' $(find aptarchive -name 'Release')
-signreleasefiles
-
-translationslisted 'with partial Index'
-
-
-# no records at all about Translation files (fallback to guessing)
-sed -i '/i18n\/Translation-.*$/ d' $(find aptarchive -name 'Release')
-signreleasefiles
+# No Release file at all, so no records about Translation files
+# (fallback to guessing)
+find aptarchive \( -name 'Release' -o -name 'InRelease' \) -delete
+echo 'Acquire::AllowInsecureRepositories "true";' >  rootdir/etc/apt/apt.conf.d/allow-insecure-repositories.conf
 
 msgtest 'Download of en as forced language' 'without Index'
 
 msgtest 'Download of en as forced language' 'without Index'
-aptget update -o Acquire::Languages=en | grep -q -e 'Translation-en ' && msgpass || msgfail
+testwarning --nomsg aptget update -o Acquire::Languages=en
+testsuccess grep -q -e 'Translation-en ' rootdir/tmp/testwarning.output
 rm -rf rootdir/var/lib/apt/lists
 
 msgtest 'Download of nothing else in forced language' 'without Index'
 rm -rf rootdir/var/lib/apt/lists
 
 msgtest 'Download of nothing else in forced language' 'without Index'
-aptget update -o Acquire::Languages=en | grep -q -e 'Translation-[^e][^n] ' && msgfail || msgpass
+testwarning --nomsg aptget update -o Acquire::Languages=en
+testfailure grep -q -e 'Translation-[^e][^n] ' rootdir/tmp/testwarning.output
 rm -rf rootdir/var/lib/apt/lists
 
 msgtest 'Download of ast_DE as forced language' 'without Index'
 rm -rf rootdir/var/lib/apt/lists
 
 msgtest 'Download of ast_DE as forced language' 'without Index'
-aptget update -o Acquire::Languages=ast_DE | grep -q -e 'Translation-ast_DE$' && msgpass || msgfail
+testwarning --nomsg aptget update -o Acquire::Languages=ast_DE
+testsuccess grep -q -e 'Translation-ast_DE$' rootdir/tmp/testwarning.output
 rm -rf rootdir/var/lib/apt/lists
 
 msgtest 'Download of nothing else in forced language' 'without Index'
 rm -rf rootdir/var/lib/apt/lists
 
 msgtest 'Download of nothing else in forced language' 'without Index'
-aptget update -o Acquire::Languages=ast_DE | grep -q -e 'Translation-[^a][^s]' && msgfail || msgpass
+testwarning --nomsg aptget update -o Acquire::Languages=ast_DE
+testfailure grep -q -e 'Translation-[^a][^s]' rootdir/tmp/testwarning.output
 rm -rf rootdir/var/lib/apt/lists
 
 msgtest 'Download of nothing if none is forced' 'without Index'
 rm -rf rootdir/var/lib/apt/lists
 
 msgtest 'Download of nothing if none is forced' 'without Index'
-aptget update -o Acquire::Languages=none | grep -q -e 'Translation' && msgfail || msgpass
+testwarning --nomsg aptget update -o Acquire::Languages=none
+testfailure grep -q -e 'Translation' rootdir/tmp/testwarning.output
 rm -rf rootdir/var/lib/apt/lists
 
 mkdir -p rootdir/var/lib/apt/lists
 rm -rf rootdir/var/lib/apt/lists
 
 mkdir -p rootdir/var/lib/apt/lists
-touch rootdir/var/lib/apt/lists/localhost:8080_dists_unstable_main_i18n_Translation-ast_DE
+touch rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_i18n_Translation-ast_DE
 
 msgtest 'Download of builtin files' 'without Index'
 
 msgtest 'Download of builtin files' 'without Index'
-aptget update | grep -q -e 'Translation-ast_DE' && msgpass || msgfail
+testwarning --nomsg aptget update
+testsuccess grep -q -e 'Translation-ast_DE' rootdir/tmp/testwarning.output
 rm -rf rootdir/var/lib/apt/lists
 
 mkdir -p rootdir/var/lib/apt/lists
 rm -rf rootdir/var/lib/apt/lists
 
 mkdir -p rootdir/var/lib/apt/lists
-touch rootdir/var/lib/apt/lists/localhost:8080_dists_unstable_main_i18n_Translation-ast_DE
+touch rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_i18n_Translation-ast_DE
 
 msgtest 'Download of nothing (even builtin) if none is forced' 'without Index'
 
 msgtest 'Download of nothing (even builtin) if none is forced' 'without Index'
-aptget update -o Acquire::Languages=none | grep -q -e 'Translation' && msgfail || msgpass
+testwarning --nomsg aptget update -o Acquire::Languages=none
+testfailure grep -q -e 'Translation' rootdir/tmp/testwarning.output
 rm -rf rootdir/var/lib/apt/lists
 rm -rf rootdir/var/lib/apt/lists