]> git.saurik.com Git - apt.git/blob - test/integration/test-bug-612958-use-dpkg-multiarch-config
reset HOME, USER(NAME), TMPDIR & SHELL in DropPrivileges
[apt.git] / test / integration / test-bug-612958-use-dpkg-multiarch-config
1 #!/bin/sh
2 set -e
3
4 TESTDIR="$(readlink -f "$(dirname "$0")")"
5 . "$TESTDIR/framework"
6 setupenvironment
7 configarchitecture 'i386'
8
9 testpass() {
10 msgtest 'Test architecture handling success' "$1 with $2"
11 rm -f archs.conf
12 aptconfig dump --no-empty --format='%V%n' APT::Architectures > archs.conf
13 testsuccess --nomsg grep "^$2\$" archs.conf
14 }
15
16 testfail() {
17 msgtest 'Test architecture handling failure' "$1 with $2"
18 rm -f archs.conf
19 aptconfig dump --no-empty --format='%V%n' APT::Architectures > archs.conf
20 testfailure --nomsg grep "^$2\$" archs.conf
21 }
22
23 testpass 'no config' 'i386'
24 testfail 'no config' 'amd64'
25 testfail 'no config' 'armel'
26
27 CONFFILE=rootdir/etc/apt/apt.conf.d/99multiarch
28 echo '#clear APT::Architectures;' >> $CONFFILE
29 echo 'APT::Architectures:: "i386";' >> $CONFFILE
30 echo 'APT::Architectures:: "amd64";' >> $CONFFILE
31
32 testpass 'apt config' 'i386'
33 testpass 'apt config' 'amd64'
34 testfail 'apt config' 'armel'
35
36 echo 'APT::Architectures:: "armel";' >> $CONFFILE
37
38 testpass 'apt config' 'armel'
39
40 rm $CONFFILE
41
42 echo '#clear APT::Architectures;' >> $CONFFILE
43 echo 'APT::Architectures "i386,amd64";' >> $CONFFILE
44
45 testpass 'apt config' 'i386'
46 testpass 'apt config' 'amd64'
47 testfail 'apt config' 'armel'
48
49 rm $CONFFILE
50
51 echo '#clear APT::Architectures;' >> $CONFFILE
52 echo 'Dir::Bin::dpkg "./dpkg-printer";' >> $CONFFILE
53
54 echo '#! /bin/sh
55 echo "amd64"' > ./dpkg-printer
56 chmod +x ./dpkg-printer
57
58 testpass 'dpkg config' 'i386'
59 testpass 'dpkg config' 'amd64'
60 testfail 'dpkg config' 'armel'
61
62 echo '#! /bin/sh
63 echo "amd64 armel"' > ./dpkg-printer
64
65 testpass 'dpkg config' 'i386'
66 testpass 'dpkg config' 'amd64'
67 testpass 'dpkg config' 'armel'
68
69 echo '#! /bin/sh
70 echo "amd64
71 armel"' > ./dpkg-printer
72
73 testpass 'dpkg config' 'i386'
74 testpass 'dpkg config' 'amd64'
75 testpass 'dpkg config' 'armel'
76
77 echo '#! /bin/sh
78 echo "amd64
79 i386"' > ./dpkg-printer
80
81 testpass 'dpkg config' 'i386'
82 testpass 'dpkg config' 'amd64'
83 testfail 'dpkg config' 'armel'