remfiles08b.at 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. # Process this file with autom4te to create testsuite. -*- Autotest -*-
  2. # Test suite for GNU tar.
  3. # Copyright 2013-2023 Free Software Foundation, Inc.
  4. #
  5. # GNU tar is free software; you can redistribute it and/or modify
  6. # it under the terms of the GNU General Public License as published by
  7. # the Free Software Foundation; either version 3 of the License, or
  8. # (at your option) any later version.
  9. #
  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. #
  15. # You should have received a copy of the GNU General Public License
  16. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  17. # Description: If tar 1.26 was called with the --remove-files option and told
  18. # to archive (and thus delete) two subdirectories where the second was
  19. # specified relative to the first, it would be unable to delete the
  20. # second directory (and its contents), since the relative path would no
  21. # longer be valid once the first directory was deleted.
  22. #
  23. # This case checks for successful deletion of all archived items
  24. # in --create/incremental mode.
  25. #
  26. # Note: tar 1.27 fails this test case due to a more general issue
  27. # archving-and-removing a full directory tree when run in incremental
  28. # mode; see remfiles09b.at for that specific test case.
  29. AT_SETUP([remove-files deleting two subdirs in -c/incr. mode])
  30. AT_KEYWORDS([create incremental remove-files remfiles08 remfiles08b chdir])
  31. AT_TAR_CHECK([
  32. mkdir foo
  33. mkdir bar
  34. echo foo/foo_file > foo/foo_file
  35. echo bar/bar_file > bar/bar_file
  36. decho A
  37. tar -cvf foo.tar --incremental --remove-files -C foo . -C ../bar .
  38. decho B
  39. find .
  40. ],
  41. [0],
  42. [A
  43. ./
  44. ./
  45. ./foo_file
  46. ./bar_file
  47. B
  48. .
  49. ./foo.tar
  50. ],
  51. [A
  52. tar: .: Directory is new
  53. tar: .: Directory is new
  54. B
  55. ],[],[],[gnu])
  56. AT_CLEANUP