summaryrefslogtreecommitdiff
path: root/tests/exclude.at
diff options
context:
space:
mode:
Diffstat (limited to 'tests/exclude.at')
-rw-r--r--tests/exclude.at163
1 files changed, 163 insertions, 0 deletions
diff --git a/tests/exclude.at b/tests/exclude.at
new file mode 100644
index 0000000..a29cdd1
--- /dev/null
+++ b/tests/exclude.at
@@ -0,0 +1,163 @@
+# Process this file with autom4te to create testsuite. -*- Autotest -*-
+
+# Test suite for GNU tar.
+# Copyright 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/>.
+
+# Test the functioning of --exclude-caches and --exclude-tag option families
+
+AT_SETUP([exclude])
+AT_KEYWORDS([exclude])
+
+AT_TAR_CHECK([
+AT_SORT_PREREQ
+
+mkdir dir
+echo blues > dir/blues
+echo jazz > dir/jazz
+mkdir dir/folk
+echo tagfile > dir/folk/tagfile
+echo sanjuan > dir/folk/sanjuan
+mkdir dir/rock
+echo "Signature: 8a477f597d28d172789f06886806bc55" > dir/rock/CACHEDIR.TAG
+echo "test" > dir/rock/file
+
+for option in exclude-caches exclude-caches-under exclude-caches-all
+do
+ echo OPTION $option
+ tar -cf archive.tar --$option -v dir 2>err | sort
+ cat err
+ echo ARCHIVE
+ tar tf archive.tar | sort
+done
+
+for option in exclude-tag exclude-tag-under exclude-tag-all
+do
+ echo OPTION $option
+ tar -cf archive.tar --${option}=tagfile -v dir 2>err | sort
+ cat err
+ echo ARCHIVE
+ tar tf archive.tar | sort
+done
+],
+[0],
+[OPTION exclude-caches
+dir/
+dir/blues
+dir/folk/
+dir/folk/sanjuan
+dir/folk/tagfile
+dir/jazz
+dir/rock/
+dir/rock/CACHEDIR.TAG
+tar: dir/rock/: contains a cache directory tag CACHEDIR.TAG; contents not dumped
+ARCHIVE
+dir/
+dir/blues
+dir/folk/
+dir/folk/sanjuan
+dir/folk/tagfile
+dir/jazz
+dir/rock/
+dir/rock/CACHEDIR.TAG
+OPTION exclude-caches-under
+dir/
+dir/blues
+dir/folk/
+dir/folk/sanjuan
+dir/folk/tagfile
+dir/jazz
+dir/rock/
+tar: dir/rock/: contains a cache directory tag CACHEDIR.TAG; contents not dumped
+ARCHIVE
+dir/
+dir/blues
+dir/folk/
+dir/folk/sanjuan
+dir/folk/tagfile
+dir/jazz
+dir/rock/
+OPTION exclude-caches-all
+dir/
+dir/blues
+dir/folk/
+dir/folk/sanjuan
+dir/folk/tagfile
+dir/jazz
+tar: dir/rock/: contains a cache directory tag CACHEDIR.TAG; directory not dumped
+ARCHIVE
+dir/
+dir/blues
+dir/folk/
+dir/folk/sanjuan
+dir/folk/tagfile
+dir/jazz
+OPTION exclude-tag
+dir/
+dir/blues
+dir/folk/
+dir/folk/tagfile
+dir/jazz
+dir/rock/
+dir/rock/CACHEDIR.TAG
+dir/rock/file
+tar: dir/folk/: contains a cache directory tag tagfile; contents not dumped
+ARCHIVE
+dir/
+dir/blues
+dir/folk/
+dir/folk/tagfile
+dir/jazz
+dir/rock/
+dir/rock/CACHEDIR.TAG
+dir/rock/file
+OPTION exclude-tag-under
+dir/
+dir/blues
+dir/folk/
+dir/jazz
+dir/rock/
+dir/rock/CACHEDIR.TAG
+dir/rock/file
+tar: dir/folk/: contains a cache directory tag tagfile; contents not dumped
+ARCHIVE
+dir/
+dir/blues
+dir/folk/
+dir/jazz
+dir/rock/
+dir/rock/CACHEDIR.TAG
+dir/rock/file
+OPTION exclude-tag-all
+dir/
+dir/blues
+dir/jazz
+dir/rock/
+dir/rock/CACHEDIR.TAG
+dir/rock/file
+tar: dir/folk/: contains a cache directory tag tagfile; directory not dumped
+ARCHIVE
+dir/
+dir/blues
+dir/jazz
+dir/rock/
+dir/rock/CACHEDIR.TAG
+dir/rock/file
+],
+[],[],[],[ustar])
+
+AT_CLEANUP