* ChangeLog.1, ChangeLog.CVS, Makefile.am, NEWS, README: * README-hacking, directory, doc/Makefile.am, doc/dumpdir.texi: * doc/gendocs_template, doc/intern.texi, doc/mastermenu.el: * doc/snapshot.texi, doc/sparse.texi, doc/tar-snapshot-edit.texi: * doc/value.texi, lib/Makefile.am, scripts/backup-specs: * scripts/dump-remind.in, scripts/tar-snapshot-edit, scripts/tarcat: * scripts/xsparse.c, src/arith.h, src/buffer.c, src/compare.c: * src/create.c, src/delete.c, src/exit.c, src/suffix.c, src/tar.c: * src/tar.h, src/update.c, src/warning.c, src/xheader.c: * tests/append01.at, tests/append02.at, tests/atlocal.in: * tests/delete03.at, tests/exclude.at, tests/exclude06.at: * tests/extrac04.at, tests/extrac05.at, tests/extrac06.at: * tests/extrac07.at, tests/filerem01.at, tests/filerem02.at: * tests/incr01.at, tests/incr02.at, tests/incr03.at, tests/incr06.at: * tests/label02.at, tests/label03.at, tests/label04.at: * tests/label05.at, tests/link02.at, tests/link03.at: * tests/listed01.at, tests/listed02.at, tests/long01.at: * tests/longv7.at, tests/multiv01.at, tests/multiv02.at: * tests/multiv03.at, tests/multiv05.at, tests/multiv06.at: * tests/multiv07.at, tests/multiv08.at, tests/options.at: * tests/options02.at, tests/remfiles03.at, tests/rename01.at: * tests/rename02.at, tests/rename03.at, tests/rename04.at: * tests/rename05.at, tests/same-order01.at, tests/same-order02.at: * tests/shortfile.at, tests/shortupd.at, tests/sparse01.at: * tests/sparse02.at, tests/sparsemv.at, tests/sparsemvp.at: * tests/star/README, tests/star/gtarfail2.at: * tests/star/multi-fail.at: * tests/star/pax-big-10g.at, tests/star/quicktest.sh: * tests/star/ustar-big-2g.at, tests/star/ustar-big-8g.at: * tests/update01.at, tests/update02.at, tests/volsize.at: * tests/volume.at: Remove trailing spaces and tabs from lines, and remove trailing empty lines from files. This makes it a bit easier to share code among coreutils and other projects that do this.
101 lines
2.9 KiB
Plaintext
101 lines
2.9 KiB
Plaintext
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
|
|
|
# Test suite for GNU tar.
|
|
# Copyright (C) 2009 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: when a file in a deep directory disappeared during creation
|
|
# of incremental dump, tar v. <1.23 would exit with TAREXIT_FAILURE (2).
|
|
# However, such events are quite common and don't necessarily constitute
|
|
# an error. Exiting with code 2 in such cases makes it impossible to
|
|
# distinguish serious errors from benign ones.
|
|
#
|
|
# Starting from tar 1.22.90, tar exits with TAREXIT_DIFFERS (1)
|
|
# instead.
|
|
#
|
|
# Reported by: Solar Designer <solar@openwall.com>
|
|
#
|
|
# References: <20090228235820.GA13362@openwall.com>
|
|
# http://lists.gnu.org/archive/html/bug-tar/2009-03/msg00000.html
|
|
#
|
|
|
|
AT_SETUP([file removed as we read it (ca. 22 seconds)])
|
|
AT_KEYWORDS([create incremental filechange filerem filerem01])
|
|
|
|
AT_TAR_CHECK([
|
|
mkdir dir
|
|
mkdir dir/sub
|
|
genfile --file dir/file1
|
|
genfile --file dir/sub/file2
|
|
|
|
genfile --run --checkpoint=3 --unlink dir/file1 -- \
|
|
tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \
|
|
--checkpoint-action='echo' -c -f archive.tar \
|
|
--listed-incremental db -v dir >/dev/null
|
|
],
|
|
[1],
|
|
[ignore],
|
|
[tar: dir: Directory is new
|
|
tar: dir/sub: Directory is new
|
|
tar: dir/file1: File removed before we read it
|
|
],[],[],[gnu, posix])
|
|
|
|
# Timing information:
|
|
#
|
|
# For -Hgnu the above command line takes about 8 seconds to execute and
|
|
# produces:
|
|
#
|
|
# tar: dir: Directory is new
|
|
# tar: dir/sub: Directory is new
|
|
# dir/
|
|
# tar: Write checkpoint 1
|
|
# tar: Write checkpoint 2
|
|
# dir/sub/
|
|
# tar: Write checkpoint 3
|
|
# tar: Write checkpoint 4
|
|
# dir/file1
|
|
# tar: Write checkpoint 5
|
|
# dir/sub/file2
|
|
# tar: Write checkpoint 6
|
|
# tar: Write checkpoint 7
|
|
# tar: Write checkpoint 8
|
|
#
|
|
# For -Hposix the above command line takes about 14 seconds to execute and
|
|
# produces:
|
|
#
|
|
# ./tar: dir: Directory is new
|
|
# ./tar: dir/sub: Directory is new
|
|
# dir/
|
|
# ./tar: Write checkpoint 1
|
|
# ./tar: Write checkpoint 2
|
|
# ./tar: Write checkpoint 3
|
|
# dir/sub/
|
|
# ./tar: Write checkpoint 4
|
|
# ./tar: Write checkpoint 5
|
|
# ./tar: Write checkpoint 6
|
|
# dir/file1
|
|
# ./tar: Write checkpoint 7
|
|
# ./tar: Write checkpoint 8
|
|
# ./tar: Write checkpoint 9
|
|
# dir/sub/file2
|
|
# ./tar: Write checkpoint 10
|
|
# ./tar: Write checkpoint 11
|
|
# ./tar: Write checkpoint 12
|
|
# ./tar: Write checkpoint 13
|
|
# ./tar: Write checkpoint 14
|
|
|
|
|
|
AT_CLEANUP
|