sparse04.at 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. # Process this file with autom4te to create testsuite. -*- Autotest -*-
  2. #
  3. # Test suite for GNU tar.
  4. # Copyright 2010-2023 Free Software Foundation, Inc.
  5. # This file is part of GNU tar.
  6. # GNU tar is free software; you can redistribute it and/or modify
  7. # it under the terms of the GNU General Public License as published by
  8. # the Free Software Foundation; either version 3 of the License, or
  9. # (at your option) any later version.
  10. # GNU tar is distributed in the hope that it will be useful,
  11. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. # GNU General Public License for more details.
  14. # You should have received a copy of the GNU General Public License
  15. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  16. AT_SETUP([storing long sparse file names])
  17. AT_KEYWORDS([sparse sparse04])
  18. # Description: Tar versions from 1.15.92 to 1.25 would incorrectly
  19. # store sparse file names longer than 100 characters in pax mode.
  20. # Namely, the 'path' keyword of the produced PAX header would contain the
  21. # crafted name of the header itself, instead of that of the file.
  22. # Reported by: Kamil Dudka <[email protected]>
  23. # References: <[email protected]>,
  24. # http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00099.html
  25. m4_pushdef([NAME_111],
  26. [123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960])
  27. AT_TAR_CHECK([
  28. genfile --sparse --file NAME_111 --block-size 512 8M A || AT_SKIP_TEST
  29. tar -f - -c --sparse --posix NAME_111 | tar tf -
  30. ],
  31. [0],
  32. [NAME_111
  33. ],
  34. [],
  35. [],
  36. [],
  37. [pax])
  38. m4_popdef([NAME_111])
  39. AT_CLEANUP