summaryrefslogtreecommitdiffstats
path: root/test/integration/test-uri-encode-filename-field
blob: 136cce8d24c0963a3b81fb4a8e07513fb4ee02bb (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
#!/bin/sh
set -e

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

buildsimplenativepackage 'foo' 'all' '0+0~0'
setupaptarchive --no-update

runtest() {
	rm -rf rootdir/var/lib/apt/lists
	testsuccess apt update

	cd downloaded
	testsuccess apt download foo
	testsuccess rm 'foo_0+0~0_all.deb'
	testsuccess apt install foo

	mv '../aptarchive/pool/foo_0+0~0_all.deb' '../aptarchive/pool/foo_0%3a0+0~0_all.deb'
	testsuccess apt purge foo -y
	testfailure apt download foo
	testfailure apt install foo

	sed -i -e 's#_0+0~0_#_0%3a0+0~0_#' ../rootdir/var/lib/apt/lists/*Packages
	testsuccess apt download foo
	# FIXME: we shouldn't take filename from file:/ in 'apt download'
	if [ "$1" = 'file' ]; then
		testsuccess rm 'foo_0%3a0+0~0_all.deb'
	else
		testsuccess rm 'foo_0+0~0_all.deb'
	fi
	testsuccess apt install foo

	cd "$TMPWORKINGDIRECTORY" >/dev/null
	mv 'aptarchive/pool/foo_0%3a0+0~0_all.deb' 'aptarchive/pool/foo_0+0~0_all.deb'
}

runtest 'file'
changetowebserver
runtest 'http'