test-bug-543966-downgrade-below-1000-pin 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. #!/bin/sh
  2. set -e
  3. TESTDIR=$(readlink -f $(dirname $0))
  4. . $TESTDIR/framework
  5. setupenvironment
  6. configarchitecture 'i386'
  7. insertpackage 'unstable' 'base-files' 'all' '5.0.0'
  8. insertinstalledpackage 'base-files' 'all' '5.0.0-1'
  9. setupaptarchive
  10. STATUS=$(readlink -f rootdir/var/lib/dpkg/status)
  11. APTARCHIVE="$(readlink -f aptarchive)"
  12. testsuccessequal "base-files:
  13. Installed: 5.0.0-1
  14. Candidate: 5.0.0-1
  15. Version table:
  16. *** 5.0.0-1 100
  17. 100 $STATUS
  18. 5.0.0 500
  19. 500 file:${APTARCHIVE} unstable/main i386 Packages" aptcache policy base-files -o apt::pin=0
  20. writepin() {
  21. echo "Package: $1
  22. Pin: release a=unstable
  23. Pin-Priority: $2" > rootdir/etc/apt/preferences
  24. }
  25. testpinning() {
  26. local PKGPIN=''
  27. local PKGPINPRIO=''
  28. local REPPINPRIO=''
  29. if [ "$1" != '*' ]; then
  30. PKGPINPRIO=''
  31. REPPINPRIO=' 500'
  32. PKGPIN='Package pin: 5.0.0
  33. '
  34. fi
  35. writepin "$1" '99'
  36. testsuccessequal "base-files:
  37. Installed: 5.0.0-1
  38. Candidate: 5.0.0-1
  39. ${PKGPIN}Version table:
  40. *** 5.0.0-1 100
  41. 100 $STATUS
  42. 5.0.0 ${PKGPINPRIO:-99}
  43. ${REPPINPRIO:- 99} file:${APTARCHIVE} unstable/main i386 Packages" aptcache policy base-files -o apt::pin=99
  44. writepin "$1" '100'
  45. testsuccessequal "base-files:
  46. Installed: 5.0.0-1
  47. Candidate: 5.0.0-1
  48. ${PKGPIN}Version table:
  49. *** 5.0.0-1 100
  50. 100 $STATUS
  51. 5.0.0 ${PKGPINPRIO:-100}
  52. ${REPPINPRIO:- 100} file:${APTARCHIVE} unstable/main i386 Packages" aptcache policy base-files -o apt::pin=100
  53. writepin "$1" '999'
  54. testsuccessequal "base-files:
  55. Installed: 5.0.0-1
  56. Candidate: 5.0.0-1
  57. ${PKGPIN}Version table:
  58. *** 5.0.0-1 100
  59. 100 $STATUS
  60. 5.0.0 ${PKGPINPRIO:-999}
  61. ${REPPINPRIO:- 999} file:${APTARCHIVE} unstable/main i386 Packages" aptcache policy base-files -o apt::pin=999
  62. writepin "$1" '1000'
  63. testsuccessequal "base-files:
  64. Installed: 5.0.0-1
  65. Candidate: 5.0.0
  66. ${PKGPIN}Version table:
  67. *** 5.0.0-1 100
  68. 100 $STATUS
  69. 5.0.0 ${PKGPINPRIO:-1000}
  70. ${REPPINPRIO:-1000} file:${APTARCHIVE} unstable/main i386 Packages" aptcache policy base-files -o apt::pin=1000
  71. }
  72. msgmsg 'Tests with generic-form pin'
  73. testpinning '*'
  74. msgmsg 'Tests with specific-form pin'
  75. testpinning 'base-files'
  76. msgmsg 'Tests with specific-form pin with glob'
  77. testpinning 'base-fil*'
  78. msgmsg 'Tests with specific-form pin with regex'
  79. testpinning '/^base-f[iI]les$/'