]> git.saurik.com Git - apt.git/blob - test/integration/test-bug-624218-Translation-file-handling
Only support Translation-* that are listed in the {In,}Release file
[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
12
13 changetowebserver
14
15 rm -rf rootdir/var/lib/apt/lists
16
17 translationslisted() {
18 msgtest 'No download of non-existent locals' "$1"
19 LC_ALL="" aptget update -o Acquire::Languages=en | grep -q -e 'Translation-[^e][^n] ' && msgfail || msgpass
20 rm -rf rootdir/var/lib/apt/lists
21
22 msgtest 'Download of existent locals' "$1"
23 LC_ALL="" aptget update | grep -q -e 'Translation-en ' && msgpass || msgfail
24 rm -rf rootdir/var/lib/apt/lists
25
26 msgtest 'Download of en in LC_ALL=C' "$1"
27 LC_ALL=C aptget update | grep -q -e 'Translation-en ' && msgpass || msgfail
28 rm -rf rootdir/var/lib/apt/lists
29
30 msgtest 'Download of en as forced language' "$1"
31 aptget update -o Acquire::Languages=en | grep -q -e 'Translation-en ' && msgpass || msgfail
32 rm -rf rootdir/var/lib/apt/lists
33
34 msgtest 'Download of nothing else in forced language' "$1"
35 aptget update -o Acquire::Languages=en | grep -q -e 'Translation-[^e][^n] ' && msgfail || msgpass
36 rm -rf rootdir/var/lib/apt/lists
37
38 msgtest 'Download no Translation- if forced language is non-existent' "$1"
39 aptget update -o Acquire::Languages=ast_DE | grep -q -e 'Translation-' && msgfail || msgpass
40 rm -rf rootdir/var/lib/apt/lists
41
42 msgtest 'Download of nothing if none is forced' "$1"
43 aptget update -o Acquire::Languages=none | grep -q -e 'Translation' && msgfail || msgpass
44 rm -rf rootdir/var/lib/apt/lists
45 }
46
47 translationslisted 'with full Index'
48
49
50 # no records at all about Translation files (fallback to guessing)
51 find aptarchive -name 'Release' -or -name 'InRelease' | xargs rm -f
52 configallowinsecurerepositories "true";
53
54 msgtest 'Download of en as forced language' 'without Index'
55 aptget update -o Acquire::Languages=en | grep -q -e 'Translation-en ' && msgpass || msgfail
56 rm -rf rootdir/var/lib/apt/lists
57
58 msgtest 'Download of nothing else in forced language' 'without Index'
59 aptget update -o Acquire::Languages=en | grep -q -e 'Translation-[^e][^n] ' && msgfail || msgpass
60 rm -rf rootdir/var/lib/apt/lists
61
62 msgtest 'Download of ast_DE as forced language' 'without Index'
63 aptget update -o Acquire::Languages=ast_DE | grep -q -e 'Translation-ast_DE$' && msgpass || msgfail
64 rm -rf rootdir/var/lib/apt/lists
65
66 msgtest 'Download of nothing else in forced language' 'without Index'
67 aptget update -o Acquire::Languages=ast_DE | grep -q -e 'Translation-[^a][^s]' && msgfail || msgpass
68 rm -rf rootdir/var/lib/apt/lists
69
70 msgtest 'Download of nothing if none is forced' 'without Index'
71 aptget update -o Acquire::Languages=none | grep -q -e 'Translation' && msgfail || msgpass
72 rm -rf rootdir/var/lib/apt/lists
73
74 mkdir -p rootdir/var/lib/apt/lists
75 touch rootdir/var/lib/apt/lists/localhost:8080_dists_unstable_main_i18n_Translation-ast_DE
76
77 msgtest 'Download of builtin files' 'without Index'
78 aptget update | grep -q -e 'Translation-ast_DE' && msgpass || msgfail
79 rm -rf rootdir/var/lib/apt/lists
80
81 mkdir -p rootdir/var/lib/apt/lists
82 touch rootdir/var/lib/apt/lists/localhost:8080_dists_unstable_main_i18n_Translation-ast_DE
83
84 msgtest 'Download of nothing (even builtin) if none is forced' 'without Index'
85 aptget update -o Acquire::Languages=none | grep -q -e 'Translation' && msgfail || msgpass
86 rm -rf rootdir/var/lib/apt/lists