From: Sergey Poznyakoff Date: Sat, 13 May 2006 14:01:13 +0000 (+0000) Subject: New file X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Ftar;a=commitdiff_plain;h=c57418b462d85282063695998327c13175b9dbe3 New file --- diff --git a/tests/chtype.at b/tests/chtype.at new file mode 100644 index 0000000..a2c3b63 --- /dev/null +++ b/tests/chtype.at @@ -0,0 +1,73 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- + +# Test suite for GNU tar. +# Copyright (C) 2006 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +# Description: Incremental restore malfunctions if an archive member +# changes type before restoration, e.g. from directory to file or vice +# versa. +# Reported by: Wolfram Kleff +# References: <200605101232.25031.bugreport@wkleff.intergenia.de> + +AT_SETUP([changed file types in incrementals]) +AT_KEYWORDS([incremental chtype]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +AT_TAR_MKHIER([directory/b/c],[x]) +mkdir directory/a +genfile --file directory/a/a + +echo First backup +tar --create --file=archive.1 --listed-incremental=db.1 directory + +sleep 2 + +# Remove directory b and create a file with this name. +# Previous versions were not able to restore over this file. +rm -r directory/b +genfile --file directory/b +genfile --file directory/a/b + +echo Second backup +tar --create --file=archive.2 --listed-incremental=db.2 directory + +# Delete a +rm -r directory + +echo Restore archive.1 +tar -xf archive.1 --listed-incremental=/dev/null +echo Restore archive.2 +tar -xf archive.2 --listed-incremental=/dev/null +find directory | sort +], +[0], +[First backup +Second backup +Restore archive.1 +Restore archive.2 +directory +directory/a +directory/a/a +directory/a/b +directory/b +],[],[],[],[gnu, oldgnu, posix]) + +AT_CLEANUP + +# End of chtype.at diff --git a/tests/volsize.at b/tests/volsize.at new file mode 100644 index 0000000..2ec048d --- /dev/null +++ b/tests/volsize.at @@ -0,0 +1,60 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- + +# Test suite for GNU tar. +# Copyright (C) 2006 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +# Description: The size field of a volume header was ignored when listing +# but taken into account when extracting. Thus it was possible to hide +# some files within the archive, placing them after a volume header and +# manually modifying its size field. Test tarball kindly provided by Tomas. +# Reported by: Thomas +# References: <4462E13A.3080008@users.askja.de>, +# <44639C4C.5050401@users.askja.de + +AT_SETUP([volume header size]) +AT_KEYWORDS([volume volsize]) + +AT_TAR_CHECK([ +AT_SORT_PREREQ +AT_TARBALL_PREREQ([abc.tar],[540f196ceddcad9e7bd2f2d7533d0474]) + +echo Short Listing +tar tf $TEST_DATA_DIR/abc.tar +echo Verbose Listing +tar tfv $TEST_DATA_DIR/abc.tar +echo Extracted directory +tar xf $TEST_DATA_DIR/abc.tar +find abc|sort +], +[0], +[Short Listing +abc/not-a-file.gif +abc/CCC +Verbose Listing +V--------- 0/0 1536 2006-05-09 01:07 abc/not-a-file.gif--Volume Header-- +-rw-r--r-- tom/users 0 2006-04-22 22:52 abc/CCC +Extracted directory +abc +abc/CCC +]) + +AT_CLEANUP + +# End of volsize.at + +