diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 2 | ||||
-rw-r--r-- | tests/extrac18.at | 60 | ||||
-rw-r--r-- | tests/extrac19.at | 44 | ||||
-rw-r--r-- | tests/testsuite.at | 2 |
4 files changed, 108 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 7acc9d6d..4601e0eb 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -86,6 +86,8 @@ TESTSUITE_AT = \ extrac15.at\ extrac16.at\ extrac17.at\ + extrac18.at\ + extrac19.at\ filerem01.at\ filerem02.at\ gzip.at\ diff --git a/tests/extrac18.at b/tests/extrac18.at new file mode 100644 index 00000000..8b42ef7e --- /dev/null +++ b/tests/extrac18.at @@ -0,0 +1,60 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright (C) 2011 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 3, 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, see <http://www.gnu.org/licenses/>. + +# Description: Check the functionality of the --keep-old-files option. +# It should report an error and cause tar to exit with status 2. +# +# There was a regression in versions 1.23 to 1.26 inclusive, where +# this option silently skipped such files. +# Reported by: Doug McLaren <dougmc@frenzied.us>, +# Gary Partis <gary@partis.co.uk>, +# Jim Meyering <jim@meyering.net> +# +# References: <20111117045433.GA8245@algol.frenzied.us>, +# <4F3D824717847C4487F77228F83329A3514CBB@server.Partis.local>, +# <87wrar6zzz.fsf@rho.meyering.net> + +AT_SETUP([keep-old-files]) +AT_KEYWORDS([extract extrac18 old-files keep-old-files]) + +AT_TAR_CHECK([ +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b + +tar cf ../archive . + +rm b +echo 'File a' > a + +tar -x -k -f ../archive +echo status=$? + +cat a +], +[0], +[status=2 +File a +], +[tar: ./a: Cannot open: File exists +tar: Exiting with failure status due to previous errors +]) + +AT_CLEANUP + diff --git a/tests/extrac19.at b/tests/extrac19.at new file mode 100644 index 00000000..43c4c507 --- /dev/null +++ b/tests/extrac19.at @@ -0,0 +1,44 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- +# +# Test suite for GNU tar. +# Copyright (C) 2011 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 3, 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, see <http://www.gnu.org/licenses/>. + +AT_SETUP([skip-old-files]) +AT_KEYWORDS([extract extrac19 old-files skip-old-files]) + +AT_TAR_CHECK([ +mkdir dir +cd dir +echo 'Old file a' > a +echo 'Old file b' > b + +tar cf ../archive . + +rm b +echo 'File a' > a + +tar -x --skip-old-files -f ../archive +echo status=$? + +cat a +], +[0], +[status=0 +File a +]) + +AT_CLEANUP + diff --git a/tests/testsuite.at b/tests/testsuite.at index 35f8c2f7..97f5e412 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -166,6 +166,8 @@ m4_include([extrac14.at]) m4_include([extrac15.at]) m4_include([extrac16.at]) m4_include([extrac17.at]) +m4_include([extrac18.at]) +m4_include([extrac19.at]) m4_include([label01.at]) m4_include([label02.at]) |