]> git.saurik.com Git - apt.git/blob - test/integration/test-bug-624218-Translation-file-handling
generalize secure->insecure downgrade protection
[apt.git] / test / integration / test-bug-624218-Translation-file-handling
1 #!/bin/sh
2 set -e
3
4 TESTDIR="$(readlink -f "$(dirname "$0")")"
5 . "$TESTDIR/framework"
6 setupenvironment
7 configarchitecture 'i386'
8
9 buildsimplenativepackage 'coolstuff' 'all' '1.0' 'unstable'
10
11 setupaptarchive --no-update
12
13 changetowebserver
14 rm -rf rootdir/var/lib/apt/lists
15
16 translationslisted() {
17 msgtest 'No download of non-existent locals' "$1"
18 export LC_ALL=""
19 testsuccess --nomsg aptget update -o Acquire::Languages=en
20 testfailure grep -q -e 'Translation-[^e][^n] ' rootdir/tmp/testsuccess.output
21 rm -rf rootdir/var/lib/apt/lists
22
23 msgtest 'Download of existent locals' "$1"
24 testsuccess --nomsg aptget update
25 cp rootdir/tmp/testsuccess.output testsuccess.output
26 testsuccess grep -q -e 'Translation-en ' testsuccess.output
27 rm -rf rootdir/var/lib/apt/lists
28
29 msgtest 'Download of en in LC_ALL=C' "$1"
30 export LC_ALL=C
31 testsuccess --nomsg aptget update
32 cp rootdir/tmp/testsuccess.output testsuccess.output
33 testsuccess grep -q -e 'Translation-en ' testsuccess.output
34 rm -rf rootdir/var/lib/apt/lists
35 unset LC_ALL
36
37 msgtest 'Download of en as forced language' "$1"
38 testsuccess --nomsg aptget update -o Acquire::Languages=en
39 cp rootdir/tmp/testsuccess.output testsuccess.output
40 testsuccess grep -q -e 'Translation-en ' testsuccess.output
41 rm -rf rootdir/var/lib/apt/lists
42
43 msgtest 'Download of nothing else in forced language' "$1"
44 testsuccess --nomsg aptget update -o Acquire::Languages=en
45 testfailure grep -q -e 'Translation-[^e][^n] ' rootdir/tmp/testsuccess.output
46 rm -rf rootdir/var/lib/apt/lists
47
48 msgtest 'Download no Translation- if forced language is non-existent' "$1"
49 testsuccess --nomsg aptget update -o Acquire::Languages=ast_DE
50 testfailure grep -q -e 'Translation-' rootdir/tmp/testsuccess.output
51 rm -rf rootdir/var/lib/apt/lists
52
53 msgtest 'Download of nothing if none is forced' "$1"
54 testsuccess --nomsg aptget update -o Acquire::Languages=none
55 testfailure grep -q -e 'Translation' rootdir/tmp/testsuccess.output
56 rm -rf rootdir/var/lib/apt/lists
57 }
58
59 translationslisted 'with full Index'
60
61 # No Release file at all, so no records about Translation files
62 # (fallback to guessing)
63 find aptarchive \( -name 'Release' -o -name 'InRelease' \) -delete
64 echo 'Acquire::AllowInsecureRepositories "true";' > rootdir/etc/apt/apt.conf.d/allow-insecure-repositories.conf
65
66 msgtest 'Download of en as forced language' 'without Index'
67 testwarning --nomsg aptget update -o Acquire::Languages=en
68 testsuccess grep -q -e 'Translation-en ' rootdir/tmp/testwarning.output
69 rm -rf rootdir/var/lib/apt/lists
70
71 msgtest 'Download of nothing else in forced language' 'without Index'
72 testwarning --nomsg aptget update -o Acquire::Languages=en
73 testfailure grep -q -e 'Translation-[^e][^n] ' rootdir/tmp/testwarning.output
74 rm -rf rootdir/var/lib/apt/lists
75
76 msgtest 'Download of ast_DE as forced language' 'without Index'
77 testwarning --nomsg aptget update -o Acquire::Languages=ast_DE
78 testsuccess grep -q -e 'Translation-ast_DE$' rootdir/tmp/testwarning.output
79 rm -rf rootdir/var/lib/apt/lists
80
81 msgtest 'Download of nothing else in forced language' 'without Index'
82 testwarning --nomsg aptget update -o Acquire::Languages=ast_DE
83 testfailure grep -q -e 'Translation-[^a][^s]' rootdir/tmp/testwarning.output
84 rm -rf rootdir/var/lib/apt/lists
85
86 msgtest 'Download of nothing if none is forced' 'without Index'
87 testwarning --nomsg aptget update -o Acquire::Languages=none
88 testfailure grep -q -e 'Translation' rootdir/tmp/testwarning.output
89 rm -rf rootdir/var/lib/apt/lists
90
91 mkdir -p rootdir/var/lib/apt/lists
92 touch rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_i18n_Translation-ast_DE
93
94 msgtest 'Download of builtin files' 'without Index'
95 testwarning --nomsg aptget update
96 testsuccess grep -q -e 'Translation-ast_DE' rootdir/tmp/testwarning.output
97 rm -rf rootdir/var/lib/apt/lists
98
99 mkdir -p rootdir/var/lib/apt/lists
100 touch rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_i18n_Translation-ast_DE
101
102 msgtest 'Download of nothing (even builtin) if none is forced' 'without Index'
103 testwarning --nomsg aptget update -o Acquire::Languages=none
104 testfailure grep -q -e 'Translation' rootdir/tmp/testwarning.output
105 rm -rf rootdir/var/lib/apt/lists