sparse04.at 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # Process this file with autom4te to create testsuite. -*- Autotest -*-
  2. #
  3. # Test suite for GNU tar.
  4. # Copyright (C) 2010 Free Software Foundation, Inc.
  5. #
  6. # This program 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, or (at your option)
  9. # any later version.
  10. #
  11. # This program is distributed in the hope that it will be useful,
  12. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. # GNU General Public License for more details.
  15. #
  16. # You should have received a copy of the GNU General Public License
  17. # along with this program; if not, write to the Free Software
  18. # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
  19. # 02110-1301, USA.
  20. AT_SETUP([storing long sparse file names])
  21. AT_KEYWORDS([sparse sparse04])
  22. # Description: Tar versions from 1.15.92 to 1.25 would incorrectly
  23. # store sparse file names longer than 100 characters in pax mode.
  24. # Namely, the 'path' keyword of the produced PAX header would contain the
  25. # crafted name of the header itself, instead of that of the file.
  26. # Reported by: Kamil Dudka <kdudka@redhat.com>
  27. # References: <201011250026.44908.kdudka@redhat.com>,
  28. # http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00099.html
  29. m4_define([NAME_111],
  30. [123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960])
  31. AT_TAR_CHECK([
  32. genfile --sparse --file NAME_111 --block-size 512 8M A || AT_SKIP_TEST
  33. tar -f - -c --sparse --posix NAME_111 | tar tf -
  34. ],
  35. [0],
  36. [NAME_111
  37. ],
  38. [],
  39. [],
  40. [],
  41. [pax])
  42. AT_CLEANUP