test-apt-ftparchive-cachedb-lp1274466 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #!/bin/sh
  2. set -e
  3. #
  4. # main()
  5. #
  6. TESTDIR="$(readlink -f "$(dirname "$0")")"
  7. . "$TESTDIR/framework"
  8. setupenvironment
  9. configarchitecture "i386"
  10. confighashes 'MD5' 'SHA1' 'SHA256' 'SHA512'
  11. db_dump=db_dump
  12. if command -v db_dump-5 >/dev/null 2>&1; then
  13. db_dump=db_dump-5
  14. fi
  15. # gather the db and the deb, ensure mtime is not modfied as its saved in the DB
  16. cp -p "$TESTDIR/deb-lp1274466-cachedb.deb" foo_1_i386.deb
  17. cp -p "$TESTDIR/cachedb-lp1274466-old-format.db" old-format.db
  18. # verify that the format is different
  19. testsuccess aptftparchive --db new-format.db packages .
  20. $db_dump new-format.db > new-format.dump
  21. $db_dump old-format.db > old-format.dump
  22. testfailure diff -u old-format.dump new-format.dump
  23. # ensure the new format as the sha512
  24. testsuccess grep 7da58ff901a40ecf42a730dc33198b182e9ba9ec98799fc2c2b6fabeeee40cc12a0e7cadb4b66764235c56e1009dbfe8a9a566fb1eedf47a992d1fff2cc3332c new-format.dump
  25. # but the old format does not
  26. testfailure grep 7da58ff901a40ecf42a730dc33198b182e9ba9ec98799fc2c2b6fabeeee40cc12a0e7cadb4b66764235c56e1009dbfe8a9a566fb1eedf47a992d1fff2cc3332c old-format.dump
  27. # regression test for corruption with previous generation of cachedb
  28. testsuccessequal "Package: foo
  29. Architecture: i386
  30. Version: 1
  31. Priority: optional
  32. Section: others
  33. Maintainer: Joe Sixpack <joe@example.org>
  34. Installed-Size: 29
  35. Filename: ./foo_1_i386.deb
  36. Size: 1270
  37. MD5sum: 85d0e908c1a897700e2c5dea72d7e3c0
  38. SHA1: 858b09169032b7925a0e463f46b6634243fc40ce
  39. SHA256: 3750a2c9c6b5beee7f307564be3d51d3ec7cbb78fa4f0b47f84a7c41477bff59
  40. SHA512: 7da58ff901a40ecf42a730dc33198b182e9ba9ec98799fc2c2b6fabeeee40cc12a0e7cadb4b66764235c56e1009dbfe8a9a566fb1eedf47a992d1fff2cc3332c
  41. Description: an autogenerated dummy foo=1/test
  42. If you find such a package installed on your system,
  43. something went horribly wrong! They are autogenerated
  44. und used only by testcases and surf no other propose…
  45. " aptftparchive --db old-format.db packages .
  46. # ensure that the db is updated and contains the new sha512
  47. $db_dump old-format.db > old-format.dump
  48. testsuccess grep 7da58ff901a40ecf42a730dc33198b182e9ba9ec98799fc2c2b6fabeeee40cc12a0e7cadb4b66764235c56e1009dbfe8a9a566fb1eedf47a992d1fff2cc3332c old-format.dump