summaryrefslogtreecommitdiff
path: root/tests/exclude13.at
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2016-05-16 09:22:21 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2016-05-16 09:22:21 +0000
commitd4fdeab4db0d0e699c8fbbb07f12c4e1f64d0f94 (patch)
tree72231a38ed1cdd48ac6e02acb8b3917acb9dbcf4 /tests/exclude13.at
downloadtar-tarball-master.tar.gz
Diffstat (limited to 'tests/exclude13.at')
-rw-r--r--tests/exclude13.at73
1 files changed, 73 insertions, 0 deletions
diff --git a/tests/exclude13.at b/tests/exclude13.at
new file mode 100644
index 0000000..0bca131
--- /dev/null
+++ b/tests/exclude13.at
@@ -0,0 +1,73 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+#
+# Test suite for GNU tar.
+# Copyright 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/>.
+
+# The --exclude-tag options interacted incorrectly with --listed-incremental
+# since their very inception. The testcases exclude08 through exclude16
+# verify that --exclude-tag operates consistently whether or not
+# --listed-incremental option is given.
+#
+# This testcase verifies whether the --exclude-tag-under option works
+# as expected when used in conjunction with --listed-incremental.
+# If the exclusion tag is created after the level 0 dump, the level
+# 1 dump must skip the affected subdirectory and any previously-included
+# files within it, including the tag file, but preserve the directory
+# itself.
+#
+# Reported-by: Nathan Stratton Treadway <nathanst+bugtar@ontko.com>
+# Last-Affected-Version: 1.26
+# References: <20120528140419.GT2654@shire.ontko.com>,
+# <20130311210006.GA3732@shire.ontko.com>,
+# http://lists.gnu.org/archive/html/bug-tar/2012-06/msg00013.html
+
+AT_SETUP([--exclude-tag-under option in incremental pass])
+AT_KEYWORDS([exclude exclude-tag exclude-tag-under listed incremental exclude13])
+
+AT_TAR_CHECK([
+AT_SORT_PREREQ
+mkexcltest etest
+rm etest/subdir/excludeme
+decho "# Level 0"
+tar -c -f etest-0.tar --exclude-tag-under=excludeme --listed=snar-0 -v etest | sort
+touch etest/subdir/excludeme
+touch etest/subdir/otherfile
+
+decho "# Level 1"
+cp snar-0 snar-1
+tar -c -f etest-1.tar --exclude-tag-under=excludeme --listed=snar-1 -v etest | sort
+],
+[0],
+[# Level 0
+etest/
+etest/subdir/
+etest/subdir/subdir-file
+etest/top-level-file
+# Level 1
+etest/
+etest/subdir/
+],
+[# Level 0
+tar: etest: Directory is new
+tar: etest/subdir: Directory is new
+# Level 1
+tar: etest/subdir: contains a cache directory tag excludeme; contents not dumped
+],[],[],[gnu])
+
+AT_CLEANUP
+