summaryrefslogtreecommitdiff
path: root/test/integration/test-bug-624218-Translation-file-handling
blob: b629dd66584ddc1c2fe61c1244d96b5dfbda74b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#!/bin/sh
set -e

TESTDIR="$(readlink -f "$(dirname "$0")")"
. "$TESTDIR/framework"
setupenvironment
configarchitecture 'i386'

buildsimplenativepackage 'coolstuff' 'all' '1.0' 'unstable'

setupaptarchive --no-update

changetowebserver
rm -rf rootdir/var/lib/apt/lists

translationslisted() {
	msgtest 'No download of non-existent locals' "$1"
	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"
	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"
	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
	unset LC_ALL

	msgtest 'Download of en as forced language' "$1"
	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"
	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"
	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"
	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'

# 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'
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'
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'
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'
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'
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
touch rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_i18n_Translation-ast_DE

msgtest 'Download of builtin files' 'without Index'
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
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'
testwarning --nomsg aptget update -o Acquire::Languages=none
testfailure grep -q -e 'Translation' rootdir/tmp/testwarning.output
rm -rf rootdir/var/lib/apt/lists