test-external-dependency-solver-protocol 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #!/bin/sh
  2. set -e
  3. TESTDIR=$(readlink -f $(dirname $0))
  4. . $TESTDIR/framework
  5. setupenvironment
  6. configarchitecture 'amd64' 'i386'
  7. insertinstalledpackage 'cool' 'all' '1'
  8. insertinstalledpackage 'stuff' 'all' '1'
  9. insertpackage 'unstable' 'cool' 'all' '2' 'Multi-Arch: foreign'
  10. insertpackage 'unstable' 'stuff' 'all' '2' 'Multi-Arch: foreign'
  11. insertpackage 'unstable' 'coolstuff' 'i386,amd64' '2' 'Depends: cool, stuff'
  12. insertpackage 'unstable' 'awesome' 'all' '2' 'Multi-Arch: foreign'
  13. insertpackage 'unstable' 'awesomecoolstuff' 'i386' '2' 'Depends: coolstuff, awesome'
  14. insertpackage 'experimental' 'cool' 'all' '3' 'Multi-Arch: foreign'
  15. insertpackage 'experimental' 'stuff' 'all' '3' 'Multi-Arch: foreign'
  16. insertpackage 'experimental' 'coolstuff' 'i386,amd64' '3' 'Depends: cool, stuff'
  17. setupaptarchive
  18. rm -f /tmp/dump.edsp
  19. testequal 'Reading package lists...
  20. Building dependency tree...
  21. Execute external solver...
  22. The solver encountered an error of type: ERR_JUST_DUMPING
  23. The following information might help you to understand what is wrong:
  24. I am too dumb, i can just dump!
  25. Please use one of my friends instead!
  26. E: External solver failed with: I am too dumb, i can just dump!' aptget install --solver dump coolstuff -s
  27. testsuccess test -s /tmp/dump.edsp
  28. rm -f /tmp/dump.edsp
  29. #FIXME: this should be unstable, but we don't support pinning yet
  30. testequal 'Reading package lists...
  31. Building dependency tree...
  32. Execute external solver...
  33. The following NEW packages will be installed:
  34. coolstuff
  35. 0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded.
  36. Inst coolstuff (3 experimental [amd64])
  37. Conf coolstuff (3 experimental [amd64])' aptget install --solver apt coolstuff -s
  38. testsuccess aptget install awesomecoolstuff:i386 -s
  39. testsuccess aptget install --solver apt awesomecoolstuff:i386 -s
  40. rm -f /tmp/dump.edsp
  41. testfailure aptget install --solver dump awesomecoolstuff:i386 -s
  42. testsuccess test -s /tmp/dump.edsp
  43. testsuccess aptget dist-upgrade -s
  44. testsuccess aptget dist-upgrade -s --solver apt
  45. testsuccess aptget upgrade -s
  46. testsuccess aptget upgrade -s --solver apt
  47. configarchitecture 'armel'
  48. msgtest 'Test direct calling is okay for' 'apt-internal-solver'
  49. cat /tmp/dump.edsp | aptinternalsolver > solver.result 2>&1 || true
  50. if [ "$(tail -n2 solver.result | head -n1 )" = "Message: Done" ]; then
  51. msgpass
  52. else
  53. cat solver.result
  54. msgfail
  55. fi
  56. rm -f /tmp/dump.edsp
  57. testfailure aptget install --solver apt awesomecoolstuff:i386 -s