test-external-dependency-solver-protocol 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. configarchitecture 'armel'
  44. msgtest 'Test direct calling is okay for' 'apt-internal-solver'
  45. cat /tmp/dump.edsp | aptinternalsolver > solver.result 2>&1 || true
  46. if [ "$(tail -n2 solver.result | head -n1 )" = "Message: Done" ]; then
  47. msgpass
  48. else
  49. cat solver.result
  50. msgfail
  51. fi
  52. rm -f /tmp/dump.edsp
  53. testfailure aptget install --solver apt awesomecoolstuff:i386 -s