#!/bin/sh set -e TESTDIR=$(readlink -f $(dirname $0)) . $TESTDIR/framework setupenvironment configarchitecture 'i386' setupaptarchive insertinstalledpackage 'libapt' 'i386' '1.0' insertinstalledpackage 'libapt' 'amd64' '1.0' insertinstalledpackage 'libapt' 'armel' '1.0' testpass() { rm rootdir/var/cache/apt/*.bin msgtest 'Test architecture handling' "$1 with $2" aptcache show libapt:$2 2> /dev/null > /dev/null && msgpass || msgfail } testfail() { rm rootdir/var/cache/apt/*.bin msgtest 'Test architecture handling' "$1 with $2" aptcache show libapt:$2 2> /dev/null > /dev/null && msgfail || msgpass } testpass 'no config' 'i386' testfail 'no config' 'amd64' testfail 'no config' 'armel' CONFFILE=rootdir/etc/apt/apt.conf.d/99multiarch echo '#clear APT::Architectures;' >> $CONFFILE echo 'APT::Architectures:: "i386";' >> $CONFFILE echo 'APT::Architectures:: "amd64";' >> $CONFFILE testpass 'apt config' 'i386' testpass 'apt config' 'amd64' testfail 'apt config' 'armel' echo 'APT::Architectures:: "armel";' >> $CONFFILE testpass 'apt config' 'armel' rm $CONFFILE echo '#clear APT::Architectures;' >> $CONFFILE echo 'Dir::Bin::dpkg "./dpkg-printer";' >> $CONFFILE echo '#! /bin/sh echo "amd64"' > ./dpkg-printer chmod +x ./dpkg-printer testpass 'dpkg config' 'i386' testpass 'dpkg config' 'amd64' testfail 'dpkg config' 'armel' echo '#! /bin/sh echo "amd64 armel"' > ./dpkg-printer testpass 'dpkg config' 'i386' testpass 'dpkg config' 'amd64' testpass 'dpkg config' 'armel' echo '#! /bin/sh echo "amd64 armel"' > ./dpkg-printer testpass 'dpkg config' 'i386' testpass 'dpkg config' 'amd64' testpass 'dpkg config' 'armel' echo '#! /bin/sh echo "amd64 i386"' > ./dpkg-printer testpass 'dpkg config' 'i386' testpass 'dpkg config' 'amd64' testfail 'dpkg config' 'armel'