Version 1.31
[tar.git] / tests / Makefile.am
blob4750acb7209dbc1cff27d0b2bb2623db55d97aae
1 # Makefile for GNU tar regression tests.
3 # Copyright 1996-2019 Free Software Foundation, Inc.
5 # This file is part of GNU tar.
7 # GNU tar is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 3 of the License, or
10 # (at your option) any later version.
12 # GNU tar is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
20 EXTRA_DIST = $(TESTSUITE_AT) \
21   testsuite package.m4 star/README star/quicktest.sh \
22   compress.at.in
24 DISTCLEANFILES       = atconfig $(check_SCRIPTS)
25 MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE)
26 CLEANFILES =
28 ## ------------ ##
29 ## package.m4.  ##
30 ## ------------ ##
32 $(srcdir)/package.m4: $(top_srcdir)/configure.ac
33         {                                      \
34           echo '# Signature of the current package.'; \
35           echo 'm4_define([AT_PACKAGE_NAME],      [@PACKAGE_NAME@])'; \
36           echo 'm4_define([AT_PACKAGE_TARNAME],   [@PACKAGE_TARNAME@])'; \
37           echo 'm4_define([AT_PACKAGE_VERSION],   [@PACKAGE_VERSION@])'; \
38           echo 'm4_define([AT_PACKAGE_STRING],    [@PACKAGE_STRING@])'; \
39           echo 'm4_define([AT_PACKAGE_BUGREPORT], [@PACKAGE_BUGREPORT@])'; \
40         } >$(srcdir)/package.m4
44 ## ------------ ##
45 ## Test suite.  ##
46 ## ------------ ##
48 TESTSUITE_AT = \
49  testsuite.at\
50  T-cd.at\
51  T-dir00.at\
52  T-dir01.at\
53  T-empty.at\
54  T-null.at\
55  T-null2.at\
56  T-rec.at\
57  T-recurse.at\
58  T-zfile.at\
59  T-nonl.at\
60  T-mult.at\
61  T-nest.at\
62  add-file.at\
63  append.at\
64  append01.at\
65  append02.at\
66  append03.at\
67  append04.at\
68  append05.at\
69  backup01.at\
70  chtype.at\
71  comprec.at\
72  comperr.at\
73  compress-zstd.at\
74  compress-xz.at\
75  compress-bzip2.at\
76  compress-gzip.at\
77  compress-lzip.at\
78  compress-lzop.at\
79  delete01.at\
80  delete02.at\
81  delete03.at\
82  delete04.at\
83  delete05.at\
84  difflink.at\
85  exclude.at\
86  exclude01.at\
87  exclude02.at\
88  exclude03.at\
89  exclude04.at\
90  exclude05.at\
91  exclude06.at\
92  exclude07.at\
93  exclude08.at\
94  exclude09.at\
95  exclude10.at\
96  exclude11.at\
97  exclude12.at\
98  exclude13.at\
99  exclude14.at\
100  exclude15.at\
101  exclude16.at\
102  extrac01.at\
103  extrac02.at\
104  extrac03.at\
105  extrac04.at\
106  extrac05.at\
107  extrac06.at\
108  extrac07.at\
109  extrac08.at\
110  extrac09.at\
111  extrac10.at\
112  extrac11.at\
113  extrac12.at\
114  extrac13.at\
115  extrac14.at\
116  extrac15.at\
117  extrac16.at\
118  extrac17.at\
119  extrac18.at\
120  extrac19.at\
121  extrac20.at\
122  extrac21.at\
123  filerem01.at\
124  filerem02.at\
125  dirrem01.at\
126  dirrem02.at\
127  gzip.at\
128  grow.at\
129  incremental.at\
130  incr01.at\
131  incr02.at\
132  incr03.at\
133  incr04.at\
134  incr05.at\
135  incr06.at\
136  incr07.at\
137  incr08.at\
138  incr09.at\
139  incr10.at\
140  incr11.at\
141  indexfile.at\
142  ignfail.at\
143  label01.at\
144  label02.at\
145  label03.at\
146  label04.at\
147  label05.at\
148  link01.at\
149  link02.at\
150  link03.at\
151  link04.at\
152  listed01.at\
153  listed02.at\
154  listed03.at\
155  listed04.at\
156  listed05.at\
157  long01.at\
158  longv7.at\
159  lustar01.at\
160  lustar02.at\
161  lustar03.at\
162  map.at\
163  multiv01.at\
164  multiv02.at\
165  multiv03.at\
166  multiv04.at\
167  multiv05.at\
168  multiv06.at\
169  multiv07.at\
170  multiv08.at\
171  multiv09.at\
172  multiv10.at\
173  numeric.at\
174  old.at\
175  onetop01.at\
176  onetop02.at\
177  onetop03.at\
178  onetop04.at\
179  onetop05.at\
180  opcomp01.at\
181  opcomp02.at\
182  opcomp03.at\
183  opcomp04.at\
184  opcomp05.at\
185  opcomp06.at\
186  positional01.at\
187  positional02.at\
188  positional03.at\
189  options.at\
190  options02.at\
191  options03.at\
192  owner.at\
193  pipe.at\
194  recurse.at\
195  recurs02.at\
196  rename01.at\
197  rename02.at\
198  rename03.at\
199  rename04.at\
200  rename05.at\
201  remfiles01.at\
202  remfiles02.at\
203  remfiles03.at\
204  remfiles04a.at\
205  remfiles04b.at\
206  remfiles04c.at\
207  remfiles05a.at\
208  remfiles05b.at\
209  remfiles05c.at\
210  remfiles06a.at\
211  remfiles06b.at\
212  remfiles06c.at\
213  remfiles07a.at\
214  remfiles07b.at\
215  remfiles07c.at\
216  remfiles08a.at\
217  remfiles08b.at\
218  remfiles08c.at\
219  remfiles09a.at\
220  remfiles09b.at\
221  remfiles09c.at\
222  remfiles10.at\
223  same-order01.at\
224  same-order02.at\
225  shortfile.at\
226  shortupd.at\
227  shortrec.at\
228  sigpipe.at\
229  sparse01.at\
230  sparse02.at\
231  sparse03.at\
232  sparse04.at\
233  sparse05.at\
234  sparse06.at\
235  sparse07.at\
236  sparsemv.at\
237  sparsemvp.at\
238  spmvp00.at\
239  spmvp01.at\
240  spmvp10.at\
241  sptrcreat.at\
242  sptrdiff00.at\
243  sptrdiff01.at\
244  time01.at\
245  time02.at\
246  truncate.at\
247  update.at\
248  update01.at\
249  update02.at\
250  update03.at\
251  volsize.at\
252  volume.at\
253  verbose.at\
254  verify.at\
255  version.at\
256  xform-h.at\
257  xform01.at\
258  xform02.at\
259  xform03.at\
260  star/gtarfail.at\
261  star/gtarfail2.at\
262  star/multi-fail.at\
263  star/ustar-big-2g.at\
264  star/ustar-big-8g.at\
265  star/pax-big-10g.at\
266  xattr01.at\
267  xattr02.at\
268  xattr03.at\
269  xattr04.at\
270  xattr05.at\
271  xattr06.at\
272  xattr07.at\
273  acls01.at\
274  acls02.at\
275  acls03.at\
276  selnx01.at\
277  selacl01.at\
278  capabs_raw01.at
280 CLEANFILES += compress-zstd.at
281 compress-zstd.at: compress.at.in
282         $(AM_V_GEN)rm -rf $@ $@-t
283         $(AM_V_at)sed 's/@tool@/zstd/g;s/@suff@/zst/g;s/@suff2@/tzst/g;' \
284           $(srcdir)/compress.at.in > $@-t && chmod a-w $@-t && mv $@-t $@
286 CLEANFILES += compress-gzip.at
287 compress-gzip.at: compress.at.in
288         $(AM_V_GEN)rm -rf $@ $@-t
289         $(AM_V_at)sed 's/@tool@/gzip/g;s/@suff@/gz/g;s/@suff2@/tgz/g;' \
290           $(srcdir)/compress.at.in > $@-t && chmod a-w $@-t && mv $@-t $@
292 CLEANFILES += compress-xz.at
293 compress-xz.at: compress.at.in
294         $(AM_V_GEN)rm -rf $@ $@-t
295         $(AM_V_at)sed 's/@tool@/xz/g;s/@suff@/xz/g;s/@suff2@/txz/g;' \
296           $(srcdir)/compress.at.in > $@-t && chmod a-w $@-t && mv $@-t $@
298 CLEANFILES += compress-bzip2.at
299 compress-bzip2.at: compress.at.in
300         $(AM_V_GEN)rm -rf $@ $@-t
301         $(AM_V_at)sed 's/@tool@/bzip2/g;s/@suff@/bz2/g;s/@suff2@/tbz2/g;' \
302           $(srcdir)/compress.at.in > $@-t && chmod a-w $@-t && mv $@-t $@
304 CLEANFILES += compress-lzip.at
305 compress-lzip.at: compress.at.in
306         $(AM_V_GEN)rm -rf $@ $@-t
307         $(AM_V_at)sed 's/@tool@/lzip/g;s/@suff@/lz/g;s/@suff2@//g;' \
308           $(srcdir)/compress.at.in > $@-t && chmod a-w $@-t && mv $@-t $@
310 CLEANFILES += compress-lzop.at
311 compress-lzop.at: compress.at.in
312         $(AM_V_GEN)rm -rf $@ $@-t
313         $(AM_V_at)sed 's/@tool@/lzop/g;s/@suff@/lzo/g;s/@suff2@//g;' \
314           $(srcdir)/compress.at.in > $@-t && chmod a-w $@-t && mv $@-t $@
316 distclean-local:
317         -rm -rf download
319 TESTSUITE = $(srcdir)/testsuite
321 AUTOTEST = $(AUTOM4TE) --language=autotest
322 $(TESTSUITE): package.m4 $(TESTSUITE_AT)
323         $(AUTOTEST) -I $(srcdir) testsuite.at -o $@.tmp
324         mv $@.tmp $@
326 atconfig: $(top_builddir)/config.status
327         cd $(top_builddir) && ./config.status tests/$@
329 clean-local:
330         test ! -f $(TESTSUITE) || $(SHELL) $(TESTSUITE) --clean
332 check-local: atconfig atlocal $(TESTSUITE)
333         $(SHELL) $(TESTSUITE) $(TESTSUITEFLAGS)
335 check-full:
336         FULL_TEST=1 $(MAKE) check
338 #check_SCRIPTS = tar
340 # Run the test suite on the *installed* tree.
341 installcheck-local: $(check_PROGRAMS)
342         $(SHELL) $(TESTSUITE) $(TESTSUITEFLAGS) AUTOTEST_PATH=$(exec_prefix)/bin
345 ## ------------ ##
346 ## genfile      ##
347 ## ------------ ##
349 check_PROGRAMS = genfile checkseekhole ckmtime
351 genfile_SOURCES = genfile.c argcv.c argcv.h
352 checkseekhole_SOURCES = checkseekhole.c
354 localedir = $(datadir)/locale
355 AM_CPPFLAGS = \
356  -I$(top_srcdir)/gnu\
357  -I../gnu\
358  -I$(top_srcdir)/gnu\
359  -I$(top_srcdir)/lib\
360  -DLOCALEDIR=\"$(localedir)\"
362 LDADD = ../gnu/libgnu.a $(LIBINTL) $(LIB_CLOCK_GETTIME) $(LIB_EACCESS)