|
@@ -0,0 +1,62 @@
|
|
|
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
|
|
+
|
|
|
+# Test suite for GNU tar.
|
|
|
+# Copyright 2017 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/>.
|
|
|
+
|
|
|
+# Description:
|
|
|
+#
|
|
|
+# When a directory in a deep directory disappeared during creation
|
|
|
+# of incremental dump, tar <= 1.29 exits with TAREXIT_FAILURE (2).
|
|
|
+#
|
|
|
+# In case of files tar does not return TAREXIT_FAILURE, but instead
|
|
|
+# it prints a warning and exits with TAREXIT_DIFFERS.
|
|
|
+#
|
|
|
+# This test checks whether this behaviour is mimicked for directories, too.
|
|
|
+
|
|
|
+# Remark: This file is based on 'filerem01.at', which is the test-case for
|
|
|
+# a vanishing file.
|
|
|
+
|
|
|
+AT_SETUP([directory removed before reading])
|
|
|
+AT_KEYWORDS([create incremental listed dirchange dirrem dirrem01])
|
|
|
+
|
|
|
+AT_TAR_CHECK([
|
|
|
+mkdir dir
|
|
|
+mkdir dir/sub
|
|
|
+genfile --file dir/file1
|
|
|
+genfile --file dir/sub/file2
|
|
|
+
|
|
|
+case "$TEST_TAR_FORMAT" in
|
|
|
+posix) CPT=5;;
|
|
|
+gnu) CPT=3;;
|
|
|
+*) AT_SKIP_TEST
|
|
|
+esac
|
|
|
+
|
|
|
+genfile --run --checkpoint=$CPT --unlink dir/sub/file2 --unlink dir/sub -- \
|
|
|
+ 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/sub: File removed before we read it
|
|
|
+],[],[],[gnu,posix])
|
|
|
+
|
|
|
+AT_CLEANUP
|
|
|
+
|