X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Ftar;a=blobdiff_plain;f=tests%2Fremfiles08c.at;h=b52b0328bbcd2a495923ee7d512177383193e5f2;hp=f9730b3041d91bebb429379e74b51b8a1914246d;hb=fcde08534bdabfaa50d9c762631c8ccc0a94fefa;hpb=a5db4ba5cb8a4e2685ff5eb109eb43d19f7912f8 diff --git a/tests/remfiles08c.at b/tests/remfiles08c.at index f9730b3..b52b032 100644 --- a/tests/remfiles08c.at +++ b/tests/remfiles08c.at @@ -15,49 +15,48 @@ # 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 --append mode. # -AT_SETUP([remove-files with -C:abs,rel in -r mode]) +AT_SETUP([remove-files deleting two subdirs in -r mode]) AT_KEYWORDS([create append remove-files remfiles08 remfiles08c]) 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` -tar -cf foo.tar -C $DIR/foo file -C ../bar file +echo foo/foo_file > foo/foo_file +echo bar/bar_file > bar/bar_file +tar -cf foo.tar -C foo . -C ../bar . decho A find . | sort decho B -tar -rvf foo.tar --remove-files -C $DIR/foo file -C ../bar file +tar -rvf foo.tar --remove-files -C foo . -C ../bar . decho C -find . | sort +find . ], [0], [A . ./bar -./bar/file -./file +./bar/bar_file ./foo ./foo.tar -./foo/file +./foo/foo_file B -file -file +./ +./foo_file +./ +./bar_file C . -./bar -./file -./foo ./foo.tar ], [A