test-crossgrades 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. buildsimplenativepackage 'crosser' 'i386,armel' '3' 'experimental' 'Multi-Arch: same'
  12. setupaptarchive
  13. singleinstance() {
  14. testsuccess apt install crosser:i386=1 unrelated:amd64 -y --planner $1
  15. testdpkginstalled 'crosser:i386' 'unrelated'
  16. testsuccess apt install crosser:amd64 -y -o Debug::pkgDpkgPm=1 -o Dpkg::Use-Pty=0 --purge --planner $1
  17. cp -a rootdir/tmp/testsuccess.output crosser.output
  18. testfailure grep -- '--remove.*crosser.*' crosser.output
  19. testfailure grep -- '--purge' crosser.output
  20. testsuccess apt install crosser:amd64 unrelated:amd64- -y -o Dpkg::Use-Pty=0 --purge -o Debug::pkgDPkgProgressReporting=1 --planner $1
  21. testdpkgnotinstalled 'crosser:i386' 'unrelated'
  22. testdpkginstalled 'crosser:amd64'
  23. testsuccess apt purge crosser:amd64 -y --planner $1
  24. testdpkgnotinstalled 'crosser:amd64'
  25. }
  26. singleinstance 'internal'
  27. singleinstance 'apt'
  28. multiinstance() {
  29. testsuccess apt install crosser:i386=1 crosser:armel=1 unrelated:amd64 -y --planner $1
  30. testdpkginstalled 'crosser:i386' 'crosser:armel' 'unrelated'
  31. testsuccess apt install crosser:amd64 -y -o Debug::pkgDpkgPm=1 -o Dpkg::Use-Pty=0 --purge --planner $1
  32. cp -a rootdir/tmp/testsuccess.output crosser.output
  33. testsuccess grep -- '--remove.*crosser.*' crosser.output
  34. testsuccess grep -- '--purge' crosser.output
  35. testsuccess apt install crosser:amd64 unrelated:amd64- -y -o Dpkg::Use-Pty=0 --purge -o Debug::pkgDPkgProgressReporting=1 --planner $1
  36. testdpkgnotinstalled 'crosser:i386' 'crosser:armel' 'unrelated'
  37. testdpkginstalled 'crosser:amd64'
  38. testsuccess apt install crosser:i386 crosser:armel -t experimental -y -o Debug::pkgDpkgPm=1 -o Dpkg::Use-Pty=0 --purge --planner $1
  39. cp -a rootdir/tmp/testsuccess.output crosser.output
  40. testsuccess grep -- '--remove.*crosser.*' crosser.output
  41. testsuccess grep -- '--purge' crosser.output
  42. testsuccess apt install crosser:i386 crosser:armel -t experimental -y -o Debug::pkgDPkgProgressReporting=1 -o Dpkg::Use-Pty=0 --purge --planner $1
  43. testdpkgnotinstalled 'crosser:amd64' 'unrelated'
  44. testdpkginstalled 'crosser:i386' 'crosser:armel'
  45. testsuccess apt purge crosser:i386 crosser:armel -y --planner $1
  46. testdpkgnotinstalled 'crosser:i386' 'crosser:armel' 'unrelated'
  47. }
  48. multiinstance 'internal'