1# Process this file with autom4te to create testsuite. -*- Autotest -*-
2
3# Test suite for GNU tar.
4# Copyright 2007-2021 Free Software Foundation, Inc.
5
6# This file is part of GNU tar.
7
8# GNU tar is free software; you can redistribute it and/or modify
9# it under the terms of the GNU General Public License as published by
10# the Free Software Foundation; either version 3 of the License, or
11# (at your option) any later version.
12
13# GNU tar is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16# GNU General Public License for more details.
17
18# You should have received a copy of the GNU General Public License
19# along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
21# Test the functioning of --exclude-caches and --exclude-tag option families
22
23AT_SETUP([exclude])
24AT_KEYWORDS([exclude])
25
26AT_TAR_CHECK([
27AT_SORT_PREREQ
28
29mkdir dir
30echo blues > dir/blues
31echo jazz > dir/jazz
32mkdir dir/folk
33echo tagfile > dir/folk/tagfile
34echo sanjuan > dir/folk/sanjuan
35mkdir dir/rock
36echo "Signature: 8a477f597d28d172789f06886806bc55" > dir/rock/CACHEDIR.TAG
37echo "test" > dir/rock/file
38
39for option in exclude-caches exclude-caches-under exclude-caches-all
40do
41  echo OPTION $option
42  tar -cf archive.tar --$option -v dir 2>err | sort
43  cat err
44  echo ARCHIVE
45  tar tf archive.tar | sort
46done
47
48for option in exclude-tag exclude-tag-under exclude-tag-all
49do
50  echo OPTION $option
51  tar -cf archive.tar --${option}=tagfile -v dir 2>err | sort
52  cat err
53  echo ARCHIVE
54  tar tf archive.tar | sort
55done
56],
57[0],
58[OPTION exclude-caches
59dir/
60dir/blues
61dir/folk/
62dir/folk/sanjuan
63dir/folk/tagfile
64dir/jazz
65dir/rock/
66dir/rock/CACHEDIR.TAG
67tar: dir/rock/: contains a cache directory tag CACHEDIR.TAG; contents not dumped
68ARCHIVE
69dir/
70dir/blues
71dir/folk/
72dir/folk/sanjuan
73dir/folk/tagfile
74dir/jazz
75dir/rock/
76dir/rock/CACHEDIR.TAG
77OPTION exclude-caches-under
78dir/
79dir/blues
80dir/folk/
81dir/folk/sanjuan
82dir/folk/tagfile
83dir/jazz
84dir/rock/
85tar: dir/rock/: contains a cache directory tag CACHEDIR.TAG; contents not dumped
86ARCHIVE
87dir/
88dir/blues
89dir/folk/
90dir/folk/sanjuan
91dir/folk/tagfile
92dir/jazz
93dir/rock/
94OPTION exclude-caches-all
95dir/
96dir/blues
97dir/folk/
98dir/folk/sanjuan
99dir/folk/tagfile
100dir/jazz
101tar: dir/rock/: contains a cache directory tag CACHEDIR.TAG; directory not dumped
102ARCHIVE
103dir/
104dir/blues
105dir/folk/
106dir/folk/sanjuan
107dir/folk/tagfile
108dir/jazz
109OPTION exclude-tag
110dir/
111dir/blues
112dir/folk/
113dir/folk/tagfile
114dir/jazz
115dir/rock/
116dir/rock/CACHEDIR.TAG
117dir/rock/file
118tar: dir/folk/: contains a cache directory tag tagfile; contents not dumped
119ARCHIVE
120dir/
121dir/blues
122dir/folk/
123dir/folk/tagfile
124dir/jazz
125dir/rock/
126dir/rock/CACHEDIR.TAG
127dir/rock/file
128OPTION exclude-tag-under
129dir/
130dir/blues
131dir/folk/
132dir/jazz
133dir/rock/
134dir/rock/CACHEDIR.TAG
135dir/rock/file
136tar: dir/folk/: contains a cache directory tag tagfile; contents not dumped
137ARCHIVE
138dir/
139dir/blues
140dir/folk/
141dir/jazz
142dir/rock/
143dir/rock/CACHEDIR.TAG
144dir/rock/file
145OPTION exclude-tag-all
146dir/
147dir/blues
148dir/jazz
149dir/rock/
150dir/rock/CACHEDIR.TAG
151dir/rock/file
152tar: dir/folk/: contains a cache directory tag tagfile; directory not dumped
153ARCHIVE
154dir/
155dir/blues
156dir/jazz
157dir/rock/
158dir/rock/CACHEDIR.TAG
159dir/rock/file
160],
161[],[],[],[ustar])
162
163AT_CLEANUP
164