test-bug-612958-use-dpkg-multiarch-config 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #!/bin/sh
  2. set -e
  3. TESTDIR=$(readlink -f $(dirname $0))
  4. . $TESTDIR/framework
  5. setupenvironment
  6. configarchitecture 'i386'
  7. setupaptarchive
  8. insertinstalledpackage 'libapt' 'i386' '1.0'
  9. insertinstalledpackage 'libapt' 'amd64' '1.0'
  10. insertinstalledpackage 'libapt' 'armel' '1.0'
  11. testpass() {
  12. rm rootdir/var/cache/apt/*.bin
  13. msgtest 'Test architecture handling' "$1 with $2"
  14. aptcache show libapt:$2 2> /dev/null > /dev/null && msgpass || msgfail
  15. }
  16. testfail() {
  17. rm rootdir/var/cache/apt/*.bin
  18. msgtest 'Test architecture handling' "$1 with $2"
  19. aptcache show libapt:$2 2> /dev/null > /dev/null && msgfail || msgpass
  20. }
  21. testpass 'no config' 'i386'
  22. testfail 'no config' 'amd64'
  23. testfail 'no config' 'armel'
  24. CONFFILE=rootdir/etc/apt/apt.conf.d/99multiarch
  25. echo '#clear APT::Architectures;' >> $CONFFILE
  26. echo 'APT::Architectures:: "i386";' >> $CONFFILE
  27. echo 'APT::Architectures:: "amd64";' >> $CONFFILE
  28. testpass 'apt config' 'i386'
  29. testpass 'apt config' 'amd64'
  30. testfail 'apt config' 'armel'
  31. echo 'APT::Architectures:: "armel";' >> $CONFFILE
  32. testpass 'apt config' 'armel'
  33. rm $CONFFILE
  34. echo '#clear APT::Architectures;' >> $CONFFILE
  35. echo 'Dir::Bin::dpkg "./dpkg-printer";' >> $CONFFILE
  36. echo '#! /bin/sh
  37. echo "amd64"' > ./dpkg-printer
  38. chmod +x ./dpkg-printer
  39. testpass 'dpkg config' 'i386'
  40. testpass 'dpkg config' 'amd64'
  41. testfail 'dpkg config' 'armel'
  42. echo '#! /bin/sh
  43. echo "amd64 armel"' > ./dpkg-printer
  44. testpass 'dpkg config' 'armel'