1 | #! /bin/sh
|
---|
2 | #
|
---|
3 | # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
|
---|
4 | # Foundation, Inc.
|
---|
5 | # This test suite is free software; the Free Software Foundation gives
|
---|
6 | # unlimited permission to copy, distribute and modify it.
|
---|
7 | ## --------------------- ##
|
---|
8 | ## M4sh Initialization. ##
|
---|
9 | ## --------------------- ##
|
---|
10 |
|
---|
11 | # Be Bourne compatible
|
---|
12 | if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
|
---|
13 | emulate sh
|
---|
14 | NULLCMD=:
|
---|
15 | # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
|
---|
16 | # is contrary to our usage. Disable this feature.
|
---|
17 | alias -g '${1+"$@"}'='"$@"'
|
---|
18 | setopt NO_GLOB_SUBST
|
---|
19 | else
|
---|
20 | case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
|
---|
21 | fi
|
---|
22 | BIN_SH=xpg4; export BIN_SH # for Tru64
|
---|
23 | DUALCASE=1; export DUALCASE # for MKS sh
|
---|
24 |
|
---|
25 |
|
---|
26 | # PATH needs CR
|
---|
27 | # Avoid depending upon Character Ranges.
|
---|
28 | as_cr_letters='abcdefghijklmnopqrstuvwxyz'
|
---|
29 | as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
|
---|
30 | as_cr_Letters=$as_cr_letters$as_cr_LETTERS
|
---|
31 | as_cr_digits='0123456789'
|
---|
32 | as_cr_alnum=$as_cr_Letters$as_cr_digits
|
---|
33 |
|
---|
34 | # The user is always right.
|
---|
35 | if test "${PATH_SEPARATOR+set}" != set; then
|
---|
36 | echo "#! /bin/sh" >conf$$.sh
|
---|
37 | echo "exit 0" >>conf$$.sh
|
---|
38 | chmod +x conf$$.sh
|
---|
39 | if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
|
---|
40 | PATH_SEPARATOR=';'
|
---|
41 | else
|
---|
42 | PATH_SEPARATOR=:
|
---|
43 | fi
|
---|
44 | rm -f conf$$.sh
|
---|
45 | fi
|
---|
46 |
|
---|
47 | # Support unset when possible.
|
---|
48 | if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
|
---|
49 | as_unset=unset
|
---|
50 | else
|
---|
51 | as_unset=false
|
---|
52 | fi
|
---|
53 |
|
---|
54 |
|
---|
55 | # IFS
|
---|
56 | # We need space, tab and new line, in precisely that order. Quoting is
|
---|
57 | # there to prevent editors from complaining about space-tab.
|
---|
58 | # (If _AS_PATH_WALK were called with IFS unset, it would disable word
|
---|
59 | # splitting by setting IFS to empty value.)
|
---|
60 | as_nl='
|
---|
61 | '
|
---|
62 | IFS=" "" $as_nl"
|
---|
63 |
|
---|
64 | # Find who we are. Look in the path if we contain no directory separator.
|
---|
65 | case $0 in
|
---|
66 | *[\\/]* ) as_myself=$0 ;;
|
---|
67 | *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
---|
68 | for as_dir in $PATH
|
---|
69 | do
|
---|
70 | IFS=$as_save_IFS
|
---|
71 | test -z "$as_dir" && as_dir=.
|
---|
72 | test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
|
---|
73 | done
|
---|
74 | IFS=$as_save_IFS
|
---|
75 |
|
---|
76 | ;;
|
---|
77 | esac
|
---|
78 | # We did not find ourselves, most probably we were run as `sh COMMAND'
|
---|
79 | # in which case we are not to be found in the path.
|
---|
80 | if test "x$as_myself" = x; then
|
---|
81 | as_myself=$0
|
---|
82 | fi
|
---|
83 | if test ! -f "$as_myself"; then
|
---|
84 | echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
|
---|
85 | { (exit 1); exit 1; }
|
---|
86 | fi
|
---|
87 |
|
---|
88 | # Work around bugs in pre-3.0 UWIN ksh.
|
---|
89 | for as_var in ENV MAIL MAILPATH
|
---|
90 | do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
|
---|
91 | done
|
---|
92 | PS1='$ '
|
---|
93 | PS2='> '
|
---|
94 | PS4='+ '
|
---|
95 |
|
---|
96 | # NLS nuisances.
|
---|
97 | for as_var in \
|
---|
98 | LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
|
---|
99 | LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
|
---|
100 | LC_TELEPHONE LC_TIME
|
---|
101 | do
|
---|
102 | if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
|
---|
103 | eval $as_var=C; export $as_var
|
---|
104 | else
|
---|
105 | ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
|
---|
106 | fi
|
---|
107 | done
|
---|
108 |
|
---|
109 | # Required to use basename.
|
---|
110 | if expr a : '\(a\)' >/dev/null 2>&1 &&
|
---|
111 | test "X`expr 00001 : '.*\(...\)'`" = X001; then
|
---|
112 | as_expr=expr
|
---|
113 | else
|
---|
114 | as_expr=false
|
---|
115 | fi
|
---|
116 |
|
---|
117 | if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
|
---|
118 | as_basename=basename
|
---|
119 | else
|
---|
120 | as_basename=false
|
---|
121 | fi
|
---|
122 |
|
---|
123 |
|
---|
124 | # Name of the executable.
|
---|
125 | as_me=`$as_basename -- "$0" ||
|
---|
126 | $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
|
---|
127 | X"$0" : 'X\(//\)$' \| \
|
---|
128 | X"$0" : 'X\(/\)' \| . 2>/dev/null ||
|
---|
129 | echo X/"$0" |
|
---|
130 | sed '/^.*\/\([^/][^/]*\)\/*$/{
|
---|
131 | s//\1/
|
---|
132 | q
|
---|
133 | }
|
---|
134 | /^X\/\(\/\/\)$/{
|
---|
135 | s//\1/
|
---|
136 | q
|
---|
137 | }
|
---|
138 | /^X\/\(\/\).*/{
|
---|
139 | s//\1/
|
---|
140 | q
|
---|
141 | }
|
---|
142 | s/.*/./; q'`
|
---|
143 |
|
---|
144 | # CDPATH.
|
---|
145 | $as_unset CDPATH
|
---|
146 |
|
---|
147 |
|
---|
148 | if test "x$CONFIG_SHELL" = x; then
|
---|
149 | if (eval ":") 2>/dev/null; then
|
---|
150 | as_have_required=yes
|
---|
151 | else
|
---|
152 | as_have_required=no
|
---|
153 | fi
|
---|
154 |
|
---|
155 | if test $as_have_required = yes && (eval ":
|
---|
156 | (as_func_return () {
|
---|
157 | (exit \$1)
|
---|
158 | }
|
---|
159 | as_func_success () {
|
---|
160 | as_func_return 0
|
---|
161 | }
|
---|
162 | as_func_failure () {
|
---|
163 | as_func_return 1
|
---|
164 | }
|
---|
165 | as_func_ret_success () {
|
---|
166 | return 0
|
---|
167 | }
|
---|
168 | as_func_ret_failure () {
|
---|
169 | return 1
|
---|
170 | }
|
---|
171 |
|
---|
172 | exitcode=0
|
---|
173 | if as_func_success; then
|
---|
174 | :
|
---|
175 | else
|
---|
176 | exitcode=1
|
---|
177 | echo as_func_success failed.
|
---|
178 | fi
|
---|
179 |
|
---|
180 | if as_func_failure; then
|
---|
181 | exitcode=1
|
---|
182 | echo as_func_failure succeeded.
|
---|
183 | fi
|
---|
184 |
|
---|
185 | if as_func_ret_success; then
|
---|
186 | :
|
---|
187 | else
|
---|
188 | exitcode=1
|
---|
189 | echo as_func_ret_success failed.
|
---|
190 | fi
|
---|
191 |
|
---|
192 | if as_func_ret_failure; then
|
---|
193 | exitcode=1
|
---|
194 | echo as_func_ret_failure succeeded.
|
---|
195 | fi
|
---|
196 |
|
---|
197 | if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
|
---|
198 | :
|
---|
199 | else
|
---|
200 | exitcode=1
|
---|
201 | echo positional parameters were not saved.
|
---|
202 | fi
|
---|
203 |
|
---|
204 | test \$exitcode = 0) || { (exit 1); exit 1; }
|
---|
205 |
|
---|
206 | (
|
---|
207 | as_lineno_1=\$LINENO
|
---|
208 | as_lineno_2=\$LINENO
|
---|
209 | test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
|
---|
210 | test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
|
---|
211 | ") 2> /dev/null; then
|
---|
212 | :
|
---|
213 | else
|
---|
214 | as_candidate_shells=
|
---|
215 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
---|
216 | for as_dir in /usr/bin/posix$PATH_SEPARATOR/bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
|
---|
217 | do
|
---|
218 | IFS=$as_save_IFS
|
---|
219 | test -z "$as_dir" && as_dir=.
|
---|
220 | case $as_dir in
|
---|
221 | /*)
|
---|
222 | for as_base in sh bash ksh sh5; do
|
---|
223 | as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
|
---|
224 | done;;
|
---|
225 | esac
|
---|
226 | done
|
---|
227 | IFS=$as_save_IFS
|
---|
228 |
|
---|
229 |
|
---|
230 | for as_shell in $as_candidate_shells $SHELL; do
|
---|
231 | # Try only shells that exist, to save several forks.
|
---|
232 | if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
|
---|
233 | { ("$as_shell") 2> /dev/null <<\_ASEOF
|
---|
234 | # Be Bourne compatible
|
---|
235 | if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
|
---|
236 | emulate sh
|
---|
237 | NULLCMD=:
|
---|
238 | # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
|
---|
239 | # is contrary to our usage. Disable this feature.
|
---|
240 | alias -g '${1+"$@"}'='"$@"'
|
---|
241 | setopt NO_GLOB_SUBST
|
---|
242 | else
|
---|
243 | case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
|
---|
244 | fi
|
---|
245 | BIN_SH=xpg4; export BIN_SH # for Tru64
|
---|
246 | DUALCASE=1; export DUALCASE # for MKS sh
|
---|
247 |
|
---|
248 | :
|
---|
249 | _ASEOF
|
---|
250 | }; then
|
---|
251 | CONFIG_SHELL=$as_shell
|
---|
252 | as_have_required=yes
|
---|
253 | if { "$as_shell" 2> /dev/null <<\_ASEOF
|
---|
254 | # Be Bourne compatible
|
---|
255 | if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
|
---|
256 | emulate sh
|
---|
257 | NULLCMD=:
|
---|
258 | # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
|
---|
259 | # is contrary to our usage. Disable this feature.
|
---|
260 | alias -g '${1+"$@"}'='"$@"'
|
---|
261 | setopt NO_GLOB_SUBST
|
---|
262 | else
|
---|
263 | case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
|
---|
264 | fi
|
---|
265 | BIN_SH=xpg4; export BIN_SH # for Tru64
|
---|
266 | DUALCASE=1; export DUALCASE # for MKS sh
|
---|
267 |
|
---|
268 | :
|
---|
269 | (as_func_return () {
|
---|
270 | (exit $1)
|
---|
271 | }
|
---|
272 | as_func_success () {
|
---|
273 | as_func_return 0
|
---|
274 | }
|
---|
275 | as_func_failure () {
|
---|
276 | as_func_return 1
|
---|
277 | }
|
---|
278 | as_func_ret_success () {
|
---|
279 | return 0
|
---|
280 | }
|
---|
281 | as_func_ret_failure () {
|
---|
282 | return 1
|
---|
283 | }
|
---|
284 |
|
---|
285 | exitcode=0
|
---|
286 | if as_func_success; then
|
---|
287 | :
|
---|
288 | else
|
---|
289 | exitcode=1
|
---|
290 | echo as_func_success failed.
|
---|
291 | fi
|
---|
292 |
|
---|
293 | if as_func_failure; then
|
---|
294 | exitcode=1
|
---|
295 | echo as_func_failure succeeded.
|
---|
296 | fi
|
---|
297 |
|
---|
298 | if as_func_ret_success; then
|
---|
299 | :
|
---|
300 | else
|
---|
301 | exitcode=1
|
---|
302 | echo as_func_ret_success failed.
|
---|
303 | fi
|
---|
304 |
|
---|
305 | if as_func_ret_failure; then
|
---|
306 | exitcode=1
|
---|
307 | echo as_func_ret_failure succeeded.
|
---|
308 | fi
|
---|
309 |
|
---|
310 | if ( set x; as_func_ret_success y && test x = "$1" ); then
|
---|
311 | :
|
---|
312 | else
|
---|
313 | exitcode=1
|
---|
314 | echo positional parameters were not saved.
|
---|
315 | fi
|
---|
316 |
|
---|
317 | test $exitcode = 0) || { (exit 1); exit 1; }
|
---|
318 |
|
---|
319 | (
|
---|
320 | as_lineno_1=$LINENO
|
---|
321 | as_lineno_2=$LINENO
|
---|
322 | test "x$as_lineno_1" != "x$as_lineno_2" &&
|
---|
323 | test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
|
---|
324 |
|
---|
325 | _ASEOF
|
---|
326 | }; then
|
---|
327 | break
|
---|
328 | fi
|
---|
329 |
|
---|
330 | fi
|
---|
331 |
|
---|
332 | done
|
---|
333 |
|
---|
334 | if test "x$CONFIG_SHELL" != x; then
|
---|
335 | for as_var in BASH_ENV ENV
|
---|
336 | do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
|
---|
337 | done
|
---|
338 | export CONFIG_SHELL
|
---|
339 | exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
|
---|
340 | fi
|
---|
341 |
|
---|
342 |
|
---|
343 | if test $as_have_required = no; then
|
---|
344 | echo This script requires a shell more modern than all the
|
---|
345 | echo shells that I found on your system. Please install a
|
---|
346 | echo modern shell, or manually run the script under such a
|
---|
347 | echo shell if you do have one.
|
---|
348 | { (exit 1); exit 1; }
|
---|
349 | fi
|
---|
350 |
|
---|
351 |
|
---|
352 | fi
|
---|
353 |
|
---|
354 | fi
|
---|
355 |
|
---|
356 |
|
---|
357 |
|
---|
358 | (eval "as_func_return () {
|
---|
359 | (exit \$1)
|
---|
360 | }
|
---|
361 | as_func_success () {
|
---|
362 | as_func_return 0
|
---|
363 | }
|
---|
364 | as_func_failure () {
|
---|
365 | as_func_return 1
|
---|
366 | }
|
---|
367 | as_func_ret_success () {
|
---|
368 | return 0
|
---|
369 | }
|
---|
370 | as_func_ret_failure () {
|
---|
371 | return 1
|
---|
372 | }
|
---|
373 |
|
---|
374 | exitcode=0
|
---|
375 | if as_func_success; then
|
---|
376 | :
|
---|
377 | else
|
---|
378 | exitcode=1
|
---|
379 | echo as_func_success failed.
|
---|
380 | fi
|
---|
381 |
|
---|
382 | if as_func_failure; then
|
---|
383 | exitcode=1
|
---|
384 | echo as_func_failure succeeded.
|
---|
385 | fi
|
---|
386 |
|
---|
387 | if as_func_ret_success; then
|
---|
388 | :
|
---|
389 | else
|
---|
390 | exitcode=1
|
---|
391 | echo as_func_ret_success failed.
|
---|
392 | fi
|
---|
393 |
|
---|
394 | if as_func_ret_failure; then
|
---|
395 | exitcode=1
|
---|
396 | echo as_func_ret_failure succeeded.
|
---|
397 | fi
|
---|
398 |
|
---|
399 | if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
|
---|
400 | :
|
---|
401 | else
|
---|
402 | exitcode=1
|
---|
403 | echo positional parameters were not saved.
|
---|
404 | fi
|
---|
405 |
|
---|
406 | test \$exitcode = 0") || {
|
---|
407 | echo No shell found that supports shell functions.
|
---|
408 | echo Please tell autoconf@gnu.org about your system,
|
---|
409 | echo including any error possibly output before this
|
---|
410 | echo message
|
---|
411 | }
|
---|
412 |
|
---|
413 |
|
---|
414 |
|
---|
415 | as_lineno_1=$LINENO
|
---|
416 | as_lineno_2=$LINENO
|
---|
417 | test "x$as_lineno_1" != "x$as_lineno_2" &&
|
---|
418 | test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
|
---|
419 |
|
---|
420 | # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
|
---|
421 | # uniformly replaced by the line number. The first 'sed' inserts a
|
---|
422 | # line-number line after each line using $LINENO; the second 'sed'
|
---|
423 | # does the real work. The second script uses 'N' to pair each
|
---|
424 | # line-number line with the line containing $LINENO, and appends
|
---|
425 | # trailing '-' during substitution so that $LINENO is not a special
|
---|
426 | # case at line end.
|
---|
427 | # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
|
---|
428 | # scripts with optimization help from Paolo Bonzini. Blame Lee
|
---|
429 | # E. McMahon (1931-1989) for sed's syntax. :-)
|
---|
430 | sed -n '
|
---|
431 | p
|
---|
432 | /[$]LINENO/=
|
---|
433 | ' <$as_myself |
|
---|
434 | sed '
|
---|
435 | s/[$]LINENO.*/&-/
|
---|
436 | t lineno
|
---|
437 | b
|
---|
438 | :lineno
|
---|
439 | N
|
---|
440 | :loop
|
---|
441 | s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
|
---|
442 | t loop
|
---|
443 | s/-\n.*//
|
---|
444 | ' >$as_me.lineno &&
|
---|
445 | chmod +x "$as_me.lineno" ||
|
---|
446 | { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
|
---|
447 | { (exit 1); exit 1; }; }
|
---|
448 |
|
---|
449 | # Don't try to exec as it changes $[0], causing all sort of problems
|
---|
450 | # (the dirname of $[0] is not the place where we might find the
|
---|
451 | # original and so on. Autoconf is especially sensitive to this).
|
---|
452 | . "./$as_me.lineno"
|
---|
453 | # Exit status is that of the last command.
|
---|
454 | exit
|
---|
455 | }
|
---|
456 |
|
---|
457 |
|
---|
458 | if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
|
---|
459 | as_dirname=dirname
|
---|
460 | else
|
---|
461 | as_dirname=false
|
---|
462 | fi
|
---|
463 |
|
---|
464 | ECHO_C= ECHO_N= ECHO_T=
|
---|
465 | case `echo -n x` in
|
---|
466 | -n*)
|
---|
467 | case `echo 'x\c'` in
|
---|
468 | *c*) ECHO_T=' ';; # ECHO_T is single tab character.
|
---|
469 | *) ECHO_C='\c';;
|
---|
470 | esac;;
|
---|
471 | *)
|
---|
472 | ECHO_N='-n';;
|
---|
473 | esac
|
---|
474 |
|
---|
475 | if expr a : '\(a\)' >/dev/null 2>&1 &&
|
---|
476 | test "X`expr 00001 : '.*\(...\)'`" = X001; then
|
---|
477 | as_expr=expr
|
---|
478 | else
|
---|
479 | as_expr=false
|
---|
480 | fi
|
---|
481 |
|
---|
482 | rm -f conf$$ conf$$.exe conf$$.file
|
---|
483 | if test -d conf$$.dir; then
|
---|
484 | rm -f conf$$.dir/conf$$.file
|
---|
485 | else
|
---|
486 | rm -f conf$$.dir
|
---|
487 | mkdir conf$$.dir
|
---|
488 | fi
|
---|
489 | echo >conf$$.file
|
---|
490 | if ln -s conf$$.file conf$$ 2>/dev/null; then
|
---|
491 | as_ln_s='ln -s'
|
---|
492 | # ... but there are two gotchas:
|
---|
493 | # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
|
---|
494 | # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
|
---|
495 | # In both cases, we have to default to `cp -p'.
|
---|
496 | ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
|
---|
497 | as_ln_s='cp -p'
|
---|
498 | elif ln conf$$.file conf$$ 2>/dev/null; then
|
---|
499 | as_ln_s=ln
|
---|
500 | else
|
---|
501 | as_ln_s='cp -p'
|
---|
502 | fi
|
---|
503 | rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
|
---|
504 | rmdir conf$$.dir 2>/dev/null
|
---|
505 |
|
---|
506 | if mkdir -p . 2>/dev/null; then
|
---|
507 | as_mkdir_p=:
|
---|
508 | else
|
---|
509 | test -d ./-p && rmdir ./-p
|
---|
510 | as_mkdir_p=false
|
---|
511 | fi
|
---|
512 |
|
---|
513 | # Find out whether ``test -x'' works. Don't use a zero-byte file, as
|
---|
514 | # systems may use methods other than mode bits to determine executability.
|
---|
515 | cat >conf$$.file <<_ASEOF
|
---|
516 | #! /bin/sh
|
---|
517 | exit 0
|
---|
518 | _ASEOF
|
---|
519 | chmod +x conf$$.file
|
---|
520 | if test -x conf$$.file >/dev/null 2>&1; then
|
---|
521 | as_executable_p="test -x"
|
---|
522 | else
|
---|
523 | as_executable_p=:
|
---|
524 | fi
|
---|
525 | rm -f conf$$.file
|
---|
526 |
|
---|
527 | # Sed expression to map a string onto a valid CPP name.
|
---|
528 | as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
|
---|
529 |
|
---|
530 | # Sed expression to map a string onto a valid variable name.
|
---|
531 | as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
|
---|
532 |
|
---|
533 |
|
---|
534 |
|
---|
535 | SHELL=${CONFIG_SHELL-/bin/sh}
|
---|
536 |
|
---|
537 | # How were we run?
|
---|
538 | at_cli_args="$@"
|
---|
539 |
|
---|
540 | # Load the config file.
|
---|
541 | for at_file in atconfig atlocal
|
---|
542 | do
|
---|
543 | test -r $at_file || continue
|
---|
544 | . ./$at_file || { echo "$as_me: error: invalid content: $at_file" >&2
|
---|
545 | { (exit 1); exit 1; }; }
|
---|
546 | done
|
---|
547 |
|
---|
548 | # Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix:
|
---|
549 | : ${at_top_build_prefix=$at_top_builddir}
|
---|
550 |
|
---|
551 | # atconfig delivers names relative to the directory the test suite is
|
---|
552 | # in, but the groups themselves are run in testsuite-dir/group-dir.
|
---|
553 | if test -n "$at_top_srcdir"; then
|
---|
554 | builddir=../..
|
---|
555 | for at_dir in srcdir top_srcdir top_build_prefix
|
---|
556 | do
|
---|
557 | at_val=`eval echo '${'at_$at_dir'}'`
|
---|
558 | eval "$at_dir=\$at_val/../.."
|
---|
559 | done
|
---|
560 | fi
|
---|
561 |
|
---|
562 | # Not all shells have the 'times' builtin; the subshell is needed to make
|
---|
563 | # sure we discard the 'times: not found' message from the shell.
|
---|
564 | at_times_p=false
|
---|
565 | (times) >/dev/null 2>&1 && at_times_p=:
|
---|
566 |
|
---|
567 | # CLI Arguments to pass to the debugging scripts.
|
---|
568 | at_debug_args=
|
---|
569 | # -e sets to true
|
---|
570 | at_errexit_p=false
|
---|
571 | # Shall we be verbose?
|
---|
572 | at_verbose=:
|
---|
573 | at_quiet=echo
|
---|
574 |
|
---|
575 | # Shall we keep the debug scripts? Must be `:' when the suite is
|
---|
576 | # run by a debug script, so that the script doesn't remove itself.
|
---|
577 | at_debug_p=false
|
---|
578 | # Display help message?
|
---|
579 | at_help_p=false
|
---|
580 | # Display the version message?
|
---|
581 | at_version_p=false
|
---|
582 | # List test groups?
|
---|
583 | at_list_p=false
|
---|
584 | # Test groups to run
|
---|
585 | at_groups=
|
---|
586 |
|
---|
587 | # The directory we are in.
|
---|
588 | at_dir=`pwd`
|
---|
589 | # The directory the whole suite works in.
|
---|
590 | # Should be absolutely to let the user `cd' at will.
|
---|
591 | at_suite_dir=$at_dir/$as_me.dir
|
---|
592 | # The file containing the suite.
|
---|
593 | at_suite_log=$at_dir/$as_me.log
|
---|
594 | # The file containing the location of the last AT_CHECK.
|
---|
595 | at_check_line_file=$at_suite_dir/at-check-line
|
---|
596 | # The file containing the exit status of the last command.
|
---|
597 | at_status_file=$at_suite_dir/at-status
|
---|
598 | # The files containing the output of the tested commands.
|
---|
599 | at_stdout=$at_suite_dir/at-stdout
|
---|
600 | at_stder1=$at_suite_dir/at-stder1
|
---|
601 | at_stderr=$at_suite_dir/at-stderr
|
---|
602 | # The file containing dates.
|
---|
603 | at_times_file=$at_suite_dir/at-times
|
---|
604 |
|
---|
605 | # List of the tested programs.
|
---|
606 | at_tested='cpio'
|
---|
607 | # List of the all the test groups.
|
---|
608 | at_groups_all=' 1 2'
|
---|
609 | # As many question marks as there are digits in the last test group number.
|
---|
610 | # Used to normalize the test group numbers so that `ls' lists them in
|
---|
611 | # numerical order.
|
---|
612 | at_format='?'
|
---|
613 | # Description of all the test groups.
|
---|
614 | at_help_all='1;version.at:19;cpio version;;
|
---|
615 | 2;inout.at:19;basic functionality: copyin/copyout;;
|
---|
616 | '
|
---|
617 |
|
---|
618 | at_prev=
|
---|
619 | for at_option
|
---|
620 | do
|
---|
621 | # If the previous option needs an argument, assign it.
|
---|
622 | if test -n "$at_prev"; then
|
---|
623 | at_option=$at_prev=$at_option
|
---|
624 | at_prev=
|
---|
625 | fi
|
---|
626 |
|
---|
627 | case $at_option in
|
---|
628 | *=*) at_optarg=`expr "x$at_option" : 'x[^=]*=\(.*\)'` ;;
|
---|
629 | *) at_optarg= ;;
|
---|
630 | esac
|
---|
631 |
|
---|
632 | # Accept the important Cygnus configure options, so we can diagnose typos.
|
---|
633 |
|
---|
634 | case $at_option in
|
---|
635 | --help | -h )
|
---|
636 | at_help_p=:
|
---|
637 | ;;
|
---|
638 |
|
---|
639 | --list | -l )
|
---|
640 | at_list_p=:
|
---|
641 | ;;
|
---|
642 |
|
---|
643 | --version | -V )
|
---|
644 | at_version_p=:
|
---|
645 | ;;
|
---|
646 |
|
---|
647 | --clean | -c )
|
---|
648 | test -d "$at_suite_dir" &&
|
---|
649 | find "$at_suite_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
|
---|
650 | rm -f -r "$at_suite_dir" "$at_suite_log"
|
---|
651 | exit 0
|
---|
652 | ;;
|
---|
653 |
|
---|
654 | --debug | -d )
|
---|
655 | at_debug_p=:
|
---|
656 | ;;
|
---|
657 |
|
---|
658 | --errexit | -e )
|
---|
659 | at_debug_p=:
|
---|
660 | at_errexit_p=:
|
---|
661 | ;;
|
---|
662 |
|
---|
663 | --verbose | -v )
|
---|
664 | at_verbose=echo; at_quiet=:
|
---|
665 | ;;
|
---|
666 |
|
---|
667 | --trace | -x )
|
---|
668 | at_traceon='set -x'; at_traceoff='set +x'
|
---|
669 | ;;
|
---|
670 |
|
---|
671 | [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9])
|
---|
672 | at_groups="$at_groups$at_option "
|
---|
673 | ;;
|
---|
674 |
|
---|
675 | # Ranges
|
---|
676 | [0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-)
|
---|
677 | at_range_start=`echo $at_option |tr -d X-`
|
---|
678 | at_range=`echo " $at_groups_all " | \
|
---|
679 | sed -e 's/^.* \('$at_range_start' \)/\1/'`
|
---|
680 | at_groups="$at_groups$at_range "
|
---|
681 | ;;
|
---|
682 |
|
---|
683 | -[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9])
|
---|
684 | at_range_end=`echo $at_option |tr -d X-`
|
---|
685 | at_range=`echo " $at_groups_all " | \
|
---|
686 | sed -e 's/\( '$at_range_end'\) .*$/\1/'`
|
---|
687 | at_groups="$at_groups$at_range "
|
---|
688 | ;;
|
---|
689 |
|
---|
690 | [0-9]-[0-9] | [0-9]-[0-9][0-9] | [0-9]-[0-9][0-9][0-9] | \
|
---|
691 | [0-9]-[0-9][0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9] | \
|
---|
692 | [0-9][0-9]-[0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9][0-9][0-9] | \
|
---|
693 | [0-9][0-9][0-9]-[0-9][0-9][0-9] | \
|
---|
694 | [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] | \
|
---|
695 | [0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] )
|
---|
696 | at_range_start=`expr $at_option : '\(.*\)-'`
|
---|
697 | at_range_end=`expr $at_option : '.*-\(.*\)'`
|
---|
698 | if test $at_range_start -gt $at_range_end; then
|
---|
699 | at_tmp=$at_range_end
|
---|
700 | at_range_end=$at_range_start
|
---|
701 | at_range_start=$at_tmp
|
---|
702 | fi
|
---|
703 | at_range=`echo " $at_groups_all " | \
|
---|
704 | sed -e 's/^.*\( '$at_range_start' \)/\1/' \
|
---|
705 | -e 's/\( '$at_range_end'\) .*$/\1/'`
|
---|
706 | at_groups="$at_groups$at_range "
|
---|
707 | ;;
|
---|
708 |
|
---|
709 | # Keywords.
|
---|
710 | --keywords | -k )
|
---|
711 | at_prev=--keywords
|
---|
712 | ;;
|
---|
713 | --keywords=* )
|
---|
714 | at_groups_selected=$at_help_all
|
---|
715 | at_save_IFS=$IFS
|
---|
716 | IFS=,
|
---|
717 | set X $at_optarg
|
---|
718 | shift
|
---|
719 | IFS=$at_save_IFS
|
---|
720 | for at_keyword
|
---|
721 | do
|
---|
722 | at_invert=
|
---|
723 | case $at_keyword in
|
---|
724 | '!'*)
|
---|
725 | at_invert="-v"
|
---|
726 | at_keyword=`expr "X$at_keyword" : 'X!\(.*\)'`
|
---|
727 | ;;
|
---|
728 | esac
|
---|
729 | # It is on purpose that we match the test group titles too.
|
---|
730 | at_groups_selected=`echo "$at_groups_selected" |
|
---|
731 | grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"`
|
---|
732 | done
|
---|
733 | at_groups_selected=`echo "$at_groups_selected" | sed 's/;.*//'`
|
---|
734 | # Smash the newlines.
|
---|
735 | at_groups="$at_groups`echo $at_groups_selected` "
|
---|
736 | ;;
|
---|
737 |
|
---|
738 | *=*)
|
---|
739 | at_envvar=`expr "x$at_option" : 'x\([^=]*\)='`
|
---|
740 | # Reject names that are not valid shell variable names.
|
---|
741 | expr "x$at_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
|
---|
742 | { echo "$as_me: error: invalid variable name: $at_envvar" >&2
|
---|
743 | { (exit 1); exit 1; }; }
|
---|
744 | at_value=`echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"`
|
---|
745 | eval "$at_envvar='$at_value'"
|
---|
746 | export $at_envvar
|
---|
747 | # Propagate to debug scripts.
|
---|
748 | at_debug_args="$at_debug_args $at_envvar='$at_value'"
|
---|
749 | ;;
|
---|
750 |
|
---|
751 | *) echo "$as_me: invalid option: $at_option" >&2
|
---|
752 | echo "Try \`$0 --help' for more information." >&2
|
---|
753 | exit 1
|
---|
754 | ;;
|
---|
755 | esac
|
---|
756 | done
|
---|
757 |
|
---|
758 | # Selected test groups.
|
---|
759 | if test -z "$at_groups"; then
|
---|
760 | at_groups=$at_groups_all
|
---|
761 | else
|
---|
762 | # Sort the tests, removing duplicates:
|
---|
763 | at_groups=`echo $at_groups | tr ' ' "$as_nl" | sort -nu`
|
---|
764 | # and add banners. (Passing at_groups_all is tricky--see the comment
|
---|
765 | # starting with "Passing at_groups is tricky.")
|
---|
766 | at_groups=`echo "$at_groups$as_nl $at_groups_all" |
|
---|
767 | awk 'BEGIN { FS = "@" } # Effectively switch off field splitting.
|
---|
768 | /^$/ { next } # Ignore the empty line.
|
---|
769 | !/ / { groups++; selected[$ 0] = 1; next }
|
---|
770 | # The last line, containing at_groups_all.
|
---|
771 | {
|
---|
772 | n = split($ 0, a, " ")
|
---|
773 | # If there are several tests, select their banners:
|
---|
774 | if (groups > 1) {
|
---|
775 | for (i = 1; i <= n; i++) {
|
---|
776 | if (a[i] ~ /^banner-/)
|
---|
777 | banner = a[i]
|
---|
778 | else if (banner != "" && selected[a[i]] == 1)
|
---|
779 | selected[banner] = 1
|
---|
780 | }
|
---|
781 | }
|
---|
782 | for (i = 1; i <= n; i++)
|
---|
783 | if (selected[a[i]] == 1)
|
---|
784 | list = list " " a[i]
|
---|
785 | print list
|
---|
786 | }'`
|
---|
787 | fi
|
---|
788 |
|
---|
789 | # Help message.
|
---|
790 | if $at_help_p; then
|
---|
791 | cat <<_ATEOF
|
---|
792 | Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS]
|
---|
793 |
|
---|
794 | Run all the tests, or the selected TESTS, given by numeric ranges, and
|
---|
795 | save a detailed log file. Upon failure, create debugging scripts.
|
---|
796 |
|
---|
797 | You should not change environment variables unless explicitly passed
|
---|
798 | as command line arguments. Set \`AUTOTEST_PATH' to select the executables
|
---|
799 | to exercise. Each relative directory is expanded as build and source
|
---|
800 | directories relatively to the top level of this distribution. E.g.,
|
---|
801 |
|
---|
802 | $ $0 AUTOTEST_PATH=bin
|
---|
803 |
|
---|
804 | possibly amounts into
|
---|
805 |
|
---|
806 | PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH
|
---|
807 | _ATEOF
|
---|
808 | cat <<_ATEOF
|
---|
809 |
|
---|
810 | Operation modes:
|
---|
811 | -h, --help print the help message, then exit
|
---|
812 | -V, --version print version number, then exit
|
---|
813 | -c, --clean remove all the files this test suite might create and exit
|
---|
814 | -l, --list describes all the tests, or the selected TESTS
|
---|
815 | _ATEOF
|
---|
816 | cat <<_ATEOF
|
---|
817 |
|
---|
818 | Execution tuning:
|
---|
819 | -k, --keywords=KEYWORDS
|
---|
820 | select the tests matching all the comma-separated KEYWORDS
|
---|
821 | multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD
|
---|
822 | -e, --errexit abort as soon as a test fails; implies --debug
|
---|
823 | -v, --verbose force more detailed output
|
---|
824 | default for debugging scripts
|
---|
825 | -d, --debug inhibit clean up and top-level logging
|
---|
826 | default for debugging scripts
|
---|
827 | -x, --trace enable tests shell tracing
|
---|
828 | _ATEOF
|
---|
829 | cat <<_ATEOF
|
---|
830 |
|
---|
831 | Report bugs to <bug-cpio@gnu.org>.
|
---|
832 | _ATEOF
|
---|
833 | exit 0
|
---|
834 | fi
|
---|
835 |
|
---|
836 | # List of tests.
|
---|
837 | if $at_list_p; then
|
---|
838 | cat <<_ATEOF
|
---|
839 | GNU cpio 2.7 test suite test groups:
|
---|
840 |
|
---|
841 | NUM: FILE-NAME:LINE TEST-GROUP-NAME
|
---|
842 | KEYWORDS
|
---|
843 |
|
---|
844 | _ATEOF
|
---|
845 | # Passing at_groups is tricky. We cannot use it to form a literal string
|
---|
846 | # or regexp because of the limitation of AIX awk. And Solaris' awk
|
---|
847 | # doesn't grok more than 99 fields in a record, so we have to use `split'.
|
---|
848 | echo "$at_groups$as_nl$at_help_all" |
|
---|
849 | awk 'BEGIN { FS = ";" }
|
---|
850 | NR == 1 {
|
---|
851 | for (n = split($ 0, a, " "); n; n--) selected[a[n]] = 1
|
---|
852 | next
|
---|
853 | }
|
---|
854 | {
|
---|
855 | if (selected[$ 1]) {
|
---|
856 | printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3
|
---|
857 | if ($ 4) printf " %s\n", $ 4
|
---|
858 | }
|
---|
859 | }'
|
---|
860 | exit 0
|
---|
861 | fi
|
---|
862 | if $at_version_p; then
|
---|
863 | echo "$as_me (GNU cpio 2.7)"
|
---|
864 | cat <<\_ACEOF
|
---|
865 |
|
---|
866 | Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
|
---|
867 | Foundation, Inc.
|
---|
868 | This test suite is free software; the Free Software Foundation gives
|
---|
869 | unlimited permission to copy, distribute and modify it.
|
---|
870 | _ACEOF
|
---|
871 | exit 0
|
---|
872 | fi
|
---|
873 |
|
---|
874 | # Don't take risks: use only absolute directories in PATH.
|
---|
875 | #
|
---|
876 | # For stand-alone test suites, AUTOTEST_PATH is relative to `.'.
|
---|
877 | #
|
---|
878 | # For embedded test suites, AUTOTEST_PATH is relative to the top level
|
---|
879 | # of the package. Then expand it into build/src parts, since users
|
---|
880 | # may create executables in both places.
|
---|
881 | AUTOTEST_PATH=`echo $AUTOTEST_PATH | sed "s&:&$PATH_SEPARATOR&g"`
|
---|
882 | at_path=
|
---|
883 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
---|
884 | for as_dir in $AUTOTEST_PATH $PATH
|
---|
885 | do
|
---|
886 | IFS=$as_save_IFS
|
---|
887 | test -z "$as_dir" && as_dir=.
|
---|
888 | test -n "$at_path" && at_path=$at_path$PATH_SEPARATOR
|
---|
889 | case $as_dir in
|
---|
890 | [\\/]* | ?:[\\/]* )
|
---|
891 | at_path=$at_path$as_dir
|
---|
892 | ;;
|
---|
893 | * )
|
---|
894 | if test -z "$at_top_build_prefix"; then
|
---|
895 | # Stand-alone test suite.
|
---|
896 | at_path=$at_path$as_dir
|
---|
897 | else
|
---|
898 | # Embedded test suite.
|
---|
899 | at_path=$at_path$at_top_build_prefix$as_dir$PATH_SEPARATOR
|
---|
900 | at_path=$at_path$at_top_srcdir/$as_dir
|
---|
901 | fi
|
---|
902 | ;;
|
---|
903 | esac
|
---|
904 | done
|
---|
905 | IFS=$as_save_IFS
|
---|
906 |
|
---|
907 |
|
---|
908 | # Now build and simplify PATH.
|
---|
909 | #
|
---|
910 | # There might be directories that don't exist, but don't redirect
|
---|
911 | # builtins' (eg., cd) stderr directly: Ultrix's sh hates that.
|
---|
912 | PATH=
|
---|
913 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
---|
914 | for as_dir in $at_path
|
---|
915 | do
|
---|
916 | IFS=$as_save_IFS
|
---|
917 | test -z "$as_dir" && as_dir=.
|
---|
918 | as_dir=`(cd "$as_dir" && pwd) 2>/dev/null`
|
---|
919 | test -d "$as_dir" || continue
|
---|
920 | case $PATH in
|
---|
921 | $as_dir | \
|
---|
922 | $as_dir$PATH_SEPARATOR* | \
|
---|
923 | *$PATH_SEPARATOR$as_dir | \
|
---|
924 | *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR* ) ;;
|
---|
925 |
|
---|
926 | '') PATH=$as_dir ;;
|
---|
927 | *) PATH=$PATH$PATH_SEPARATOR$as_dir ;;
|
---|
928 | esac
|
---|
929 | done
|
---|
930 | IFS=$as_save_IFS
|
---|
931 |
|
---|
932 | export PATH
|
---|
933 |
|
---|
934 | # Setting up the FDs.
|
---|
935 | # 5 is the log file. Not to be overwritten if `-d'.
|
---|
936 |
|
---|
937 | if $at_debug_p; then
|
---|
938 | at_suite_log=/dev/null
|
---|
939 | else
|
---|
940 | : >"$at_suite_log"
|
---|
941 | fi
|
---|
942 | exec 5>>"$at_suite_log"
|
---|
943 |
|
---|
944 | # Banners and logs.
|
---|
945 | cat <<\_ASBOX
|
---|
946 | ## ------------------------ ##
|
---|
947 | ## GNU cpio 2.7 test suite. ##
|
---|
948 | ## ------------------------ ##
|
---|
949 | _ASBOX
|
---|
950 | {
|
---|
951 | cat <<\_ASBOX
|
---|
952 | ## ------------------------ ##
|
---|
953 | ## GNU cpio 2.7 test suite. ##
|
---|
954 | ## ------------------------ ##
|
---|
955 | _ASBOX
|
---|
956 | echo
|
---|
957 |
|
---|
958 | echo "$as_me: command line was:"
|
---|
959 | echo " $ $0 $at_cli_args"
|
---|
960 | echo
|
---|
961 |
|
---|
962 | # Try to find a few ChangeLogs in case it might help determining the
|
---|
963 | # exact version. Use the relative dir: if the top dir is a symlink,
|
---|
964 | # find will not follow it (and options to follow the links are not
|
---|
965 | # portable), which would result in no output here.
|
---|
966 | if test -n "$at_top_srcdir"; then
|
---|
967 | cat <<\_ASBOX
|
---|
968 | ## ----------- ##
|
---|
969 | ## ChangeLogs. ##
|
---|
970 | ## ----------- ##
|
---|
971 | _ASBOX
|
---|
972 | echo
|
---|
973 | for at_file in `find "$at_top_srcdir" -name ChangeLog -print`
|
---|
974 | do
|
---|
975 | echo "$as_me: $at_file:"
|
---|
976 | sed 's/^/| /;10q' $at_file
|
---|
977 | echo
|
---|
978 | done
|
---|
979 |
|
---|
980 | {
|
---|
981 | cat <<_ASUNAME
|
---|
982 | ## --------- ##
|
---|
983 | ## Platform. ##
|
---|
984 | ## --------- ##
|
---|
985 |
|
---|
986 | hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
|
---|
987 | uname -m = `(uname -m) 2>/dev/null || echo unknown`
|
---|
988 | uname -r = `(uname -r) 2>/dev/null || echo unknown`
|
---|
989 | uname -s = `(uname -s) 2>/dev/null || echo unknown`
|
---|
990 | uname -v = `(uname -v) 2>/dev/null || echo unknown`
|
---|
991 |
|
---|
992 | /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
|
---|
993 | /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
|
---|
994 |
|
---|
995 | /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
|
---|
996 | /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
|
---|
997 | /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
|
---|
998 | /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
|
---|
999 | /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
|
---|
1000 | /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
|
---|
1001 | /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
|
---|
1002 |
|
---|
1003 | _ASUNAME
|
---|
1004 |
|
---|
1005 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
---|
1006 | for as_dir in $PATH
|
---|
1007 | do
|
---|
1008 | IFS=$as_save_IFS
|
---|
1009 | test -z "$as_dir" && as_dir=.
|
---|
1010 | echo "PATH: $as_dir"
|
---|
1011 | done
|
---|
1012 | IFS=$as_save_IFS
|
---|
1013 |
|
---|
1014 | }
|
---|
1015 | echo
|
---|
1016 | fi
|
---|
1017 |
|
---|
1018 | # Contents of the config files.
|
---|
1019 | for at_file in atconfig atlocal
|
---|
1020 | do
|
---|
1021 | test -r $at_file || continue
|
---|
1022 | echo "$as_me: $at_file:"
|
---|
1023 | sed 's/^/| /' $at_file
|
---|
1024 | echo
|
---|
1025 | done
|
---|
1026 |
|
---|
1027 | cat <<\_ASBOX
|
---|
1028 | ## ---------------- ##
|
---|
1029 | ## Tested programs. ##
|
---|
1030 | ## ---------------- ##
|
---|
1031 | _ASBOX
|
---|
1032 | echo
|
---|
1033 | } >&5
|
---|
1034 |
|
---|
1035 | # Report what programs are being tested.
|
---|
1036 | for at_program in : $at_tested
|
---|
1037 | do
|
---|
1038 | test "$at_program" = : && continue
|
---|
1039 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
---|
1040 | for as_dir in $PATH
|
---|
1041 | do
|
---|
1042 | IFS=$as_save_IFS
|
---|
1043 | test -z "$as_dir" && as_dir=.
|
---|
1044 | test -f "$as_dir/$at_program" && break
|
---|
1045 | done
|
---|
1046 | IFS=$as_save_IFS
|
---|
1047 |
|
---|
1048 | if test -f "$as_dir/$at_program"; then
|
---|
1049 | {
|
---|
1050 | echo "$at_srcdir/testsuite.at:24: $as_dir/$at_program --version"
|
---|
1051 | "$as_dir/$at_program" --version
|
---|
1052 | echo
|
---|
1053 | } >&5 2>&1
|
---|
1054 | else
|
---|
1055 | { { echo "$as_me:$LINENO: error: cannot find $at_program" >&5
|
---|
1056 | echo "$as_me: error: cannot find $at_program" >&2;}
|
---|
1057 | { (exit 1); exit 1; }; }
|
---|
1058 | fi
|
---|
1059 | done
|
---|
1060 |
|
---|
1061 | {
|
---|
1062 | cat <<\_ASBOX
|
---|
1063 | ## ------------------ ##
|
---|
1064 | ## Running the tests. ##
|
---|
1065 | ## ------------------ ##
|
---|
1066 | _ASBOX
|
---|
1067 | } >&5
|
---|
1068 |
|
---|
1069 | at_start_date=`date`
|
---|
1070 | at_start_time=`date +%s 2>/dev/null`
|
---|
1071 | echo "$as_me: starting at: $at_start_date" >&5
|
---|
1072 | at_xpass_list=
|
---|
1073 | at_xfail_list=
|
---|
1074 | at_pass_list=
|
---|
1075 | at_fail_list=
|
---|
1076 | at_skip_list=
|
---|
1077 | at_group_count=0
|
---|
1078 |
|
---|
1079 | # Create the master directory if it doesn't already exist.
|
---|
1080 | test -d "$at_suite_dir" ||
|
---|
1081 | mkdir "$at_suite_dir" ||
|
---|
1082 | { { echo "$as_me:$LINENO: error: cannot create '$at_suite_dir'" >&5
|
---|
1083 | echo "$as_me: error: cannot create '$at_suite_dir'" >&2;}
|
---|
1084 | { (exit 1); exit 1; }; }
|
---|
1085 |
|
---|
1086 | # Can we diff with `/dev/null'? DU 5.0 refuses.
|
---|
1087 | if diff /dev/null /dev/null >/dev/null 2>&1; then
|
---|
1088 | at_devnull=/dev/null
|
---|
1089 | else
|
---|
1090 | at_devnull=$at_suite_dir/devnull
|
---|
1091 | >"$at_devnull"
|
---|
1092 | fi
|
---|
1093 |
|
---|
1094 | # Use `diff -u' when possible.
|
---|
1095 | if at_diff=`diff -u "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_diff"
|
---|
1096 | then
|
---|
1097 | at_diff='diff -u'
|
---|
1098 | else
|
---|
1099 | at_diff=diff
|
---|
1100 | fi
|
---|
1101 |
|
---|
1102 |
|
---|
1103 | for at_group in $at_groups
|
---|
1104 | do
|
---|
1105 | # Be sure to come back to the top test directory.
|
---|
1106 | cd "$at_suite_dir"
|
---|
1107 |
|
---|
1108 | case $at_group in
|
---|
1109 | banner-*)
|
---|
1110 | at_group_log=$at_suite_log
|
---|
1111 | ;;
|
---|
1112 |
|
---|
1113 | *)
|
---|
1114 | at_group_normalized=$at_group
|
---|
1115 |
|
---|
1116 | while :; do
|
---|
1117 | case $at_group_normalized in #(
|
---|
1118 | $at_format*) break;;
|
---|
1119 | esac
|
---|
1120 | at_group_normalized=0$at_group_normalized
|
---|
1121 | done
|
---|
1122 |
|
---|
1123 |
|
---|
1124 | # Create a fresh directory for the next test group, and enter.
|
---|
1125 | at_group_dir=$at_suite_dir/$at_group_normalized
|
---|
1126 | at_group_log=$at_group_dir/$as_me.log
|
---|
1127 | if test -d "$at_group_dir"; then
|
---|
1128 | find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
|
---|
1129 | rm -fr "$at_group_dir"
|
---|
1130 | fi
|
---|
1131 | # Be tolerant if the above `rm' was not able to remove the directory.
|
---|
1132 | { as_dir=$at_group_dir
|
---|
1133 | case $as_dir in #(
|
---|
1134 | -*) as_dir=./$as_dir;;
|
---|
1135 | esac
|
---|
1136 | test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
|
---|
1137 | as_dirs=
|
---|
1138 | while :; do
|
---|
1139 | case $as_dir in #(
|
---|
1140 | *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
|
---|
1141 | *) as_qdir=$as_dir;;
|
---|
1142 | esac
|
---|
1143 | as_dirs="'$as_qdir' $as_dirs"
|
---|
1144 | as_dir=`$as_dirname -- "$as_dir" ||
|
---|
1145 | $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
---|
1146 | X"$as_dir" : 'X\(//\)[^/]' \| \
|
---|
1147 | X"$as_dir" : 'X\(//\)$' \| \
|
---|
1148 | X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
|
---|
1149 | echo X"$as_dir" |
|
---|
1150 | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
---|
1151 | s//\1/
|
---|
1152 | q
|
---|
1153 | }
|
---|
1154 | /^X\(\/\/\)[^/].*/{
|
---|
1155 | s//\1/
|
---|
1156 | q
|
---|
1157 | }
|
---|
1158 | /^X\(\/\/\)$/{
|
---|
1159 | s//\1/
|
---|
1160 | q
|
---|
1161 | }
|
---|
1162 | /^X\(\/\).*/{
|
---|
1163 | s//\1/
|
---|
1164 | q
|
---|
1165 | }
|
---|
1166 | s/.*/./; q'`
|
---|
1167 | test -d "$as_dir" && break
|
---|
1168 | done
|
---|
1169 | test -z "$as_dirs" || eval "mkdir $as_dirs"
|
---|
1170 | } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
|
---|
1171 | echo "$as_me: error: cannot create directory $as_dir" >&2;}
|
---|
1172 | { (exit 1); exit 1; }; }; }
|
---|
1173 | cd $at_group_dir
|
---|
1174 | ;;
|
---|
1175 | esac
|
---|
1176 |
|
---|
1177 | echo 0 > "$at_status_file"
|
---|
1178 |
|
---|
1179 | # Clearly separate the test groups when verbose.
|
---|
1180 | test $at_group_count != 0 && $at_verbose
|
---|
1181 |
|
---|
1182 | # In verbose mode, append to the log file *and* show on
|
---|
1183 | # the standard output; in quiet mode only write to the log
|
---|
1184 | if test $at_verbose = echo; then
|
---|
1185 | at_tee_pipe='tee -a "$at_group_log"'
|
---|
1186 | else
|
---|
1187 | at_tee_pipe='cat >> "$at_group_log"'
|
---|
1188 | fi
|
---|
1189 |
|
---|
1190 | case $at_group in
|
---|
1191 | 1 ) # 1. version.at:19: cpio version
|
---|
1192 | at_setup_line='version.at:19'
|
---|
1193 | at_desc='cpio version'
|
---|
1194 | $at_quiet $ECHO_N " 1: cpio version $ECHO_C"
|
---|
1195 | at_xfail=no
|
---|
1196 | echo "# -*- compilation -*-" >> "$at_group_log"
|
---|
1197 | (
|
---|
1198 | echo "1. version.at:19: testing ..."
|
---|
1199 | $at_traceon
|
---|
1200 |
|
---|
1201 |
|
---|
1202 | $at_traceoff
|
---|
1203 | echo "$at_srcdir/version.at:31: cpio --version"
|
---|
1204 | echo version.at:31 >"$at_check_line_file"
|
---|
1205 |
|
---|
1206 | at_trace_this=
|
---|
1207 | if test -n "$at_traceon"; then
|
---|
1208 | at_trace_this=yes
|
---|
1209 | fi
|
---|
1210 |
|
---|
1211 | if test -n "$at_trace_this"; then
|
---|
1212 | ( $at_traceon; cpio --version ) >"$at_stdout" 2>"$at_stder1"
|
---|
1213 | at_status=$?
|
---|
1214 | grep '^ *+' "$at_stder1" >&2
|
---|
1215 | grep -v '^ *+' "$at_stder1" >"$at_stderr"
|
---|
1216 | else
|
---|
1217 | ( :; cpio --version ) >"$at_stdout" 2>"$at_stderr"
|
---|
1218 | at_status=$?
|
---|
1219 | fi
|
---|
1220 |
|
---|
1221 | at_failed=false
|
---|
1222 | $at_diff "$at_devnull" "$at_stderr" || at_failed=:
|
---|
1223 | echo >>"$at_stdout"; echo "cpio (GNU cpio) 2.7
|
---|
1224 | " | $at_diff - "$at_stdout" || at_failed=:
|
---|
1225 | case $at_status in
|
---|
1226 | 77) echo 77 > "$at_status_file"; exit 77;;
|
---|
1227 | 0) ;;
|
---|
1228 | *) echo "$at_srcdir/version.at:31: exit code was $at_status, expected 0"
|
---|
1229 | at_failed=:;;
|
---|
1230 | esac
|
---|
1231 | if $at_failed; then
|
---|
1232 |
|
---|
1233 |
|
---|
1234 | echo 1 > "$at_status_file"
|
---|
1235 | exit 1
|
---|
1236 | else
|
---|
1237 |
|
---|
1238 | echo '=============================================================='
|
---|
1239 | echo 'WARNING: Not using the proper version, *all* checks dubious...'
|
---|
1240 | echo '=============================================================='
|
---|
1241 |
|
---|
1242 | fi
|
---|
1243 |
|
---|
1244 | $at_traceon
|
---|
1245 |
|
---|
1246 |
|
---|
1247 | $at_traceoff
|
---|
1248 | $at_times_p && times >"$at_times_file"
|
---|
1249 | ) 5>&1 2>&1 | eval $at_tee_pipe
|
---|
1250 | at_status=`cat "$at_status_file"`
|
---|
1251 | ;;
|
---|
1252 |
|
---|
1253 | 2 ) # 2. inout.at:19: basic functionality: copyin/copyout
|
---|
1254 | at_setup_line='inout.at:19'
|
---|
1255 | at_desc='basic functionality: copyin/copyout'
|
---|
1256 | $at_quiet $ECHO_N " 2: basic functionality: copyin/copyout $ECHO_C"
|
---|
1257 | at_xfail=no
|
---|
1258 | echo "# -*- compilation -*-" >> "$at_group_log"
|
---|
1259 | (
|
---|
1260 | echo "2. inout.at:19: testing ..."
|
---|
1261 | $at_traceon
|
---|
1262 |
|
---|
1263 |
|
---|
1264 | cat >filelist <<'_ATEOF'
|
---|
1265 | a 18
|
---|
1266 | b 1024
|
---|
1267 | c 356
|
---|
1268 | d 20000
|
---|
1269 | e 3
|
---|
1270 | f 0
|
---|
1271 | g 10658
|
---|
1272 | h 45
|
---|
1273 | _ATEOF
|
---|
1274 |
|
---|
1275 |
|
---|
1276 | $at_traceoff
|
---|
1277 | echo "$at_srcdir/inout.at:37:
|
---|
1278 | while read NAME LENGTH
|
---|
1279 | do
|
---|
1280 | genfile --length \$LENGTH > \$NAME
|
---|
1281 | echo \$NAME
|
---|
1282 | done < filelist |
|
---|
1283 | cpio --quiet -o > archive"
|
---|
1284 | echo inout.at:37 >"$at_check_line_file"
|
---|
1285 |
|
---|
1286 | at_trace_this=
|
---|
1287 | if test -n "$at_traceon"; then
|
---|
1288 | echo 'Not enabling shell tracing (command contains an embedded newline)'
|
---|
1289 | fi
|
---|
1290 |
|
---|
1291 | if test -n "$at_trace_this"; then
|
---|
1292 | ( $at_traceon;
|
---|
1293 | while read NAME LENGTH
|
---|
1294 | do
|
---|
1295 | genfile --length $LENGTH > $NAME
|
---|
1296 | echo $NAME
|
---|
1297 | done < filelist |
|
---|
1298 | cpio --quiet -o > archive ) >"$at_stdout" 2>"$at_stder1"
|
---|
1299 | at_status=$?
|
---|
1300 | grep '^ *+' "$at_stder1" >&2
|
---|
1301 | grep -v '^ *+' "$at_stder1" >"$at_stderr"
|
---|
1302 | else
|
---|
1303 | ( :;
|
---|
1304 | while read NAME LENGTH
|
---|
1305 | do
|
---|
1306 | genfile --length $LENGTH > $NAME
|
---|
1307 | echo $NAME
|
---|
1308 | done < filelist |
|
---|
1309 | cpio --quiet -o > archive ) >"$at_stdout" 2>"$at_stderr"
|
---|
1310 | at_status=$?
|
---|
1311 | fi
|
---|
1312 |
|
---|
1313 | at_failed=false
|
---|
1314 | $at_diff "$at_devnull" "$at_stderr" || at_failed=:
|
---|
1315 | $at_diff "$at_devnull" "$at_stdout" || at_failed=:
|
---|
1316 | case $at_status in
|
---|
1317 | 77) echo 77 > "$at_status_file"; exit 77;;
|
---|
1318 | 0) ;;
|
---|
1319 | *) echo "$at_srcdir/inout.at:37: exit code was $at_status, expected 0"
|
---|
1320 | at_failed=:;;
|
---|
1321 | esac
|
---|
1322 | if $at_failed; then
|
---|
1323 |
|
---|
1324 |
|
---|
1325 | echo 1 > "$at_status_file"
|
---|
1326 | exit 1
|
---|
1327 | fi
|
---|
1328 |
|
---|
1329 | $at_traceon
|
---|
1330 |
|
---|
1331 |
|
---|
1332 | $at_traceoff
|
---|
1333 | $at_times_p && times >"$at_times_file"
|
---|
1334 | ) 5>&1 2>&1 | eval $at_tee_pipe
|
---|
1335 | at_status=`cat "$at_status_file"`
|
---|
1336 | ;;
|
---|
1337 |
|
---|
1338 |
|
---|
1339 | * )
|
---|
1340 | echo "$as_me: no such test group: $at_group" >&2
|
---|
1341 | continue
|
---|
1342 | ;;
|
---|
1343 | esac
|
---|
1344 |
|
---|
1345 | # Be sure to come back to the suite directory, in particular
|
---|
1346 | # since below we might `rm' the group directory we are in currently.
|
---|
1347 | cd "$at_suite_dir"
|
---|
1348 |
|
---|
1349 | case $at_group in
|
---|
1350 | banner-*) ;;
|
---|
1351 | *)
|
---|
1352 | if test ! -f "$at_check_line_file"; then
|
---|
1353 | sed "s/^ */$as_me: warning: /" <<_ATEOF
|
---|
1354 | A failure happened in a test group before any test could be
|
---|
1355 | run. This means that test suite is improperly designed. Please
|
---|
1356 | report this failure to <bug-cpio@gnu.org>.
|
---|
1357 | _ATEOF
|
---|
1358 | echo "$at_setup_line" >"$at_check_line_file"
|
---|
1359 | fi
|
---|
1360 | at_group_count=`expr 1 + $at_group_count`
|
---|
1361 | $at_verbose $ECHO_N "$at_group. $at_setup_line: $ECHO_C"
|
---|
1362 | echo $ECHO_N "$at_group. $at_setup_line: $ECHO_C" >> "$at_group_log"
|
---|
1363 | case $at_xfail:$at_status in
|
---|
1364 | yes:0)
|
---|
1365 | at_msg="UNEXPECTED PASS"
|
---|
1366 | at_xpass_list="$at_xpass_list $at_group"
|
---|
1367 | at_errexit=$at_errexit_p
|
---|
1368 | ;;
|
---|
1369 | no:0)
|
---|
1370 | at_msg="ok"
|
---|
1371 | at_pass_list="$at_pass_list $at_group"
|
---|
1372 | at_errexit=false
|
---|
1373 | ;;
|
---|
1374 | *:77)
|
---|
1375 | at_msg='skipped ('`cat "$at_check_line_file"`')'
|
---|
1376 | at_skip_list="$at_skip_list $at_group"
|
---|
1377 | at_errexit=false
|
---|
1378 | ;;
|
---|
1379 | yes:*)
|
---|
1380 | at_msg='expected failure ('`cat "$at_check_line_file"`')'
|
---|
1381 | at_xfail_list="$at_xfail_list $at_group"
|
---|
1382 | at_errexit=false
|
---|
1383 | ;;
|
---|
1384 | no:*)
|
---|
1385 | at_msg='FAILED ('`cat "$at_check_line_file"`')'
|
---|
1386 | at_fail_list="$at_fail_list $at_group"
|
---|
1387 | at_errexit=$at_errexit_p
|
---|
1388 | ;;
|
---|
1389 | esac
|
---|
1390 | # Make sure there is a separator even with long titles.
|
---|
1391 | echo " $at_msg"
|
---|
1392 | at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg"
|
---|
1393 | case $at_status in
|
---|
1394 | 0|77)
|
---|
1395 | # $at_times_file is only available if the group succeeded.
|
---|
1396 | # We're not including the group log, so the success message
|
---|
1397 | # is written in the global log separately. But we also
|
---|
1398 | # write to the group log in case they're using -d.
|
---|
1399 | if test -f "$at_times_file"; then
|
---|
1400 | at_log_msg="$at_log_msg ("`sed 1d "$at_times_file"`')'
|
---|
1401 | rm -f "$at_times_file"
|
---|
1402 | fi
|
---|
1403 | echo "$at_log_msg" >> "$at_group_log"
|
---|
1404 | echo "$at_log_msg" >&5
|
---|
1405 |
|
---|
1406 | # Cleanup the group directory, unless the user wants the files.
|
---|
1407 | if $at_debug_p ; then
|
---|
1408 | {
|
---|
1409 | echo "#! /bin/sh"
|
---|
1410 | echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\'''
|
---|
1411 | echo "cd '$at_dir'"
|
---|
1412 | echo 'exec ${CONFIG_SHELL-'"$SHELL"'}' "$0" \
|
---|
1413 | '-v -d' "$at_debug_args" "$at_group" '${1+"$@"}'
|
---|
1414 | echo 'exit 1'
|
---|
1415 | } >$at_group_dir/run
|
---|
1416 | chmod +x $at_group_dir/run
|
---|
1417 |
|
---|
1418 | elif test -d "$at_group_dir"; then
|
---|
1419 | find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
|
---|
1420 | rm -fr "$at_group_dir"
|
---|
1421 | fi
|
---|
1422 | ;;
|
---|
1423 | *)
|
---|
1424 | # Upon failure, include the log into the testsuite's global
|
---|
1425 | # log. The failure message is written in the group log. It
|
---|
1426 | # is later included in the global log.
|
---|
1427 | echo "$at_log_msg" >> "$at_group_log"
|
---|
1428 |
|
---|
1429 | # Upon failure, keep the group directory for autopsy, and
|
---|
1430 | # create the debugging script.
|
---|
1431 | {
|
---|
1432 | echo "#! /bin/sh"
|
---|
1433 | echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\'''
|
---|
1434 | echo "cd '$at_dir'"
|
---|
1435 | echo 'exec ${CONFIG_SHELL-'"$SHELL"'}' "$0" \
|
---|
1436 | '-v -d' "$at_debug_args" "$at_group" '${1+"$@"}'
|
---|
1437 | echo 'exit 1'
|
---|
1438 | } >$at_group_dir/run
|
---|
1439 | chmod +x $at_group_dir/run
|
---|
1440 |
|
---|
1441 | $at_errexit && break
|
---|
1442 | ;;
|
---|
1443 | esac
|
---|
1444 | ;;
|
---|
1445 | esac
|
---|
1446 | done
|
---|
1447 |
|
---|
1448 | # Back to the top directory.
|
---|
1449 | cd "$at_dir"
|
---|
1450 |
|
---|
1451 | # Compute the duration of the suite.
|
---|
1452 | at_stop_date=`date`
|
---|
1453 | at_stop_time=`date +%s 2>/dev/null`
|
---|
1454 | echo "$as_me: ending at: $at_stop_date" >&5
|
---|
1455 | case $at_start_time,$at_stop_time in
|
---|
1456 | [0-9]*,[0-9]*)
|
---|
1457 | at_duration_s=`expr $at_stop_time - $at_start_time`
|
---|
1458 | at_duration_m=`expr $at_duration_s / 60`
|
---|
1459 | at_duration_h=`expr $at_duration_m / 60`
|
---|
1460 | at_duration_s=`expr $at_duration_s % 60`
|
---|
1461 | at_duration_m=`expr $at_duration_m % 60`
|
---|
1462 | at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s"
|
---|
1463 | echo "$as_me: test suite duration: $at_duration" >&5
|
---|
1464 | ;;
|
---|
1465 | esac
|
---|
1466 |
|
---|
1467 | # Wrap up the test suite with summary statistics.
|
---|
1468 | at_skip_count=`set dummy $at_skip_list; shift; echo $#`
|
---|
1469 | at_fail_count=`set dummy $at_fail_list; shift; echo $#`
|
---|
1470 | at_xpass_count=`set dummy $at_xpass_list; shift; echo $#`
|
---|
1471 | at_xfail_count=`set dummy $at_xfail_list; shift; echo $#`
|
---|
1472 |
|
---|
1473 | at_run_count=`expr $at_group_count - $at_skip_count`
|
---|
1474 | at_unexpected_count=`expr $at_xpass_count + $at_fail_count`
|
---|
1475 | at_total_fail_count=`expr $at_xfail_count + $at_fail_count`
|
---|
1476 |
|
---|
1477 | echo
|
---|
1478 | cat <<\_ASBOX
|
---|
1479 | ## ------------- ##
|
---|
1480 | ## Test results. ##
|
---|
1481 | ## ------------- ##
|
---|
1482 | _ASBOX
|
---|
1483 | echo
|
---|
1484 | {
|
---|
1485 | echo
|
---|
1486 | cat <<\_ASBOX
|
---|
1487 | ## ------------- ##
|
---|
1488 | ## Test results. ##
|
---|
1489 | ## ------------- ##
|
---|
1490 | _ASBOX
|
---|
1491 | echo
|
---|
1492 | } >&5
|
---|
1493 |
|
---|
1494 | if test $at_run_count = 1; then
|
---|
1495 | at_result="1 test"
|
---|
1496 | at_were=was
|
---|
1497 | else
|
---|
1498 | at_result="$at_run_count tests"
|
---|
1499 | at_were=were
|
---|
1500 | fi
|
---|
1501 | if $at_errexit_p && test $at_unexpected_count != 0; then
|
---|
1502 | if test $at_xpass_count = 1; then
|
---|
1503 | at_result="$at_result $at_were run, one passed"
|
---|
1504 | else
|
---|
1505 | at_result="$at_result $at_were run, one failed"
|
---|
1506 | fi
|
---|
1507 | at_result="$at_result unexpectedly and inhibited subsequent tests."
|
---|
1508 | else
|
---|
1509 | # Don't you just love exponential explosion of the number of cases?
|
---|
1510 | case $at_xpass_count:$at_fail_count:$at_xfail_count in
|
---|
1511 | # So far, so good.
|
---|
1512 | 0:0:0) at_result="$at_result $at_were successful." ;;
|
---|
1513 | 0:0:*) at_result="$at_result behaved as expected." ;;
|
---|
1514 |
|
---|
1515 | # Some unexpected failures
|
---|
1516 | 0:*:0) at_result="$at_result $at_were run,
|
---|
1517 | $at_fail_count failed unexpectedly." ;;
|
---|
1518 |
|
---|
1519 | # Some failures, both expected and unexpected
|
---|
1520 | 0:*:1) at_result="$at_result $at_were run,
|
---|
1521 | $at_total_fail_count failed ($at_xfail_count expected failure)." ;;
|
---|
1522 | 0:*:*) at_result="$at_result $at_were run,
|
---|
1523 | $at_total_fail_count failed ($at_xfail_count expected failures)." ;;
|
---|
1524 |
|
---|
1525 | # No unexpected failures, but some xpasses
|
---|
1526 | *:0:*) at_result="$at_result $at_were run,
|
---|
1527 | $at_xpass_count passed unexpectedly." ;;
|
---|
1528 |
|
---|
1529 | # No expected failures, but failures and xpasses
|
---|
1530 | *:1:0) at_result="$at_result $at_were run,
|
---|
1531 | $at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;;
|
---|
1532 | *:*:0) at_result="$at_result $at_were run,
|
---|
1533 | $at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;;
|
---|
1534 |
|
---|
1535 | # All of them.
|
---|
1536 | *:*:1) at_result="$at_result $at_were run,
|
---|
1537 | $at_xpass_count passed unexpectedly,
|
---|
1538 | $at_total_fail_count failed ($at_xfail_count expected failure)." ;;
|
---|
1539 | *:*:*) at_result="$at_result $at_were run,
|
---|
1540 | $at_xpass_count passed unexpectedly,
|
---|
1541 | $at_total_fail_count failed ($at_xfail_count expected failures)." ;;
|
---|
1542 | esac
|
---|
1543 |
|
---|
1544 | if test $at_skip_count = 0 && test $at_run_count -gt 1; then
|
---|
1545 | at_result="All $at_result"
|
---|
1546 | fi
|
---|
1547 | fi
|
---|
1548 |
|
---|
1549 | # Now put skips in the mix.
|
---|
1550 | case $at_skip_count in
|
---|
1551 | 0) ;;
|
---|
1552 | 1) at_result="$at_result
|
---|
1553 | 1 test was skipped." ;;
|
---|
1554 | *) at_result="$at_result
|
---|
1555 | $at_skip_count tests were skipped." ;;
|
---|
1556 | esac
|
---|
1557 |
|
---|
1558 | if test $at_unexpected_count = 0; then
|
---|
1559 | echo "$at_result"
|
---|
1560 | echo "$at_result" >&5
|
---|
1561 | else
|
---|
1562 | echo "ERROR: $at_result" >&2
|
---|
1563 | echo "ERROR: $at_result" >&5
|
---|
1564 | {
|
---|
1565 | echo
|
---|
1566 | cat <<\_ASBOX
|
---|
1567 | ## ------------------------ ##
|
---|
1568 | ## Summary of the failures. ##
|
---|
1569 | ## ------------------------ ##
|
---|
1570 | _ASBOX
|
---|
1571 |
|
---|
1572 | # Summary of failed and skipped tests.
|
---|
1573 | if test $at_fail_count != 0; then
|
---|
1574 | echo "Failed tests:"
|
---|
1575 | $SHELL "$0" $at_fail_list --list
|
---|
1576 | echo
|
---|
1577 | fi
|
---|
1578 | if test $at_skip_count != 0; then
|
---|
1579 | echo "Skipped tests:"
|
---|
1580 | $SHELL "$0" $at_skip_list --list
|
---|
1581 | echo
|
---|
1582 | fi
|
---|
1583 | if test $at_xpass_count != 0; then
|
---|
1584 | echo "Unexpected passes:"
|
---|
1585 | $SHELL "$0" $at_xpass_list --list
|
---|
1586 | echo
|
---|
1587 | fi
|
---|
1588 | if test $at_fail_count != 0; then
|
---|
1589 | cat <<\_ASBOX
|
---|
1590 | ## ---------------------- ##
|
---|
1591 | ## Detailed failed tests. ##
|
---|
1592 | ## ---------------------- ##
|
---|
1593 | _ASBOX
|
---|
1594 | echo
|
---|
1595 | for at_group in $at_fail_list
|
---|
1596 | do
|
---|
1597 | at_group_normalized=$at_group
|
---|
1598 |
|
---|
1599 | while :; do
|
---|
1600 | case $at_group_normalized in #(
|
---|
1601 | $at_format*) break;;
|
---|
1602 | esac
|
---|
1603 | at_group_normalized=0$at_group_normalized
|
---|
1604 | done
|
---|
1605 |
|
---|
1606 | cat "$at_suite_dir/$at_group_normalized/$as_me.log"
|
---|
1607 | echo
|
---|
1608 | done
|
---|
1609 | echo
|
---|
1610 | fi
|
---|
1611 | if test -n "$at_top_srcdir"; then
|
---|
1612 | sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
|
---|
1613 | ## ${at_top_build_prefix}config.log ##
|
---|
1614 | _ASBOX
|
---|
1615 | sed 's/^/| /' ${at_top_build_prefix}config.log
|
---|
1616 | echo
|
---|
1617 | fi
|
---|
1618 | } >&5
|
---|
1619 |
|
---|
1620 | sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
|
---|
1621 | ## $as_me.log was created. ##
|
---|
1622 | _ASBOX
|
---|
1623 |
|
---|
1624 | echo
|
---|
1625 | echo "Please send \`${at_testdir+${at_testdir}/}$as_me.log' and all information you think might help:"
|
---|
1626 | echo
|
---|
1627 | echo " To: <bug-cpio@gnu.org>"
|
---|
1628 | echo " Subject: [GNU cpio 2.7] $as_me:$at_fail_list${at_fail_list:+ failed${at_xpass_list:+,}}$at_xpass_list${at_xpass_list:+ passed unexpectedly}"
|
---|
1629 | echo
|
---|
1630 | if test $at_debug_p = false; then
|
---|
1631 | echo
|
---|
1632 | echo 'You may investigate any problem if you feel able to do so, in which'
|
---|
1633 | echo 'case the test suite provides a good starting point. Its output may'
|
---|
1634 | echo "be found below \`${at_testdir+${at_testdir}/}$as_me.dir'."
|
---|
1635 | echo
|
---|
1636 | fi
|
---|
1637 | exit 1
|
---|
1638 | fi
|
---|
1639 |
|
---|
1640 | exit 0
|
---|
1641 |
|
---|
1642 |
|
---|
1643 |
|
---|