X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Ftar;a=blobdiff_plain;f=tests%2Fremfiles08b.at;h=13beaf42b98965379b647ceaef3e4ea99f1a4a49;hp=f05b7f8d5bd46888a4ac991950935ec89c602eea;hb=fcde08534bdabfaa50d9c762631c8ccc0a94fefa;hpb=a5db4ba5cb8a4e2685ff5eb109eb43d19f7912f8 diff --git a/tests/remfiles08b.at b/tests/remfiles08b.at index f05b7f8..13beaf4 100644 --- a/tests/remfiles08b.at +++ b/tests/remfiles08b.at @@ -15,41 +15,47 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -# Description: ensure tar correctly respects -C option when deleting -# files due to the --remove-files option. +# Description: If tar 1.26 was called with the --remove-files option and told +# to archive (and thus delete) two subdirectories where the second was +# specified relative to the first, it would be unable to delete the +# second directory (and its contents), since the relative path would no +# longer be valid once the first directory was deleted. # -# This case checks the use of an absolute -C option followed by a relative -C, +# This case checks for successful deletion of all archived items # in --create/incremental mode. # +# Note: tar 1.27 fails this test case due to a more general issue +# archving-and-removing a full directory tree when run in incremental +# mode; see remfiles09b.at for that specific test case. -AT_SETUP([remove-files with -C:abs,rel in -c/incr. mode]) +AT_SETUP([remove-files deleting two subdirs in -c/incr. mode]) AT_KEYWORDS([create incremental remove-files remfiles08 remfiles08b]) +AT_XFAIL_IF(true) # we expect to fail in tar 1.27 + AT_TAR_CHECK([ -AT_SORT_PREREQ mkdir foo mkdir bar -echo file > file -echo foo/file > foo/file -echo bar/file > bar/file -DIR=`pwd` +echo foo/foo_file > foo/foo_file +echo bar/bar_file > bar/bar_file decho A -tar -cvf foo.tar --incremental --remove-files -C $DIR/foo file -C ../bar file +tar -cvf foo.tar --incremental --remove-files -C foo . -C ../bar . decho B -find . | sort +find . ], [0], [A -file -file +./ +./ +./foo_file +./bar_file B . -./bar -./file -./foo ./foo.tar ], [A +tar: .: Directory is new +tar: .: Directory is new B ],[],[],[gnu])