1 | # Process this file with autom4te to create testsuite. -*- Autotest -*-
|
---|
2 |
|
---|
3 | # Test suite for GNU tar.
|
---|
4 | # Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
|
---|
5 |
|
---|
6 | # This program is free software; you can redistribute it and/or modify
|
---|
7 | # it under the terms of the GNU General Public License as published by
|
---|
8 | # the Free Software Foundation; either version 2, or (at your option)
|
---|
9 | # any later version.
|
---|
10 |
|
---|
11 | # This program is distributed in the hope that it will be useful,
|
---|
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
|
---|
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
---|
14 | # GNU General Public License for more details.
|
---|
15 |
|
---|
16 | # You should have received a copy of the GNU General Public License
|
---|
17 | # along with this program; if not, write to the Free Software
|
---|
18 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
---|
19 | # 02110-1301, USA.
|
---|
20 |
|
---|
21 | # We need a recent Autotest.
|
---|
22 | m4_version_prereq([2.52g])
|
---|
23 |
|
---|
24 | m4_define([AT_TAR_CHECK],[
|
---|
25 | AT_XFAIL_IF(test -f $[]XFAILFILE)
|
---|
26 | m4_foreach([FMT],
|
---|
27 | [m4_if([$7],[],[v7,oldgnu,ustar,posix,gnu],[$7])],
|
---|
28 | [AT_CHECK([
|
---|
29 | mkdir FMT
|
---|
30 | (cd FMT
|
---|
31 | TEST_TAR_FORMAT=FMT
|
---|
32 | export TEST_TAR_FORMAT
|
---|
33 | TAR_OPTIONS="-H FMT"
|
---|
34 | export TAR_OPTIONS
|
---|
35 | rm -rf *
|
---|
36 | $1)],$2,$3,$4,$5,$6)])
|
---|
37 | ])
|
---|
38 |
|
---|
39 | m4_define([RE_CHECK],[
|
---|
40 | AT_DATA([$1.re],[$2])
|
---|
41 | awk '{print NR " " $[]0}' $1 > $[]$.1
|
---|
42 | awk '{print NR " " $[]0}' $1.re | join - $[]$.1 |
|
---|
43 | while read NUM RE LINE
|
---|
44 | do
|
---|
45 | echo "$LINE" | grep -- "$RE" >/dev/null || exit 1
|
---|
46 | done
|
---|
47 | ])
|
---|
48 |
|
---|
49 | m4_define([AT_SKIP_TEST],[exit 77])
|
---|
50 |
|
---|
51 | dnl AT_TARBALL_PREREQ(tarball, md5sum) - Check if test tarball exists
|
---|
52 | dnl in $TEST_DATA_DIR. If it does not, try to download it from
|
---|
53 | dnl $TEST_DATA_URL. If download fails, or it the file's md5 sum does not
|
---|
54 | dnl match second argument, skip the test.
|
---|
55 |
|
---|
56 | m4_define([AT_TARBALL_PREREQ],[
|
---|
57 | test -z "$[]TEST_DATA_DIR" && AT_SKIP_TEST
|
---|
58 | tarball_prereq $1 $2 $[]TEST_DATA_DIR $[]TEST_DATA_URL || AT_SKIP_TEST])
|
---|
59 |
|
---|
60 | dnl AT_TARBALL_PREREQ(tarball, md5sum) - Same for star testfiles
|
---|
61 | m4_define([AT_STAR_PREREQ],[
|
---|
62 | test -z "$STAR_TESTSCRIPTS" && AT_SKIP_TEST
|
---|
63 | tarball_prereq $1 $2 $[]STAR_TESTSCRIPTS $[]STAR_DATA_URL || AT_SKIP_TEST
|
---|
64 | ])
|
---|
65 |
|
---|
66 | dnl AT_GZIP_PREREQ - Skip test unless gzip (or $1) is available
|
---|
67 | m4_define([AT_GZIP_PREREQ],[
|
---|
68 | cat /dev/null | m4_if([$1],[],gzip,[$1]) - > /dev/null 2>&1 || AT_SKIP_TEST
|
---|
69 | ])
|
---|
70 |
|
---|
71 | dnl AT_SORT_PREREQ - Skip test if sort utility outputs unwanted data on stderr
|
---|
72 | m4_define([AT_SORT_PREREQ],[
|
---|
73 | test -z "`sort < /dev/null 2>&1`" || AT_SKIP_TEST
|
---|
74 | ])
|
---|
75 |
|
---|
76 | dnl AT_UNPRIVILEGED_PREREQ - Skip test if running at root privileges
|
---|
77 | m4_define([AT_UNPRIVILEGED_PREREQ],[
|
---|
78 | echo "test" > $[]$
|
---|
79 | chmod 0 $[]$
|
---|
80 | cat $[]$ > /dev/null 2>&1
|
---|
81 | result=$?
|
---|
82 | rm -f $[]$
|
---|
83 | test $result -eq 0 && AT_SKIP_TEST
|
---|
84 | ])
|
---|
85 |
|
---|
86 | m4_define([AT_TAR_MKHIER],[
|
---|
87 | install-sh -d $1 >/dev/null
|
---|
88 | m4_if([$2],,,genfile --file [$1]/[$2])])
|
---|
89 |
|
---|
90 | m4_include([sparsemvp.at])
|
---|
91 |
|
---|
92 | AT_INIT
|
---|
93 |
|
---|
94 | AT_TESTED([tar])
|
---|
95 |
|
---|
96 | m4_include([version.at])
|
---|
97 |
|
---|
98 | m4_include([pipe.at])
|
---|
99 |
|
---|
100 | m4_include([options.at])
|
---|
101 | m4_include([options02.at])
|
---|
102 |
|
---|
103 | m4_include([T-empty.at])
|
---|
104 | m4_include([T-null.at])
|
---|
105 |
|
---|
106 | m4_include([indexfile.at])
|
---|
107 | m4_include([verbose.at])
|
---|
108 |
|
---|
109 | m4_include([append.at])
|
---|
110 | m4_include([append01.at])
|
---|
111 | m4_include([append02.at])
|
---|
112 |
|
---|
113 | m4_include([delete01.at])
|
---|
114 | m4_include([delete02.at])
|
---|
115 | m4_include([delete03.at])
|
---|
116 | m4_include([delete04.at])
|
---|
117 | m4_include([delete05.at])
|
---|
118 |
|
---|
119 | m4_include([extrac01.at])
|
---|
120 | m4_include([extrac02.at])
|
---|
121 | m4_include([extrac03.at])
|
---|
122 | m4_include([extrac04.at])
|
---|
123 | m4_include([extrac05.at])
|
---|
124 | m4_include([extrac06.at])
|
---|
125 | m4_include([extrac07.at])
|
---|
126 |
|
---|
127 | m4_include([gzip.at])
|
---|
128 |
|
---|
129 | m4_include([incremental.at])
|
---|
130 | m4_include([incr01.at])
|
---|
131 | m4_include([incr02.at])
|
---|
132 | m4_include([listed01.at])
|
---|
133 | m4_include([listed02.at])
|
---|
134 | m4_include([incr03.at])
|
---|
135 | m4_include([incr04.at])
|
---|
136 | m4_include([rename01.at])
|
---|
137 | m4_include([rename02.at])
|
---|
138 | m4_include([rename03.at])
|
---|
139 | m4_include([chtype.at])
|
---|
140 |
|
---|
141 | m4_include([ignfail.at])
|
---|
142 |
|
---|
143 | m4_include([link01.at])
|
---|
144 |
|
---|
145 | m4_include([longv7.at])
|
---|
146 | m4_include([long01.at])
|
---|
147 | m4_include([lustar01.at])
|
---|
148 | m4_include([lustar02.at])
|
---|
149 | m4_include([lustar03.at])
|
---|
150 |
|
---|
151 | m4_include([multiv01.at])
|
---|
152 | m4_include([multiv02.at])
|
---|
153 | m4_include([multiv03.at])
|
---|
154 | m4_include([multiv04.at])
|
---|
155 | m4_include([multiv05.at])
|
---|
156 |
|
---|
157 | m4_include([old.at])
|
---|
158 |
|
---|
159 | m4_include([recurse.at])
|
---|
160 |
|
---|
161 | m4_include([same-order01.at])
|
---|
162 | m4_include([same-order02.at])
|
---|
163 |
|
---|
164 | m4_include([shortrec.at])
|
---|
165 |
|
---|
166 | m4_include([sparse01.at])
|
---|
167 | m4_include([sparse02.at])
|
---|
168 | m4_include([sparse03.at])
|
---|
169 | m4_include([sparsemv.at])
|
---|
170 | m4_include([spmvp00.at])
|
---|
171 | m4_include([spmvp01.at])
|
---|
172 | m4_include([spmvp10.at])
|
---|
173 |
|
---|
174 | m4_include([update.at])
|
---|
175 |
|
---|
176 | m4_include([volume.at])
|
---|
177 | m4_include([volsize.at])
|
---|
178 |
|
---|
179 | m4_include([comprec.at])
|
---|
180 |
|
---|
181 | m4_include([truncate.at])
|
---|
182 | m4_include([grow.at])
|
---|
183 |
|
---|
184 | m4_include([star/gtarfail.at])
|
---|
185 | m4_include([star/gtarfail2.at])
|
---|
186 |
|
---|
187 | m4_include([star/multi-fail.at])
|
---|
188 |
|
---|
189 | m4_include([star/ustar-big-2g.at])
|
---|
190 | m4_include([star/ustar-big-8g.at])
|
---|
191 |
|
---|
192 | m4_include([star/pax-big-10g.at])
|
---|