test-releasefile-valid-until 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #!/bin/sh
  2. set -e
  3. TESTDIR=$(readlink -f $(dirname $0))
  4. . $TESTDIR/framework
  5. setupenvironment
  6. configarchitecture 'i386'
  7. insertpackage 'wheezy' 'apt' 'all' '0.8.15'
  8. setupaptarchive
  9. setupreleasefile() {
  10. rm -rf rootdir/var/lib/apt/lists
  11. aptget clean
  12. generatereleasefiles "$1" "$2"
  13. signreleasefiles
  14. }
  15. aptgetupdate() {
  16. if aptget update $* 2>&1 | grep -q 'is expired'; then
  17. return 1
  18. else
  19. return 0
  20. fi
  21. }
  22. setupreleasefile
  23. msgtest 'Release file is accepted as it has' 'no Until'
  24. aptgetupdate && msgpass || msgfail
  25. setupreleasefile
  26. msgtest 'Release file is accepted as it has' 'no Until and good Max-Valid'
  27. aptgetupdate -o Acquire::Max-ValidTime=3600 && msgpass || msgfail
  28. setupreleasefile 'now - 2 days'
  29. msgtest 'Release file is rejected as it has' 'no Until, but bad Max-Valid'
  30. aptgetupdate -o Acquire::Max-ValidTime=3600 && msgfail || msgpass
  31. setupreleasefile 'now - 3 days' 'now + 1 day'
  32. msgtest 'Release file is accepted as it has' 'good Until'
  33. aptgetupdate && msgpass || msgfail
  34. setupreleasefile 'now - 7 days' 'now - 4 days'
  35. msgtest 'Release file is rejected as it has' 'bad Until'
  36. aptgetupdate && msgfail || msgpass
  37. setupreleasefile 'now - 7 days' 'now - 4 days'
  38. msgtest 'Release file is rejected as it has' 'bad Until (ignore good Max-Valid)'
  39. aptgetupdate -o Acquire::Max-ValidTime=1209600 && msgfail || msgpass
  40. setupreleasefile 'now - 7 days' 'now - 4 days'
  41. msgtest 'Release file is rejected as it has' 'bad Max-Valid (bad Until)'
  42. aptgetupdate -o Acquire::Max-ValidTime=86400 && msgfail || msgpass
  43. setupreleasefile 'now - 7 days' 'now + 4 days'
  44. msgtest 'Release file is rejected as it has' 'bad Max-Valid (good Until)'
  45. aptgetupdate -o Acquire::Max-ValidTime=86400 && msgfail || msgpass
  46. setupreleasefile 'now - 7 days' 'now + 4 days'
  47. msgtest 'Release file is accepted as it has' 'good labeled Max-Valid'
  48. aptgetupdate -o Acquire::Max-ValidTime=86400 -o Acquire::Max-ValidTime::Testcases=1209600 && msgpass || msgfail
  49. setupreleasefile 'now - 7 days' 'now + 4 days'
  50. msgtest 'Release file is rejected as it has' 'bad labeled Max-Valid'
  51. aptgetupdate -o Acquire::Max-ValidTime=1209600 -o Acquire::Max-ValidTime::Testcases=86400 && msgfail || msgpass
  52. setupreleasefile 'now - 7 days' 'now + 1 days'
  53. msgtest 'Release file is accepted as it has' 'good Until (good Min-Valid, no Max-Valid)'
  54. aptgetupdate -o Acquire::Min-ValidTime=1209600 && msgpass || msgfail
  55. setupreleasefile 'now - 7 days' 'now - 4 days'
  56. msgtest 'Release file is accepted as it has' 'good Min-Valid (bad Until, no Max-Valid)'
  57. aptgetupdate -o Acquire::Min-ValidTime=1209600 && msgpass || msgfail
  58. setupreleasefile 'now - 7 days' 'now - 2 days'
  59. msgtest 'Release file is accepted as it has' 'good Min-Valid (bad Until, good Max-Valid) <'
  60. aptgetupdate -o Acquire::Min-ValidTime=1209600 -o Acquire::Max-ValidTime=2419200 && msgpass || msgfail
  61. setupreleasefile 'now - 7 days' 'now - 2 days'
  62. msgtest 'Release file is rejected as it has' 'bad Max-Valid (bad Until, good Min-Valid) >'
  63. aptgetupdate -o Acquire::Max-ValidTime=12096 -o Acquire::Min-ValidTime=2419200 && msgfail || msgpass
  64. setupreleasefile 'now - 7 days' 'now - 2 days'
  65. msgtest 'Release file is rejected as it has' 'bad Max-Valid (bad Until, bad Min-Valid) <'
  66. aptgetupdate -o Acquire::Min-ValidTime=12096 -o Acquire::Max-ValidTime=241920 && msgfail || msgpass
  67. setupreleasefile 'now - 7 days' 'now - 2 days'
  68. msgtest 'Release file is rejected as it has' 'bad Max-Valid (bad Until, bad Min-Valid) >'
  69. aptgetupdate -o Acquire::Max-ValidTime=12096 -o Acquire::Min-ValidTime=241920 && msgfail || msgpass