deb-split.at 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. AT_TESTED([dpkg-split])
  2. AT_SETUP([dpkg-split options])
  3. AT_KEYWORDS([dpkg-split command-line])
  4. AT_CHECK([dpkg-split --help], [], [ignore])
  5. AT_CLEANUP
  6. AT_SETUP([dpkg-split .deb format])
  7. AT_KEYWORDS([dpkg-split deb-split])
  8. DPKG_GEN_CONTROL([pkg-split])
  9. DPKG_MOD_CONTROL([pkg-split],
  10. [s/^Description:.*$/& - normal package to be split/])
  11. AT_CHECK([
  12. # Initialize the template package
  13. chmod -R u+w pkg-split
  14. yes | dd of=pkg-split/data-file bs=1024 count=1024 status=none
  15. find pkg-split | xargs touch -t 197001010100.00
  16. $ASROOT dpkg-deb -b -Znone pkg-split >/dev/null
  17. ])
  18. AT_CHECK([
  19. # Test splitting a package (in 3 parts: 400 KiB + 400 KiB + 224 KiB)
  20. dpkg-split -S 400 -s pkg-split.deb pkg-split-part
  21. test -f pkg-split-part.1of3.deb
  22. test -f pkg-split-part.2of3.deb
  23. test -f pkg-split-part.3of3.deb
  24. ], [], [Splitting package pkg-split into 3 parts: 1 2 3 done
  25. ])
  26. DEB_SPLIT_MD5SUM=a4042d88f6da3da8ab2ab191a290ab66
  27. AT_CHECK_UNQUOTED([
  28. # Test getting information about the split parts (parsing verification)
  29. dpkg-split -I pkg-split-part.1of3.deb
  30. dpkg-split -I pkg-split-part.2of3.deb
  31. dpkg-split -I pkg-split-part.3of3.deb
  32. ], [], [pkg-split-part.1of3.deb:
  33. Part format version: 2.1
  34. Part of package: pkg-split
  35. ... version: 0.0-1
  36. ... architecture: all
  37. ... MD5 checksum: $DEB_SPLIT_MD5SUM
  38. ... length: 1055178 bytes
  39. ... split every: 408576 bytes
  40. Part number: 1/3
  41. Part length: 408576 bytes
  42. Part offset: 0 bytes
  43. Part file size (used portion): 408780 bytes
  44. pkg-split-part.2of3.deb:
  45. Part format version: 2.1
  46. Part of package: pkg-split
  47. ... version: 0.0-1
  48. ... architecture: all
  49. ... MD5 checksum: $DEB_SPLIT_MD5SUM
  50. ... length: 1055178 bytes
  51. ... split every: 408576 bytes
  52. Part number: 2/3
  53. Part length: 408576 bytes
  54. Part offset: 408576 bytes
  55. Part file size (used portion): 408780 bytes
  56. pkg-split-part.3of3.deb:
  57. Part format version: 2.1
  58. Part of package: pkg-split
  59. ... version: 0.0-1
  60. ... architecture: all
  61. ... MD5 checksum: $DEB_SPLIT_MD5SUM
  62. ... length: 1055178 bytes
  63. ... split every: 408576 bytes
  64. Part number: 3/3
  65. Part length: 238026 bytes
  66. Part offset: 817152 bytes
  67. Part file size (used portion): 238230 bytes
  68. ])
  69. AT_CHECK([
  70. # Test joining the split parts back together
  71. dpkg-split -o pkg-joined.deb -j pkg-split-part.*.deb
  72. cmp pkg-split.deb pkg-joined.deb
  73. ], [], [Putting package pkg-split together from 3 parts: 1 2 3 done
  74. ])
  75. AT_CLEANUP