diff options
Diffstat (limited to 'tests/truncate.at')
-rw-r--r-- | tests/truncate.at | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/truncate.at b/tests/truncate.at new file mode 100644 index 0000000..8f8ff6c --- /dev/null +++ b/tests/truncate.at @@ -0,0 +1,52 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- + +# Test suite for GNU tar. +# Copyright 2005, 2007, 2013-2014, 2016 Free Software Foundation, Inc. + +# This file is part of GNU tar. + +# GNU tar 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 of the License, or +# (at your option) any later version. + +# GNU tar 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/>. + +# Tar 1.15.1 incorrectly padded archive members that were truncated during +# archiving. +# References: <1115437005.8530.644529@goedel.fjf.gnu.de> +# http://lists.gnu.org/archive/html/bug-tar/2005-05/msg00008.html +# +# The test case is based on the script by Frank Heckenbach <frank@g-n-u.de> +# Additionally, the test verifies if tar exits with code 1 (file differs). + +AT_SETUP([truncate]) +AT_KEYWORDS([truncate filechange]) + +AT_TAR_CHECK([ +genfile --file foo --length 200k +genfile --file baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz +echo Exit status: $? +echo separator +genfile --file foo --seek 195k --length 5k --pattern=zeros +tar dvf bar], +[1], +[foo +baz +Exit status: 1 +separator +foo +foo: Mod time differs +baz +], +[tar: foo: File shrank by 5120 bytes; padding with zeros +]) + +AT_CLEANUP |