test-crossgrades 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #!/bin/sh
  2. set -e
  3. TESTDIR="$(readlink -f "$(dirname "$0")")"
  4. . "$TESTDIR/framework"
  5. setupenvironment
  6. configarchitecture 'i386' 'amd64' 'armel'
  7. configdpkgnoopchroot
  8. buildsimplenativepackage 'unrelated' 'amd64' '1' 'stable'
  9. buildsimplenativepackage 'crosser' 'i386,armel' '1' 'stable' 'Multi-Arch: same'
  10. buildsimplenativepackage 'crosser' 'amd64' '2' 'unstable'
  11. setupaptarchive
  12. singleinstance() {
  13. testsuccess apt install crosser:i386=1 unrelated:amd64 -y --planner $1
  14. testdpkginstalled 'crosser:i386' 'unrelated'
  15. testsuccess apt install crosser:amd64 -y -o Debug::pkgDpkgPm=1 -o Dpkg::Use-Pty=0 --purge --planner $1
  16. cp -a rootdir/tmp/testsuccess.output crosser.output
  17. testfailure grep -- '--remove.*crosser.*' crosser.output
  18. testfailure grep -- '--purge' crosser.output
  19. testsuccess apt install crosser:amd64 unrelated:amd64- -y -o Dpkg::Use-Pty=0 --purge -o Debug::pkgDPkgProgressReporting=1 --planner $1
  20. testdpkgnotinstalled 'crosser:i386' 'unrelated'
  21. testdpkginstalled 'crosser:amd64'
  22. testsuccess apt purge crosser:amd64 -y --planner $1
  23. testdpkgnotinstalled 'crosser:amd64'
  24. }
  25. singleinstance 'internal'
  26. singleinstance 'apt'
  27. multiinstance() {
  28. testsuccess apt install crosser:i386=1 crosser:armel=1 unrelated:amd64 -y --planner $1
  29. testdpkginstalled 'crosser:i386' 'crosser:armel' 'unrelated'
  30. testsuccess apt install crosser:amd64 -y -o Debug::pkgDpkgPm=1 -o Dpkg::Use-Pty=0 --purge --planner $1
  31. cp -a rootdir/tmp/testsuccess.output crosser.output
  32. testsuccess grep -- '--remove.*crosser.*' crosser.output
  33. testsuccess grep -- '--purge' crosser.output
  34. testsuccess apt install crosser:amd64 unrelated:amd64- -y -o Dpkg::Use-Pty=0 --purge -o Debug::pkgDPkgProgressReporting=1 --planner $1
  35. testdpkgnotinstalled 'crosser:i386' 'crosser:armel' 'unrelated'
  36. testdpkginstalled 'crosser:amd64'
  37. testsuccess apt purge crosser:amd64 -y --planner $1
  38. testdpkgnotinstalled 'crosser:amd64'
  39. }
  40. multiinstance 'internal'