1#! /bin/sh 2# Generated from testsuite.at by GNU Autoconf 2.69. 3# 4# Copyright (C) 2009-2012 Free Software Foundation, Inc. 5# 6# This test suite is free software; the Free Software Foundation gives 7# unlimited permission to copy, distribute and modify it. 8## -------------------- ## 9## M4sh Initialization. ## 10## -------------------- ## 11 12# Be more Bourne compatible 13DUALCASE=1; export DUALCASE # for MKS sh 14if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : 15 emulate sh 16 NULLCMD=: 17 # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which 18 # is contrary to our usage. Disable this feature. 19 alias -g '${1+"$@"}'='"$@"' 20 setopt NO_GLOB_SUBST 21else 22 case `(set -o) 2>/dev/null` in #( 23 *posix*) : 24 set -o posix ;; #( 25 *) : 26 ;; 27esac 28fi 29 30 31as_nl=' 32' 33export as_nl 34# Printing a long string crashes Solaris 7 /usr/bin/printf. 35as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 36as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo 37as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo 38# Prefer a ksh shell builtin over an external printf program on Solaris, 39# but without wasting forks for bash or zsh. 40if test -z "$BASH_VERSION$ZSH_VERSION" \ 41 && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then 42 as_echo='print -r --' 43 as_echo_n='print -rn --' 44elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then 45 as_echo='printf %s\n' 46 as_echo_n='printf %s' 47else 48 if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then 49 as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' 50 as_echo_n='/usr/ucb/echo -n' 51 else 52 as_echo_body='eval expr "X$1" : "X\\(.*\\)"' 53 as_echo_n_body='eval 54 arg=$1; 55 case $arg in #( 56 *"$as_nl"*) 57 expr "X$arg" : "X\\(.*\\)$as_nl"; 58 arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; 59 esac; 60 expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" 61 ' 62 export as_echo_n_body 63 as_echo_n='sh -c $as_echo_n_body as_echo' 64 fi 65 export as_echo_body 66 as_echo='sh -c $as_echo_body as_echo' 67fi 68 69# The user is always right. 70if test "${PATH_SEPARATOR+set}" != set; then 71 PATH_SEPARATOR=: 72 (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { 73 (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || 74 PATH_SEPARATOR=';' 75 } 76fi 77 78 79# IFS 80# We need space, tab and new line, in precisely that order. Quoting is 81# there to prevent editors from complaining about space-tab. 82# (If _AS_PATH_WALK were called with IFS unset, it would disable word 83# splitting by setting IFS to empty value.) 84IFS=" "" $as_nl" 85 86# Find who we are. Look in the path if we contain no directory separator. 87as_myself= 88case $0 in #(( 89 *[\\/]* ) as_myself=$0 ;; 90 *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 91for as_dir in $PATH 92do 93 IFS=$as_save_IFS 94 test -z "$as_dir" && as_dir=. 95 test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break 96 done 97IFS=$as_save_IFS 98 99 ;; 100esac 101# We did not find ourselves, most probably we were run as `sh COMMAND' 102# in which case we are not to be found in the path. 103if test "x$as_myself" = x; then 104 as_myself=$0 105fi 106if test ! -f "$as_myself"; then 107 $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 108 exit 1 109fi 110 111# Unset variables that we do not need and which cause bugs (e.g. in 112# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" 113# suppresses any "Segmentation fault" message there. '((' could 114# trigger a bug in pdksh 5.2.14. 115for as_var in BASH_ENV ENV MAIL MAILPATH 116do eval test x\${$as_var+set} = xset \ 117 && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : 118done 119PS1='$ ' 120PS2='> ' 121PS4='+ ' 122 123# NLS nuisances. 124LC_ALL=C 125export LC_ALL 126LANGUAGE=C 127export LANGUAGE 128 129# CDPATH. 130(unset CDPATH) >/dev/null 2>&1 && unset CDPATH 131 132if test "x$CONFIG_SHELL" = x; then 133 as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : 134 emulate sh 135 NULLCMD=: 136 # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which 137 # is contrary to our usage. Disable this feature. 138 alias -g '\${1+\"\$@\"}'='\"\$@\"' 139 setopt NO_GLOB_SUBST 140else 141 case \`(set -o) 2>/dev/null\` in #( 142 *posix*) : 143 set -o posix ;; #( 144 *) : 145 ;; 146esac 147fi 148" 149 as_required="as_fn_return () { (exit \$1); } 150as_fn_success () { as_fn_return 0; } 151as_fn_failure () { as_fn_return 1; } 152as_fn_ret_success () { return 0; } 153as_fn_ret_failure () { return 1; } 154 155exitcode=0 156as_fn_success || { exitcode=1; echo as_fn_success failed.; } 157as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } 158as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } 159as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } 160if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : 161 162else 163 exitcode=1; echo positional parameters were not saved. 164fi 165test x\$exitcode = x0 || exit 1 166test -x / || exit 1" 167 as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO 168 as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO 169 eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && 170 test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 171test \$(( 1 + 1 )) = 2 || exit 1" 172 if (eval "$as_required") 2>/dev/null; then : 173 as_have_required=yes 174else 175 as_have_required=no 176fi 177 if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : 178 179else 180 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 181as_found=false 182for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH 183do 184 IFS=$as_save_IFS 185 test -z "$as_dir" && as_dir=. 186 as_found=: 187 case $as_dir in #( 188 /*) 189 for as_base in sh bash ksh sh5; do 190 # Try only shells that exist, to save several forks. 191 as_shell=$as_dir/$as_base 192 if { test -f "$as_shell" || test -f "$as_shell.exe"; } && 193 { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : 194 CONFIG_SHELL=$as_shell as_have_required=yes 195 if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : 196 break 2 197fi 198fi 199 done;; 200 esac 201 as_found=false 202done 203$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && 204 { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : 205 CONFIG_SHELL=$SHELL as_have_required=yes 206fi; } 207IFS=$as_save_IFS 208 209 210 if test "x$CONFIG_SHELL" != x; then : 211 export CONFIG_SHELL 212 # We cannot yet assume a decent shell, so we have to provide a 213# neutralization value for shells without unset; and this also 214# works around shells that cannot unset nonexistent variables. 215# Preserve -v and -x to the replacement shell. 216BASH_ENV=/dev/null 217ENV=/dev/null 218(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV 219case $- in # (((( 220 *v*x* | *x*v* ) as_opts=-vx ;; 221 *v* ) as_opts=-v ;; 222 *x* ) as_opts=-x ;; 223 * ) as_opts= ;; 224esac 225exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} 226# Admittedly, this is quite paranoid, since all the known shells bail 227# out after a failed `exec'. 228$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 229exit 255 230fi 231 232 if test x$as_have_required = xno; then : 233 $as_echo "$0: This script requires a shell more modern than all" 234 $as_echo "$0: the shells that I found on your system." 235 if test x${ZSH_VERSION+set} = xset ; then 236 $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" 237 $as_echo "$0: be upgraded to zsh 4.3.4 or later." 238 else 239 $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, 240$0: including any error possibly output before this 241$0: message. Then install a modern shell, or manually run 242$0: the script under such a shell if you do have one." 243 fi 244 exit 1 245fi 246fi 247fi 248SHELL=${CONFIG_SHELL-/bin/sh} 249export SHELL 250# Unset more variables known to interfere with behavior of common tools. 251CLICOLOR_FORCE= GREP_OPTIONS= 252unset CLICOLOR_FORCE GREP_OPTIONS 253 254## --------------------- ## 255## M4sh Shell Functions. ## 256## --------------------- ## 257# as_fn_unset VAR 258# --------------- 259# Portably unset VAR. 260as_fn_unset () 261{ 262 { eval $1=; unset $1;} 263} 264as_unset=as_fn_unset 265 266# as_fn_set_status STATUS 267# ----------------------- 268# Set $? to STATUS, without forking. 269as_fn_set_status () 270{ 271 return $1 272} # as_fn_set_status 273 274# as_fn_exit STATUS 275# ----------------- 276# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. 277as_fn_exit () 278{ 279 set +e 280 as_fn_set_status $1 281 exit $1 282} # as_fn_exit 283 284# as_fn_mkdir_p 285# ------------- 286# Create "$as_dir" as a directory, including parents if necessary. 287as_fn_mkdir_p () 288{ 289 290 case $as_dir in #( 291 -*) as_dir=./$as_dir;; 292 esac 293 test -d "$as_dir" || eval $as_mkdir_p || { 294 as_dirs= 295 while :; do 296 case $as_dir in #( 297 *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( 298 *) as_qdir=$as_dir;; 299 esac 300 as_dirs="'$as_qdir' $as_dirs" 301 as_dir=`$as_dirname -- "$as_dir" || 302$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ 303 X"$as_dir" : 'X\(//\)[^/]' \| \ 304 X"$as_dir" : 'X\(//\)$' \| \ 305 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || 306$as_echo X"$as_dir" | 307 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ 308 s//\1/ 309 q 310 } 311 /^X\(\/\/\)[^/].*/{ 312 s//\1/ 313 q 314 } 315 /^X\(\/\/\)$/{ 316 s//\1/ 317 q 318 } 319 /^X\(\/\).*/{ 320 s//\1/ 321 q 322 } 323 s/.*/./; q'` 324 test -d "$as_dir" && break 325 done 326 test -z "$as_dirs" || eval "mkdir $as_dirs" 327 } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" 328 329 330} # as_fn_mkdir_p 331 332# as_fn_executable_p FILE 333# ----------------------- 334# Test if FILE is an executable regular file. 335as_fn_executable_p () 336{ 337 test -f "$1" && test -x "$1" 338} # as_fn_executable_p 339# as_fn_append VAR VALUE 340# ---------------------- 341# Append the text in VALUE to the end of the definition contained in VAR. Take 342# advantage of any shell optimizations that allow amortized linear growth over 343# repeated appends, instead of the typical quadratic growth present in naive 344# implementations. 345if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : 346 eval 'as_fn_append () 347 { 348 eval $1+=\$2 349 }' 350else 351 as_fn_append () 352 { 353 eval $1=\$$1\$2 354 } 355fi # as_fn_append 356 357# as_fn_arith ARG... 358# ------------------ 359# Perform arithmetic evaluation on the ARGs, and store the result in the 360# global $as_val. Take advantage of shells that can avoid forks. The arguments 361# must be portable across $(()) and expr. 362if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : 363 eval 'as_fn_arith () 364 { 365 as_val=$(( $* )) 366 }' 367else 368 as_fn_arith () 369 { 370 as_val=`expr "$@" || test $? -eq 1` 371 } 372fi # as_fn_arith 373 374 375# as_fn_error STATUS ERROR [LINENO LOG_FD] 376# ---------------------------------------- 377# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are 378# provided, also output the error to LOG_FD, referencing LINENO. Then exit the 379# script with STATUS, using 1 if that was 0. 380as_fn_error () 381{ 382 as_status=$1; test $as_status -eq 0 && as_status=1 383 if test "$4"; then 384 as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 385 $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 386 fi 387 $as_echo "$as_me: error: $2" >&2 388 as_fn_exit $as_status 389} # as_fn_error 390 391if expr a : '\(a\)' >/dev/null 2>&1 && 392 test "X`expr 00001 : '.*\(...\)'`" = X001; then 393 as_expr=expr 394else 395 as_expr=false 396fi 397 398if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then 399 as_basename=basename 400else 401 as_basename=false 402fi 403 404as_me=`$as_basename -- "$0" || 405$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ 406 X"$0" : 'X\(//\)$' \| \ 407 X"$0" : 'X\(/\)' \| . 2>/dev/null || 408$as_echo X/"$0" | 409 sed '/^.*\/\([^/][^/]*\)\/*$/{ 410 s//\1/ 411 q 412 } 413 /^X\/\(\/\/\)$/{ 414 s//\1/ 415 q 416 } 417 /^X\/\(\/\).*/{ 418 s//\1/ 419 q 420 } 421 s/.*/./; q'` 422 423if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then 424 as_dirname=dirname 425else 426 as_dirname=false 427fi 428 429# Avoid depending upon Character Ranges. 430as_cr_letters='abcdefghijklmnopqrstuvwxyz' 431as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' 432as_cr_Letters=$as_cr_letters$as_cr_LETTERS 433as_cr_digits='0123456789' 434as_cr_alnum=$as_cr_Letters$as_cr_digits 435 436 437 as_lineno_1=$LINENO as_lineno_1a=$LINENO 438 as_lineno_2=$LINENO as_lineno_2a=$LINENO 439 eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && 440 test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { 441 # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) 442 sed -n ' 443 p 444 /[$]LINENO/= 445 ' <$as_myself | 446 sed ' 447 s/[$]LINENO.*/&-/ 448 t lineno 449 b 450 :lineno 451 N 452 :loop 453 s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ 454 t loop 455 s/-\n.*// 456 ' >$as_me.lineno && 457 chmod +x "$as_me.lineno" || 458 { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } 459 460 # If we had to re-execute with $CONFIG_SHELL, we're ensured to have 461 # already done that, so ensure we don't try to do so again and fall 462 # in an infinite loop. This has already happened in practice. 463 _as_can_reexec=no; export _as_can_reexec 464 # Don't try to exec as it changes $[0], causing all sort of problems 465 # (the dirname of $[0] is not the place where we might find the 466 # original and so on. Autoconf is especially sensitive to this). 467 . "./$as_me.lineno" 468 # Exit status is that of the last command. 469 exit 470} 471 472ECHO_C= ECHO_N= ECHO_T= 473case `echo -n x` in #((((( 474-n*) 475 case `echo 'xy\c'` in 476 *c*) ECHO_T=' ';; # ECHO_T is single tab character. 477 xy) ECHO_C='\c';; 478 *) echo `echo ksh88 bug on AIX 6.1` > /dev/null 479 ECHO_T=' ';; 480 esac;; 481*) 482 ECHO_N='-n';; 483esac 484 485rm -f conf$$ conf$$.exe conf$$.file 486if test -d conf$$.dir; then 487 rm -f conf$$.dir/conf$$.file 488else 489 rm -f conf$$.dir 490 mkdir conf$$.dir 2>/dev/null 491fi 492if (echo >conf$$.file) 2>/dev/null; then 493 if ln -s conf$$.file conf$$ 2>/dev/null; then 494 as_ln_s='ln -s' 495 # ... but there are two gotchas: 496 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. 497 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. 498 # In both cases, we have to default to `cp -pR'. 499 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || 500 as_ln_s='cp -pR' 501 elif ln conf$$.file conf$$ 2>/dev/null; then 502 as_ln_s=ln 503 else 504 as_ln_s='cp -pR' 505 fi 506else 507 as_ln_s='cp -pR' 508fi 509rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file 510rmdir conf$$.dir 2>/dev/null 511 512if mkdir -p . 2>/dev/null; then 513 as_mkdir_p='mkdir -p "$as_dir"' 514else 515 test -d ./-p && rmdir ./-p 516 as_mkdir_p=false 517fi 518 519as_test_x='test -x' 520as_executable_p=as_fn_executable_p 521 522# Sed expression to map a string onto a valid CPP name. 523as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" 524 525# Sed expression to map a string onto a valid variable name. 526as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" 527 528 529 530 531 532SHELL=${CONFIG_SHELL-/bin/sh} 533 534# How were we run? 535at_cli_args="$@" 536 537 538# Not all shells have the 'times' builtin; the subshell is needed to make 539# sure we discard the 'times: not found' message from the shell. 540at_times_p=false 541(times) >/dev/null 2>&1 && at_times_p=: 542 543# CLI Arguments to pass to the debugging scripts. 544at_debug_args= 545# -e sets to true 546at_errexit_p=false 547# Shall we be verbose? ':' means no, empty means yes. 548at_verbose=: 549at_quiet= 550# Running several jobs in parallel, 0 means as many as test groups. 551at_jobs=1 552at_traceon=: 553at_trace_echo=: 554at_check_filter_trace=: 555 556# Shall we keep the debug scripts? Must be `:' when the suite is 557# run by a debug script, so that the script doesn't remove itself. 558at_debug_p=false 559# Display help message? 560at_help_p=false 561# Display the version message? 562at_version_p=false 563# List test groups? 564at_list_p=false 565# --clean 566at_clean=false 567# Test groups to run 568at_groups= 569# Whether to rerun failed tests. 570at_recheck= 571# Whether a write failure occurred 572at_write_fail=0 573 574# The directory we run the suite in. Default to . if no -C option. 575at_dir=`pwd` 576# An absolute reference to this testsuite script. 577case $as_myself in 578 [\\/]* | ?:[\\/]* ) at_myself=$as_myself ;; 579 * ) at_myself=$at_dir/$as_myself ;; 580esac 581# Whether -C is in effect. 582at_change_dir=false 583 584# Whether to enable colored test results. 585at_color=no 586# List of the tested programs. 587at_tested='' 588# As many question marks as there are digits in the last test group number. 589# Used to normalize the test group numbers so that `ls' lists them in 590# numerical order. 591at_format='?' 592# Description of all the test groups. 593at_help_all="1;testsuite.at:23;stratall;match stratall; 594" 595# List of the all the test groups. 596at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'` 597 598# at_fn_validate_ranges NAME... 599# ----------------------------- 600# Validate and normalize the test group number contained in each variable 601# NAME. Leading zeroes are treated as decimal. 602at_fn_validate_ranges () 603{ 604 for at_grp 605 do 606 eval at_value=\$$at_grp 607 if test $at_value -lt 1 || test $at_value -gt 1; then 608 $as_echo "invalid test group: $at_value" >&2 609 exit 1 610 fi 611 case $at_value in 612 0*) # We want to treat leading 0 as decimal, like expr and test, but 613 # AS_VAR_ARITH treats it as octal if it uses $(( )). 614 # With XSI shells, ${at_value#${at_value%%[1-9]*}} avoids the 615 # expr fork, but it is not worth the effort to determine if the 616 # shell supports XSI when the user can just avoid leading 0. 617 eval $at_grp='`expr $at_value + 0`' ;; 618 esac 619 done 620} 621 622at_prev= 623for at_option 624do 625 # If the previous option needs an argument, assign it. 626 if test -n "$at_prev"; then 627 at_option=$at_prev=$at_option 628 at_prev= 629 fi 630 631 case $at_option in 632 *=?*) at_optarg=`expr "X$at_option" : '[^=]*=\(.*\)'` ;; 633 *) at_optarg= ;; 634 esac 635 636 # Accept the important Cygnus configure options, so we can diagnose typos. 637 638 case $at_option in 639 --help | -h ) 640 at_help_p=: 641 ;; 642 643 --list | -l ) 644 at_list_p=: 645 ;; 646 647 --version | -V ) 648 at_version_p=: 649 ;; 650 651 --clean | -c ) 652 at_clean=: 653 ;; 654 655 --color ) 656 at_color=always 657 ;; 658 --color=* ) 659 case $at_optarg in 660 no | never | none) at_color=never ;; 661 auto | tty | if-tty) at_color=auto ;; 662 always | yes | force) at_color=always ;; 663 *) at_optname=`echo " $at_option" | sed 's/^ //; s/=.*//'` 664 as_fn_error $? "unrecognized argument to $at_optname: $at_optarg" ;; 665 esac 666 ;; 667 668 --debug | -d ) 669 at_debug_p=: 670 ;; 671 672 --errexit | -e ) 673 at_debug_p=: 674 at_errexit_p=: 675 ;; 676 677 --verbose | -v ) 678 at_verbose=; at_quiet=: 679 ;; 680 681 --trace | -x ) 682 at_traceon='set -x' 683 at_trace_echo=echo 684 at_check_filter_trace=at_fn_filter_trace 685 ;; 686 687 [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9]) 688 at_fn_validate_ranges at_option 689 as_fn_append at_groups "$at_option$as_nl" 690 ;; 691 692 # Ranges 693 [0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-) 694 at_range_start=`echo $at_option |tr -d X-` 695 at_fn_validate_ranges at_range_start 696 at_range=`$as_echo "$at_groups_all" | \ 697 sed -ne '/^'$at_range_start'$/,$p'` 698 as_fn_append at_groups "$at_range$as_nl" 699 ;; 700 701 -[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9]) 702 at_range_end=`echo $at_option |tr -d X-` 703 at_fn_validate_ranges at_range_end 704 at_range=`$as_echo "$at_groups_all" | \ 705 sed -ne '1,/^'$at_range_end'$/p'` 706 as_fn_append at_groups "$at_range$as_nl" 707 ;; 708 709 [0-9]-[0-9] | [0-9]-[0-9][0-9] | [0-9]-[0-9][0-9][0-9] | \ 710 [0-9]-[0-9][0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9] | \ 711 [0-9][0-9]-[0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9][0-9][0-9] | \ 712 [0-9][0-9][0-9]-[0-9][0-9][0-9] | \ 713 [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] | \ 714 [0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] ) 715 at_range_start=`expr $at_option : '\(.*\)-'` 716 at_range_end=`expr $at_option : '.*-\(.*\)'` 717 if test $at_range_start -gt $at_range_end; then 718 at_tmp=$at_range_end 719 at_range_end=$at_range_start 720 at_range_start=$at_tmp 721 fi 722 at_fn_validate_ranges at_range_start at_range_end 723 at_range=`$as_echo "$at_groups_all" | \ 724 sed -ne '/^'$at_range_start'$/,/^'$at_range_end'$/p'` 725 as_fn_append at_groups "$at_range$as_nl" 726 ;; 727 728 # Directory selection. 729 --directory | -C ) 730 at_prev=--directory 731 ;; 732 --directory=* ) 733 at_change_dir=: 734 at_dir=$at_optarg 735 if test x- = "x$at_dir" ; then 736 at_dir=./- 737 fi 738 ;; 739 740 # Parallel execution. 741 --jobs | -j ) 742 at_jobs=0 743 ;; 744 --jobs=* | -j[0-9]* ) 745 if test -n "$at_optarg"; then 746 at_jobs=$at_optarg 747 else 748 at_jobs=`expr X$at_option : 'X-j\(.*\)'` 749 fi 750 case $at_jobs in *[!0-9]*) 751 at_optname=`echo " $at_option" | sed 's/^ //; s/[0-9=].*//'` 752 as_fn_error $? "non-numeric argument to $at_optname: $at_jobs" ;; 753 esac 754 ;; 755 756 # Keywords. 757 --keywords | -k ) 758 at_prev=--keywords 759 ;; 760 --keywords=* ) 761 at_groups_selected=$at_help_all 762 at_save_IFS=$IFS 763 IFS=, 764 set X $at_optarg 765 shift 766 IFS=$at_save_IFS 767 for at_keyword 768 do 769 at_invert= 770 case $at_keyword in 771 '!'*) 772 at_invert="-v" 773 at_keyword=`expr "X$at_keyword" : 'X!\(.*\)'` 774 ;; 775 esac 776 # It is on purpose that we match the test group titles too. 777 at_groups_selected=`$as_echo "$at_groups_selected" | 778 grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"` 779 done 780 # Smash the keywords. 781 at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//'` 782 as_fn_append at_groups "$at_groups_selected$as_nl" 783 ;; 784 --recheck) 785 at_recheck=: 786 ;; 787 788 *=*) 789 at_envvar=`expr "x$at_option" : 'x\([^=]*\)='` 790 # Reject names that are not valid shell variable names. 791 case $at_envvar in 792 '' | [0-9]* | *[!_$as_cr_alnum]* ) 793 as_fn_error $? "invalid variable name: \`$at_envvar'" ;; 794 esac 795 at_value=`$as_echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"` 796 # Export now, but save eval for later and for debug scripts. 797 export $at_envvar 798 as_fn_append at_debug_args " $at_envvar='$at_value'" 799 ;; 800 801 *) $as_echo "$as_me: invalid option: $at_option" >&2 802 $as_echo "Try \`$0 --help' for more information." >&2 803 exit 1 804 ;; 805 esac 806done 807 808# Verify our last option didn't require an argument 809if test -n "$at_prev"; then : 810 as_fn_error $? "\`$at_prev' requires an argument" 811fi 812 813# The file containing the suite. 814at_suite_log=$at_dir/$as_me.log 815 816# Selected test groups. 817if test -z "$at_groups$at_recheck"; then 818 at_groups=$at_groups_all 819else 820 if test -n "$at_recheck" && test -r "$at_suite_log"; then 821 at_oldfails=`sed -n ' 822 /^Failed tests:$/,/^Skipped tests:$/{ 823 s/^[ ]*\([1-9][0-9]*\):.*/\1/p 824 } 825 /^Unexpected passes:$/,/^## Detailed failed tests/{ 826 s/^[ ]*\([1-9][0-9]*\):.*/\1/p 827 } 828 /^## Detailed failed tests/q 829 ' "$at_suite_log"` 830 as_fn_append at_groups "$at_oldfails$as_nl" 831 fi 832 # Sort the tests, removing duplicates. 833 at_groups=`$as_echo "$at_groups" | sort -nu | sed '/^$/d'` 834fi 835 836if test x"$at_color" = xalways \ 837 || { test x"$at_color" = xauto && test -t 1; }; then 838 at_red=`printf '\033[0;31m'` 839 at_grn=`printf '\033[0;32m'` 840 at_lgn=`printf '\033[1;32m'` 841 at_blu=`printf '\033[1;34m'` 842 at_std=`printf '\033[m'` 843else 844 at_red= at_grn= at_lgn= at_blu= at_std= 845fi 846 847# Help message. 848if $at_help_p; then 849 cat <<_ATEOF || at_write_fail=1 850Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS] 851 852Run all the tests, or the selected TESTS, given by numeric ranges, and 853save a detailed log file. Upon failure, create debugging scripts. 854 855Do not change environment variables directly. Instead, set them via 856command line arguments. Set \`AUTOTEST_PATH' to select the executables 857to exercise. Each relative directory is expanded as build and source 858directories relative to the top level of this distribution. 859E.g., from within the build directory /tmp/foo-1.0, invoking this: 860 861 $ $0 AUTOTEST_PATH=bin 862 863is equivalent to the following, assuming the source directory is /src/foo-1.0: 864 865 PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH $0 866_ATEOF 867cat <<_ATEOF || at_write_fail=1 868 869Operation modes: 870 -h, --help print the help message, then exit 871 -V, --version print version number, then exit 872 -c, --clean remove all the files this test suite might create and exit 873 -l, --list describes all the tests, or the selected TESTS 874_ATEOF 875cat <<_ATEOF || at_write_fail=1 876 877Execution tuning: 878 -C, --directory=DIR 879 change to directory DIR before starting 880 --color[=never|auto|always] 881 enable colored test results on terminal, or always 882 -j, --jobs[=N] 883 Allow N jobs at once; infinite jobs with no arg (default 1) 884 -k, --keywords=KEYWORDS 885 select the tests matching all the comma-separated KEYWORDS 886 multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD 887 --recheck select all tests that failed or passed unexpectedly last time 888 -e, --errexit abort as soon as a test fails; implies --debug 889 -v, --verbose force more detailed output 890 default for debugging scripts 891 -d, --debug inhibit clean up and top-level logging 892 default for debugging scripts 893 -x, --trace enable tests shell tracing 894_ATEOF 895cat <<_ATEOF || at_write_fail=1 896 897Report bugs to <bug-dico@gnu.org>. 898General help using GNU software: <http://www.gnu.org/gethelp/>. 899_ATEOF 900 exit $at_write_fail 901fi 902 903# List of tests. 904if $at_list_p; then 905 cat <<_ATEOF || at_write_fail=1 906GNU dico 2.10 test suite test groups: 907 908 NUM: FILE-NAME:LINE TEST-GROUP-NAME 909 KEYWORDS 910 911_ATEOF 912 # Pass an empty line as separator between selected groups and help. 913 $as_echo "$at_groups$as_nl$as_nl$at_help_all" | 914 awk 'NF == 1 && FS != ";" { 915 selected[$ 1] = 1 916 next 917 } 918 /^$/ { FS = ";" } 919 NF > 0 { 920 if (selected[$ 1]) { 921 printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3 922 if ($ 4) { 923 lmax = 79 924 indent = " " 925 line = indent 926 len = length (line) 927 n = split ($ 4, a, " ") 928 for (i = 1; i <= n; i++) { 929 l = length (a[i]) + 1 930 if (i > 1 && len + l > lmax) { 931 print line 932 line = indent " " a[i] 933 len = length (line) 934 } else { 935 line = line " " a[i] 936 len += l 937 } 938 } 939 if (n) 940 print line 941 } 942 } 943 }' || at_write_fail=1 944 exit $at_write_fail 945fi 946if $at_version_p; then 947 $as_echo "$as_me (GNU dico 2.10)" && 948 cat <<\_ATEOF || at_write_fail=1 949 950Copyright (C) 2012 Free Software Foundation, Inc. 951This test suite is free software; the Free Software Foundation gives 952unlimited permission to copy, distribute and modify it. 953_ATEOF 954 exit $at_write_fail 955fi 956 957# Should we print banners? Yes if more than one test is run. 958case $at_groups in #( 959 *$as_nl* ) 960 at_print_banners=: ;; #( 961 * ) at_print_banners=false ;; 962esac 963# Text for banner N, set to a single space once printed. 964 965# Take any -C into account. 966if $at_change_dir ; then 967 test x != "x$at_dir" && cd "$at_dir" \ 968 || as_fn_error $? "unable to change directory" 969 at_dir=`pwd` 970fi 971 972# Load the config files for any default variable assignments. 973for at_file in atconfig atlocal 974do 975 test -r $at_file || continue 976 . ./$at_file || as_fn_error $? "invalid content: $at_file" 977done 978 979# Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix: 980: "${at_top_build_prefix=$at_top_builddir}" 981 982# Perform any assignments requested during argument parsing. 983eval "$at_debug_args" 984 985# atconfig delivers names relative to the directory the test suite is 986# in, but the groups themselves are run in testsuite-dir/group-dir. 987if test -n "$at_top_srcdir"; then 988 builddir=../.. 989 for at_dir_var in srcdir top_srcdir top_build_prefix 990 do 991 eval at_val=\$at_$at_dir_var 992 case $at_val in 993 [\\/$]* | ?:[\\/]* ) at_prefix= ;; 994 *) at_prefix=../../ ;; 995 esac 996 eval "$at_dir_var=\$at_prefix\$at_val" 997 done 998fi 999 1000## -------------------- ## 1001## Directory structure. ## 1002## -------------------- ## 1003 1004# This is the set of directories and files used by this script 1005# (non-literals are capitalized): 1006# 1007# TESTSUITE - the testsuite 1008# TESTSUITE.log - summarizes the complete testsuite run 1009# TESTSUITE.dir/ - created during a run, remains after -d or failed test 1010# + at-groups/ - during a run: status of all groups in run 1011# | + NNN/ - during a run: meta-data about test group NNN 1012# | | + check-line - location (source file and line) of current AT_CHECK 1013# | | + status - exit status of current AT_CHECK 1014# | | + stdout - stdout of current AT_CHECK 1015# | | + stder1 - stderr, including trace 1016# | | + stderr - stderr, with trace filtered out 1017# | | + test-source - portion of testsuite that defines group 1018# | | + times - timestamps for computing duration 1019# | | + pass - created if group passed 1020# | | + xpass - created if group xpassed 1021# | | + fail - created if group failed 1022# | | + xfail - created if group xfailed 1023# | | + skip - created if group skipped 1024# + at-stop - during a run: end the run if this file exists 1025# + at-source-lines - during a run: cache of TESTSUITE line numbers for extraction 1026# + 0..NNN/ - created for each group NNN, remains after -d or failed test 1027# | + TESTSUITE.log - summarizes the group results 1028# | + ... - files created during the group 1029 1030# The directory the whole suite works in. 1031# Should be absolute to let the user `cd' at will. 1032at_suite_dir=$at_dir/$as_me.dir 1033# The file containing the suite ($at_dir might have changed since earlier). 1034at_suite_log=$at_dir/$as_me.log 1035# The directory containing helper files per test group. 1036at_helper_dir=$at_suite_dir/at-groups 1037# Stop file: if it exists, do not start new jobs. 1038at_stop_file=$at_suite_dir/at-stop 1039# The fifo used for the job dispatcher. 1040at_job_fifo=$at_suite_dir/at-job-fifo 1041 1042if $at_clean; then 1043 test -d "$at_suite_dir" && 1044 find "$at_suite_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; 1045 rm -f -r "$at_suite_dir" "$at_suite_log" 1046 exit $? 1047fi 1048 1049# Don't take risks: use only absolute directories in PATH. 1050# 1051# For stand-alone test suites (ie. atconfig was not found), 1052# AUTOTEST_PATH is relative to `.'. 1053# 1054# For embedded test suites, AUTOTEST_PATH is relative to the top level 1055# of the package. Then expand it into build/src parts, since users 1056# may create executables in both places. 1057AUTOTEST_PATH=`$as_echo "$AUTOTEST_PATH" | sed "s|:|$PATH_SEPARATOR|g"` 1058at_path= 1059as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 1060for as_dir in $AUTOTEST_PATH $PATH 1061do 1062 IFS=$as_save_IFS 1063 test -z "$as_dir" && as_dir=. 1064 test -n "$at_path" && as_fn_append at_path $PATH_SEPARATOR 1065case $as_dir in 1066 [\\/]* | ?:[\\/]* ) 1067 as_fn_append at_path "$as_dir" 1068 ;; 1069 * ) 1070 if test -z "$at_top_build_prefix"; then 1071 # Stand-alone test suite. 1072 as_fn_append at_path "$as_dir" 1073 else 1074 # Embedded test suite. 1075 as_fn_append at_path "$at_top_build_prefix$as_dir$PATH_SEPARATOR" 1076 as_fn_append at_path "$at_top_srcdir/$as_dir" 1077 fi 1078 ;; 1079esac 1080 done 1081IFS=$as_save_IFS 1082 1083 1084# Now build and simplify PATH. 1085# 1086# There might be directories that don't exist, but don't redirect 1087# builtins' (eg., cd) stderr directly: Ultrix's sh hates that. 1088at_new_path= 1089as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 1090for as_dir in $at_path 1091do 1092 IFS=$as_save_IFS 1093 test -z "$as_dir" && as_dir=. 1094 test -d "$as_dir" || continue 1095case $as_dir in 1096 [\\/]* | ?:[\\/]* ) ;; 1097 * ) as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` ;; 1098esac 1099case $PATH_SEPARATOR$at_new_path$PATH_SEPARATOR in 1100 *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR*) ;; 1101 $PATH_SEPARATOR$PATH_SEPARATOR) at_new_path=$as_dir ;; 1102 *) as_fn_append at_new_path "$PATH_SEPARATOR$as_dir" ;; 1103esac 1104 done 1105IFS=$as_save_IFS 1106 1107PATH=$at_new_path 1108export PATH 1109 1110# Setting up the FDs. 1111 1112 1113 1114# 5 is the log file. Not to be overwritten if `-d'. 1115if $at_debug_p; then 1116 at_suite_log=/dev/null 1117else 1118 : >"$at_suite_log" 1119fi 1120exec 5>>"$at_suite_log" 1121 1122# Banners and logs. 1123$as_echo "## ------------------------- ## 1124## GNU dico 2.10 test suite. ## 1125## ------------------------- ##" 1126{ 1127 $as_echo "## ------------------------- ## 1128## GNU dico 2.10 test suite. ## 1129## ------------------------- ##" 1130 echo 1131 1132 $as_echo "$as_me: command line was:" 1133 $as_echo " \$ $0 $at_cli_args" 1134 echo 1135 1136 # If ChangeLog exists, list a few lines in case it might help determining 1137 # the exact version. 1138 if test -n "$at_top_srcdir" && test -f "$at_top_srcdir/ChangeLog"; then 1139 $as_echo "## ---------- ## 1140## ChangeLog. ## 1141## ---------- ##" 1142 echo 1143 sed 's/^/| /;10q' "$at_top_srcdir/ChangeLog" 1144 echo 1145 fi 1146 1147 { 1148cat <<_ASUNAME 1149## --------- ## 1150## Platform. ## 1151## --------- ## 1152 1153hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` 1154uname -m = `(uname -m) 2>/dev/null || echo unknown` 1155uname -r = `(uname -r) 2>/dev/null || echo unknown` 1156uname -s = `(uname -s) 2>/dev/null || echo unknown` 1157uname -v = `(uname -v) 2>/dev/null || echo unknown` 1158 1159/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` 1160/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` 1161 1162/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` 1163/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` 1164/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` 1165/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` 1166/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` 1167/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` 1168/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` 1169 1170_ASUNAME 1171 1172as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 1173for as_dir in $PATH 1174do 1175 IFS=$as_save_IFS 1176 test -z "$as_dir" && as_dir=. 1177 $as_echo "PATH: $as_dir" 1178 done 1179IFS=$as_save_IFS 1180 1181} 1182 echo 1183 1184 # Contents of the config files. 1185 for at_file in atconfig atlocal 1186 do 1187 test -r $at_file || continue 1188 $as_echo "$as_me: $at_file:" 1189 sed 's/^/| /' $at_file 1190 echo 1191 done 1192} >&5 1193 1194 1195## ------------------------- ## 1196## Autotest shell functions. ## 1197## ------------------------- ## 1198 1199# at_fn_banner NUMBER 1200# ------------------- 1201# Output banner NUMBER, provided the testsuite is running multiple groups and 1202# this particular banner has not yet been printed. 1203at_fn_banner () 1204{ 1205 $at_print_banners || return 0 1206 eval at_banner_text=\$at_banner_text_$1 1207 test "x$at_banner_text" = "x " && return 0 1208 eval "at_banner_text_$1=\" \"" 1209 if test -z "$at_banner_text"; then 1210 $at_first || echo 1211 else 1212 $as_echo "$as_nl$at_banner_text$as_nl" 1213 fi 1214} # at_fn_banner 1215 1216# at_fn_check_prepare_notrace REASON LINE 1217# --------------------------------------- 1218# Perform AT_CHECK preparations for the command at LINE for an untraceable 1219# command; REASON is the reason for disabling tracing. 1220at_fn_check_prepare_notrace () 1221{ 1222 $at_trace_echo "Not enabling shell tracing (command contains $1)" 1223 $as_echo "$2" >"$at_check_line_file" 1224 at_check_trace=: at_check_filter=: 1225 : >"$at_stdout"; : >"$at_stderr" 1226} 1227 1228# at_fn_check_prepare_trace LINE 1229# ------------------------------ 1230# Perform AT_CHECK preparations for the command at LINE for a traceable 1231# command. 1232at_fn_check_prepare_trace () 1233{ 1234 $as_echo "$1" >"$at_check_line_file" 1235 at_check_trace=$at_traceon at_check_filter=$at_check_filter_trace 1236 : >"$at_stdout"; : >"$at_stderr" 1237} 1238 1239# at_fn_check_prepare_dynamic COMMAND LINE 1240# ---------------------------------------- 1241# Decide if COMMAND at LINE is traceable at runtime, and call the appropriate 1242# preparation function. 1243at_fn_check_prepare_dynamic () 1244{ 1245 case $1 in 1246 *$as_nl*) 1247 at_fn_check_prepare_notrace 'an embedded newline' "$2" ;; 1248 *) 1249 at_fn_check_prepare_trace "$2" ;; 1250 esac 1251} 1252 1253# at_fn_filter_trace 1254# ------------------ 1255# Remove the lines in the file "$at_stderr" generated by "set -x" and print 1256# them to stderr. 1257at_fn_filter_trace () 1258{ 1259 mv "$at_stderr" "$at_stder1" 1260 grep '^ *+' "$at_stder1" >&2 1261 grep -v '^ *+' "$at_stder1" >"$at_stderr" 1262} 1263 1264# at_fn_log_failure FILE-LIST 1265# --------------------------- 1266# Copy the files in the list on stdout with a "> " prefix, and exit the shell 1267# with a failure exit code. 1268at_fn_log_failure () 1269{ 1270 for file 1271 do $as_echo "$file:"; sed 's/^/> /' "$file"; done 1272 echo 1 > "$at_status_file" 1273 exit 1 1274} 1275 1276# at_fn_check_skip EXIT-CODE LINE 1277# ------------------------------- 1278# Check whether EXIT-CODE is a special exit code (77 or 99), and if so exit 1279# the test group subshell with that same exit code. Use LINE in any report 1280# about test failure. 1281at_fn_check_skip () 1282{ 1283 case $1 in 1284 99) echo 99 > "$at_status_file"; at_failed=: 1285 $as_echo "$2: hard failure"; exit 99;; 1286 77) echo 77 > "$at_status_file"; exit 77;; 1287 esac 1288} 1289 1290# at_fn_check_status EXPECTED EXIT-CODE LINE 1291# ------------------------------------------ 1292# Check whether EXIT-CODE is the EXPECTED exit code, and if so do nothing. 1293# Otherwise, if it is 77 or 99, exit the test group subshell with that same 1294# exit code; if it is anything else print an error message referring to LINE, 1295# and fail the test. 1296at_fn_check_status () 1297{ 1298 case $2 in 1299 $1 ) ;; 1300 77) echo 77 > "$at_status_file"; exit 77;; 1301 99) echo 99 > "$at_status_file"; at_failed=: 1302 $as_echo "$3: hard failure"; exit 99;; 1303 *) $as_echo "$3: exit code was $2, expected $1" 1304 at_failed=:;; 1305 esac 1306} 1307 1308# at_fn_diff_devnull FILE 1309# ----------------------- 1310# Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless diff 1311# invocations. 1312at_fn_diff_devnull () 1313{ 1314 test -s "$1" || return 0 1315 $at_diff "$at_devnull" "$1" 1316} 1317 1318# at_fn_test NUMBER 1319# ----------------- 1320# Parse out test NUMBER from the tail of this file. 1321at_fn_test () 1322{ 1323 eval at_sed=\$at_sed$1 1324 sed "$at_sed" "$at_myself" > "$at_test_source" 1325} 1326 1327# at_fn_create_debugging_script 1328# ----------------------------- 1329# Create the debugging script $at_group_dir/run which will reproduce the 1330# current test group. 1331at_fn_create_debugging_script () 1332{ 1333 { 1334 echo "#! /bin/sh" && 1335 echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' && 1336 $as_echo "cd '$at_dir'" && 1337 $as_echo "exec \${CONFIG_SHELL-$SHELL} \"$at_myself\" -v -d $at_debug_args $at_group \${1+\"\$@\"}" && 1338 echo 'exit 1' 1339 } >"$at_group_dir/run" && 1340 chmod +x "$at_group_dir/run" 1341} 1342 1343## -------------------------------- ## 1344## End of autotest shell functions. ## 1345## -------------------------------- ## 1346{ 1347 $as_echo "## ---------------- ## 1348## Tested programs. ## 1349## ---------------- ##" 1350 echo 1351} >&5 1352 1353# Report what programs are being tested. 1354for at_program in : $at_tested 1355do 1356 test "$at_program" = : && continue 1357 case $at_program in 1358 [\\/]* | ?:[\\/]* ) $at_program_=$at_program ;; 1359 * ) 1360 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 1361for as_dir in $PATH 1362do 1363 IFS=$as_save_IFS 1364 test -z "$as_dir" && as_dir=. 1365 test -f "$as_dir/$at_program" && break 1366 done 1367IFS=$as_save_IFS 1368 1369 at_program_=$as_dir/$at_program ;; 1370 esac 1371 if test -f "$at_program_"; then 1372 { 1373 $as_echo "$at_srcdir/testsuite.at:19: $at_program_ --version" 1374 "$at_program_" --version </dev/null 1375 echo 1376 } >&5 2>&1 1377 else 1378 as_fn_error $? "cannot find $at_program" "$LINENO" 5 1379 fi 1380done 1381 1382{ 1383 $as_echo "## ------------------ ## 1384## Running the tests. ## 1385## ------------------ ##" 1386} >&5 1387 1388at_start_date=`date` 1389at_start_time=`date +%s 2>/dev/null` 1390$as_echo "$as_me: starting at: $at_start_date" >&5 1391 1392# Create the master directory if it doesn't already exist. 1393as_dir="$at_suite_dir"; as_fn_mkdir_p || 1394 as_fn_error $? "cannot create \`$at_suite_dir'" "$LINENO" 5 1395 1396# Can we diff with `/dev/null'? DU 5.0 refuses. 1397if diff /dev/null /dev/null >/dev/null 2>&1; then 1398 at_devnull=/dev/null 1399else 1400 at_devnull=$at_suite_dir/devnull 1401 >"$at_devnull" 1402fi 1403 1404# Use `diff -u' when possible. 1405if at_diff=`diff -u "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_diff" 1406then 1407 at_diff='diff -u' 1408else 1409 at_diff=diff 1410fi 1411 1412# Get the last needed group. 1413for at_group in : $at_groups; do :; done 1414 1415# Extract the start and end lines of each test group at the tail 1416# of this file 1417awk ' 1418BEGIN { FS="" } 1419/^#AT_START_/ { 1420 start = NR 1421} 1422/^#AT_STOP_/ { 1423 test = substr ($ 0, 10) 1424 print "at_sed" test "=\"1," start "d;" (NR-1) "q\"" 1425 if (test == "'"$at_group"'") exit 1426}' "$at_myself" > "$at_suite_dir/at-source-lines" && 1427. "$at_suite_dir/at-source-lines" || 1428 as_fn_error $? "cannot create test line number cache" "$LINENO" 5 1429rm -f "$at_suite_dir/at-source-lines" 1430 1431# Set number of jobs for `-j'; avoid more jobs than test groups. 1432set X $at_groups; shift; at_max_jobs=$# 1433if test $at_max_jobs -eq 0; then 1434 at_jobs=1 1435fi 1436if test $at_jobs -ne 1 && 1437 { test $at_jobs -eq 0 || test $at_jobs -gt $at_max_jobs; }; then 1438 at_jobs=$at_max_jobs 1439fi 1440 1441# If parallel mode, don't output banners, don't split summary lines. 1442if test $at_jobs -ne 1; then 1443 at_print_banners=false 1444 at_quiet=: 1445fi 1446 1447# Set up helper dirs. 1448rm -rf "$at_helper_dir" && 1449mkdir "$at_helper_dir" && 1450cd "$at_helper_dir" && 1451{ test -z "$at_groups" || mkdir $at_groups; } || 1452as_fn_error $? "testsuite directory setup failed" "$LINENO" 5 1453 1454# Functions for running a test group. We leave the actual 1455# test group execution outside of a shell function in order 1456# to avoid hitting zsh 4.x exit status bugs. 1457 1458# at_fn_group_prepare 1459# ------------------- 1460# Prepare for running a test group. 1461at_fn_group_prepare () 1462{ 1463 # The directory for additional per-group helper files. 1464 at_job_dir=$at_helper_dir/$at_group 1465 # The file containing the location of the last AT_CHECK. 1466 at_check_line_file=$at_job_dir/check-line 1467 # The file containing the exit status of the last command. 1468 at_status_file=$at_job_dir/status 1469 # The files containing the output of the tested commands. 1470 at_stdout=$at_job_dir/stdout 1471 at_stder1=$at_job_dir/stder1 1472 at_stderr=$at_job_dir/stderr 1473 # The file containing the code for a test group. 1474 at_test_source=$at_job_dir/test-source 1475 # The file containing dates. 1476 at_times_file=$at_job_dir/times 1477 1478 # Be sure to come back to the top test directory. 1479 cd "$at_suite_dir" 1480 1481 # Clearly separate the test groups when verbose. 1482 $at_first || $at_verbose echo 1483 1484 at_group_normalized=$at_group 1485 1486 eval 'while :; do 1487 case $at_group_normalized in #( 1488 '"$at_format"'*) break;; 1489 esac 1490 at_group_normalized=0$at_group_normalized 1491 done' 1492 1493 1494 # Create a fresh directory for the next test group, and enter. 1495 # If one already exists, the user may have invoked ./run from 1496 # within that directory; we remove the contents, but not the 1497 # directory itself, so that we aren't pulling the rug out from 1498 # under the shell's notion of the current directory. 1499 at_group_dir=$at_suite_dir/$at_group_normalized 1500 at_group_log=$at_group_dir/$as_me.log 1501 if test -d "$at_group_dir"; then 1502 find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx {} \; 1503 rm -fr "$at_group_dir"/* "$at_group_dir"/.[!.] "$at_group_dir"/.??* 1504fi || 1505 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: test directory for $at_group_normalized could not be cleaned" >&5 1506$as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned" >&2;} 1507 # Be tolerant if the above `rm' was not able to remove the directory. 1508 as_dir="$at_group_dir"; as_fn_mkdir_p 1509 1510 echo 0 > "$at_status_file" 1511 1512 # In verbose mode, append to the log file *and* show on 1513 # the standard output; in quiet mode only write to the log. 1514 if test -z "$at_verbose"; then 1515 at_tee_pipe='tee -a "$at_group_log"' 1516 else 1517 at_tee_pipe='cat >> "$at_group_log"' 1518 fi 1519} 1520 1521# at_fn_group_banner ORDINAL LINE DESC PAD [BANNER] 1522# ------------------------------------------------- 1523# Declare the test group ORDINAL, located at LINE with group description DESC, 1524# and residing under BANNER. Use PAD to align the status column. 1525at_fn_group_banner () 1526{ 1527 at_setup_line="$2" 1528 test -n "$5" && at_fn_banner $5 1529 at_desc="$3" 1530 case $1 in 1531 [0-9]) at_desc_line=" $1: ";; 1532 [0-9][0-9]) at_desc_line=" $1: " ;; 1533 *) at_desc_line="$1: " ;; 1534 esac 1535 as_fn_append at_desc_line "$3$4" 1536 $at_quiet $as_echo_n "$at_desc_line" 1537 echo "# -*- compilation -*-" >> "$at_group_log" 1538} 1539 1540# at_fn_group_postprocess 1541# ----------------------- 1542# Perform cleanup after running a test group. 1543at_fn_group_postprocess () 1544{ 1545 # Be sure to come back to the suite directory, in particular 1546 # since below we might `rm' the group directory we are in currently. 1547 cd "$at_suite_dir" 1548 1549 if test ! -f "$at_check_line_file"; then 1550 sed "s/^ */$as_me: WARNING: /" <<_ATEOF 1551 A failure happened in a test group before any test could be 1552 run. This means that test suite is improperly designed. Please 1553 report this failure to <bug-dico@gnu.org>. 1554_ATEOF 1555 $as_echo "$at_setup_line" >"$at_check_line_file" 1556 at_status=99 1557 fi 1558 $at_verbose $as_echo_n "$at_group. $at_setup_line: " 1559 $as_echo_n "$at_group. $at_setup_line: " >> "$at_group_log" 1560 case $at_xfail:$at_status in 1561 yes:0) 1562 at_msg="UNEXPECTED PASS" 1563 at_res=xpass 1564 at_errexit=$at_errexit_p 1565 at_color=$at_red 1566 ;; 1567 no:0) 1568 at_msg="ok" 1569 at_res=pass 1570 at_errexit=false 1571 at_color=$at_grn 1572 ;; 1573 *:77) 1574 at_msg='skipped ('`cat "$at_check_line_file"`')' 1575 at_res=skip 1576 at_errexit=false 1577 at_color=$at_blu 1578 ;; 1579 no:* | *:99) 1580 at_msg='FAILED ('`cat "$at_check_line_file"`')' 1581 at_res=fail 1582 at_errexit=$at_errexit_p 1583 at_color=$at_red 1584 ;; 1585 yes:*) 1586 at_msg='expected failure ('`cat "$at_check_line_file"`')' 1587 at_res=xfail 1588 at_errexit=false 1589 at_color=$at_lgn 1590 ;; 1591 esac 1592 echo "$at_res" > "$at_job_dir/$at_res" 1593 # In parallel mode, output the summary line only afterwards. 1594 if test $at_jobs -ne 1 && test -n "$at_verbose"; then 1595 $as_echo "$at_desc_line $at_color$at_msg$at_std" 1596 else 1597 # Make sure there is a separator even with long titles. 1598 $as_echo " $at_color$at_msg$at_std" 1599 fi 1600 at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg" 1601 case $at_status in 1602 0|77) 1603 # $at_times_file is only available if the group succeeded. 1604 # We're not including the group log, so the success message 1605 # is written in the global log separately. But we also 1606 # write to the group log in case they're using -d. 1607 if test -f "$at_times_file"; then 1608 at_log_msg="$at_log_msg ("`sed 1d "$at_times_file"`')' 1609 rm -f "$at_times_file" 1610 fi 1611 $as_echo "$at_log_msg" >> "$at_group_log" 1612 $as_echo "$at_log_msg" >&5 1613 1614 # Cleanup the group directory, unless the user wants the files 1615 # or the success was unexpected. 1616 if $at_debug_p || test $at_res = xpass; then 1617 at_fn_create_debugging_script 1618 if test $at_res = xpass && $at_errexit; then 1619 echo stop > "$at_stop_file" 1620 fi 1621 else 1622 if test -d "$at_group_dir"; then 1623 find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; 1624 rm -fr "$at_group_dir" 1625 fi 1626 rm -f "$at_test_source" 1627 fi 1628 ;; 1629 *) 1630 # Upon failure, include the log into the testsuite's global 1631 # log. The failure message is written in the group log. It 1632 # is later included in the global log. 1633 $as_echo "$at_log_msg" >> "$at_group_log" 1634 1635 # Upon failure, keep the group directory for autopsy, and create 1636 # the debugging script. With -e, do not start any further tests. 1637 at_fn_create_debugging_script 1638 if $at_errexit; then 1639 echo stop > "$at_stop_file" 1640 fi 1641 ;; 1642 esac 1643} 1644 1645 1646## ------------ ## 1647## Driver loop. ## 1648## ------------ ## 1649 1650 1651if (set -m && set +m && set +b) >/dev/null 2>&1; then 1652 set +b 1653 at_job_control_on='set -m' at_job_control_off='set +m' at_job_group=- 1654else 1655 at_job_control_on=: at_job_control_off=: at_job_group= 1656fi 1657 1658for at_signal in 1 2 15; do 1659 trap 'set +x; set +e 1660 $at_job_control_off 1661 at_signal='"$at_signal"' 1662 echo stop > "$at_stop_file" 1663 trap "" $at_signal 1664 at_pgids= 1665 for at_pgid in `jobs -p 2>/dev/null`; do 1666 at_pgids="$at_pgids $at_job_group$at_pgid" 1667 done 1668 test -z "$at_pgids" || kill -$at_signal $at_pgids 2>/dev/null 1669 wait 1670 if test "$at_jobs" -eq 1 || test -z "$at_verbose"; then 1671 echo >&2 1672 fi 1673 at_signame=`kill -l $at_signal 2>&1 || echo $at_signal` 1674 set x $at_signame 1675 test 0 -gt 2 && at_signame=$at_signal 1676 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: caught signal $at_signame, bailing out" >&5 1677$as_echo "$as_me: WARNING: caught signal $at_signame, bailing out" >&2;} 1678 as_fn_arith 128 + $at_signal && exit_status=$as_val 1679 as_fn_exit $exit_status' $at_signal 1680done 1681 1682rm -f "$at_stop_file" 1683at_first=: 1684 1685if test $at_jobs -ne 1 && 1686 rm -f "$at_job_fifo" && 1687 test -n "$at_job_group" && 1688 ( mkfifo "$at_job_fifo" && trap 'exit 1' PIPE STOP TSTP ) 2>/dev/null 1689then 1690 # FIFO job dispatcher. 1691 1692 trap 'at_pids= 1693 for at_pid in `jobs -p`; do 1694 at_pids="$at_pids $at_job_group$at_pid" 1695 done 1696 if test -n "$at_pids"; then 1697 at_sig=TSTP 1698 test "${TMOUT+set}" = set && at_sig=STOP 1699 kill -$at_sig $at_pids 2>/dev/null 1700 fi 1701 kill -STOP $$ 1702 test -z "$at_pids" || kill -CONT $at_pids 2>/dev/null' TSTP 1703 1704 echo 1705 # Turn jobs into a list of numbers, starting from 1. 1706 at_joblist=`$as_echo "$at_groups" | sed -n 1,${at_jobs}p` 1707 1708 set X $at_joblist 1709 shift 1710 for at_group in $at_groups; do 1711 $at_job_control_on 2>/dev/null 1712 ( 1713 # Start one test group. 1714 $at_job_control_off 1715 if $at_first; then 1716 exec 7>"$at_job_fifo" 1717 else 1718 exec 6<&- 1719 fi 1720 trap 'set +x; set +e 1721 trap "" PIPE 1722 echo stop > "$at_stop_file" 1723 echo >&7 1724 as_fn_exit 141' PIPE 1725 at_fn_group_prepare 1726 if cd "$at_group_dir" && 1727 at_fn_test $at_group && 1728 . "$at_test_source" 1729 then :; else 1730 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 1731$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} 1732 at_failed=: 1733 fi 1734 at_fn_group_postprocess 1735 echo >&7 1736 ) & 1737 $at_job_control_off 1738 if $at_first; then 1739 at_first=false 1740 exec 6<"$at_job_fifo" 7>"$at_job_fifo" 1741 fi 1742 shift # Consume one token. 1743 if test $# -gt 0; then :; else 1744 read at_token <&6 || break 1745 set x $* 1746 fi 1747 test -f "$at_stop_file" && break 1748 done 1749 exec 7>&- 1750 # Read back the remaining ($at_jobs - 1) tokens. 1751 set X $at_joblist 1752 shift 1753 if test $# -gt 0; then 1754 shift 1755 for at_job 1756 do 1757 read at_token 1758 done <&6 1759 fi 1760 exec 6<&- 1761 wait 1762else 1763 # Run serially, avoid forks and other potential surprises. 1764 for at_group in $at_groups; do 1765 at_fn_group_prepare 1766 if cd "$at_group_dir" && 1767 at_fn_test $at_group && 1768 . "$at_test_source"; then :; else 1769 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 1770$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} 1771 at_failed=: 1772 fi 1773 at_fn_group_postprocess 1774 test -f "$at_stop_file" && break 1775 at_first=false 1776 done 1777fi 1778 1779# Wrap up the test suite with summary statistics. 1780cd "$at_helper_dir" 1781 1782# Use ?..???? when the list must remain sorted, the faster * otherwise. 1783at_pass_list=`for f in */pass; do echo $f; done | sed '/\*/d; s,/pass,,'` 1784at_skip_list=`for f in */skip; do echo $f; done | sed '/\*/d; s,/skip,,'` 1785at_xfail_list=`for f in */xfail; do echo $f; done | sed '/\*/d; s,/xfail,,'` 1786at_xpass_list=`for f in ?/xpass ??/xpass ???/xpass ????/xpass; do 1787 echo $f; done | sed '/?/d; s,/xpass,,'` 1788at_fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do 1789 echo $f; done | sed '/?/d; s,/fail,,'` 1790 1791set X $at_pass_list $at_xpass_list $at_xfail_list $at_fail_list $at_skip_list 1792shift; at_group_count=$# 1793set X $at_xpass_list; shift; at_xpass_count=$#; at_xpass_list=$* 1794set X $at_xfail_list; shift; at_xfail_count=$# 1795set X $at_fail_list; shift; at_fail_count=$#; at_fail_list=$* 1796set X $at_skip_list; shift; at_skip_count=$# 1797 1798as_fn_arith $at_group_count - $at_skip_count && at_run_count=$as_val 1799as_fn_arith $at_xpass_count + $at_fail_count && at_unexpected_count=$as_val 1800as_fn_arith $at_xfail_count + $at_fail_count && at_total_fail_count=$as_val 1801 1802# Back to the top directory. 1803cd "$at_dir" 1804rm -rf "$at_helper_dir" 1805 1806# Compute the duration of the suite. 1807at_stop_date=`date` 1808at_stop_time=`date +%s 2>/dev/null` 1809$as_echo "$as_me: ending at: $at_stop_date" >&5 1810case $at_start_time,$at_stop_time in 1811 [0-9]*,[0-9]*) 1812 as_fn_arith $at_stop_time - $at_start_time && at_duration_s=$as_val 1813 as_fn_arith $at_duration_s / 60 && at_duration_m=$as_val 1814 as_fn_arith $at_duration_m / 60 && at_duration_h=$as_val 1815 as_fn_arith $at_duration_s % 60 && at_duration_s=$as_val 1816 as_fn_arith $at_duration_m % 60 && at_duration_m=$as_val 1817 at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s" 1818 $as_echo "$as_me: test suite duration: $at_duration" >&5 1819 ;; 1820esac 1821 1822echo 1823$as_echo "## ------------- ## 1824## Test results. ## 1825## ------------- ##" 1826echo 1827{ 1828 echo 1829 $as_echo "## ------------- ## 1830## Test results. ## 1831## ------------- ##" 1832 echo 1833} >&5 1834 1835if test $at_run_count = 1; then 1836 at_result="1 test" 1837 at_were=was 1838else 1839 at_result="$at_run_count tests" 1840 at_were=were 1841fi 1842if $at_errexit_p && test $at_unexpected_count != 0; then 1843 if test $at_xpass_count = 1; then 1844 at_result="$at_result $at_were run, one passed" 1845 else 1846 at_result="$at_result $at_were run, one failed" 1847 fi 1848 at_result="$at_result unexpectedly and inhibited subsequent tests." 1849 at_color=$at_red 1850else 1851 # Don't you just love exponential explosion of the number of cases? 1852 at_color=$at_red 1853 case $at_xpass_count:$at_fail_count:$at_xfail_count in 1854 # So far, so good. 1855 0:0:0) at_result="$at_result $at_were successful." at_color=$at_grn ;; 1856 0:0:*) at_result="$at_result behaved as expected." at_color=$at_lgn ;; 1857 1858 # Some unexpected failures 1859 0:*:0) at_result="$at_result $at_were run, 1860$at_fail_count failed unexpectedly." ;; 1861 1862 # Some failures, both expected and unexpected 1863 0:*:1) at_result="$at_result $at_were run, 1864$at_total_fail_count failed ($at_xfail_count expected failure)." ;; 1865 0:*:*) at_result="$at_result $at_were run, 1866$at_total_fail_count failed ($at_xfail_count expected failures)." ;; 1867 1868 # No unexpected failures, but some xpasses 1869 *:0:*) at_result="$at_result $at_were run, 1870$at_xpass_count passed unexpectedly." ;; 1871 1872 # No expected failures, but failures and xpasses 1873 *:1:0) at_result="$at_result $at_were run, 1874$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;; 1875 *:*:0) at_result="$at_result $at_were run, 1876$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;; 1877 1878 # All of them. 1879 *:*:1) at_result="$at_result $at_were run, 1880$at_xpass_count passed unexpectedly, 1881$at_total_fail_count failed ($at_xfail_count expected failure)." ;; 1882 *:*:*) at_result="$at_result $at_were run, 1883$at_xpass_count passed unexpectedly, 1884$at_total_fail_count failed ($at_xfail_count expected failures)." ;; 1885 esac 1886 1887 if test $at_skip_count = 0 && test $at_run_count -gt 1; then 1888 at_result="All $at_result" 1889 fi 1890fi 1891 1892# Now put skips in the mix. 1893case $at_skip_count in 1894 0) ;; 1895 1) at_result="$at_result 18961 test was skipped." ;; 1897 *) at_result="$at_result 1898$at_skip_count tests were skipped." ;; 1899esac 1900 1901if test $at_unexpected_count = 0; then 1902 echo "$at_color$at_result$at_std" 1903 echo "$at_result" >&5 1904else 1905 echo "${at_color}ERROR: $at_result$at_std" >&2 1906 echo "ERROR: $at_result" >&5 1907 { 1908 echo 1909 $as_echo "## ------------------------ ## 1910## Summary of the failures. ## 1911## ------------------------ ##" 1912 1913 # Summary of failed and skipped tests. 1914 if test $at_fail_count != 0; then 1915 echo "Failed tests:" 1916 $SHELL "$at_myself" $at_fail_list --list 1917 echo 1918 fi 1919 if test $at_skip_count != 0; then 1920 echo "Skipped tests:" 1921 $SHELL "$at_myself" $at_skip_list --list 1922 echo 1923 fi 1924 if test $at_xpass_count != 0; then 1925 echo "Unexpected passes:" 1926 $SHELL "$at_myself" $at_xpass_list --list 1927 echo 1928 fi 1929 if test $at_fail_count != 0; then 1930 $as_echo "## ---------------------- ## 1931## Detailed failed tests. ## 1932## ---------------------- ##" 1933 echo 1934 for at_group in $at_fail_list 1935 do 1936 at_group_normalized=$at_group 1937 1938 eval 'while :; do 1939 case $at_group_normalized in #( 1940 '"$at_format"'*) break;; 1941 esac 1942 at_group_normalized=0$at_group_normalized 1943 done' 1944 1945 cat "$at_suite_dir/$at_group_normalized/$as_me.log" 1946 echo 1947 done 1948 echo 1949 fi 1950 if test -n "$at_top_srcdir"; then 1951 sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX 1952## ${at_top_build_prefix}config.log ## 1953_ASBOX 1954 sed 's/^/| /' ${at_top_build_prefix}config.log 1955 echo 1956 fi 1957 } >&5 1958 1959 sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX 1960## $as_me.log was created. ## 1961_ASBOX 1962 1963 echo 1964 if $at_debug_p; then 1965 at_msg='per-test log files' 1966 else 1967 at_msg="\`${at_testdir+${at_testdir}/}$as_me.log'" 1968 fi 1969 $as_echo "Please send $at_msg and all information you think might help: 1970 1971 To: <bug-dico@gnu.org> 1972 Subject: [GNU dico 2.10] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} 1973 1974You may investigate any problem if you feel able to do so, in which 1975case the test suite provides a good starting point. Its output may 1976be found below \`${at_testdir+${at_testdir}/}$as_me.dir'. 1977" 1978 exit 1 1979fi 1980 1981exit 0 1982 1983## ------------- ## 1984## Actual tests. ## 1985## ------------- ## 1986#AT_START_1 1987at_fn_group_banner 1 'testsuite.at:23' \ 1988 "stratall" " " 1989at_xfail=no 1990( 1991 $as_echo "1. $at_setup_line: testing $at_desc ..." 1992 $at_traceon 1993 1994 1995 1996cat >input <<'_ATEOF' 1997match dev all "" 1998quit 1999_ATEOF 2000 2001{ set +x 2002$as_echo "$at_srcdir/testsuite.at:25: dicod --config \$abs_builddir/dicod.conf --stderr -i < input | tr -d '\\r' | sed 's/^\\(2[25][0-9]\\) .*/\\1/;s/ *\$//' " 2003at_fn_check_prepare_notrace 'a shell pipeline' "testsuite.at:25" 2004( $at_check_trace; dicod --config $abs_builddir/dicod.conf --stderr -i < input | tr -d '\r' | sed 's/^\(2[25][0-9]\) .*/\1/;s/ *$//' 2005) >>"$at_stdout" 2>>"$at_stderr" 5>&- 2006at_status=$? at_failed=false 2007$at_check_filter 2008at_fn_diff_devnull "$at_stderr" || at_failed=: 2009echo >>"$at_stdout"; $as_echo "220 2010152 995 matches found: list follows 2011dev \"ABASEMENT\" 2012dev \"ABATIS\" 2013dev \"ABDICATION\" 2014dev \"ABDOMEN\" 2015dev \"ABILITY\" 2016dev \"ABNORMAL\" 2017dev \"ABORIGINIES\" 2018dev \"ABRIDGE\" 2019dev \"ABRUPT\" 2020dev \"ABSCOND\" 2021dev \"ABSENT\" 2022dev \"ABSENTEE\" 2023dev \"ABSOLUTE\" 2024dev \"ABSTAINER\" 2025dev \"ABSURDITY\" 2026dev \"ACADEME\" 2027dev \"ACADEMY\" 2028dev \"ACCIDENT\" 2029dev \"ACCOMPLICE\" 2030dev \"ACCORD\" 2031dev \"ACCORDION\" 2032dev \"ACCOUNTABILITY\" 2033dev \"ACCUSE\" 2034dev \"ACEPHALOUS\" 2035dev \"ACHIEVEMENT\" 2036dev \"ACKNOWLEDGE\" 2037dev \"ACQUAINTANCE\" 2038dev \"ACTUALLY\" 2039dev \"ADAGE\" 2040dev \"ADAMANT\" 2041dev \"ADDER\" 2042dev \"ADHERENT\" 2043dev \"ADMINISTRATION\" 2044dev \"ADMIRAL\" 2045dev \"ADMIRATION\" 2046dev \"ADMONITION\" 2047dev \"ADORE\" 2048dev \"ADVICE\" 2049dev \"AFFIANCED\" 2050dev \"AFFLICTION\" 2051dev \"AFRICAN\" 2052dev \"AGE\" 2053dev \"AGITATOR\" 2054dev \"AIM\" 2055dev \"AIR\" 2056dev \"ALDERMAN\" 2057dev \"ALIEN\" 2058dev \"ALLAH\" 2059dev \"ALLEGIANCE\" 2060dev \"ALLIANCE\" 2061dev \"ALLIGATOR\" 2062dev \"ALONE\" 2063dev \"ALTAR\" 2064dev \"AMBIDEXTROUS\" 2065dev \"AMBITION\" 2066dev \"AMNESTY\" 2067dev \"ANOINT\" 2068dev \"ANTIPATHY\" 2069dev \"APHORISM\" 2070dev \"APOLOGIZE\" 2071dev \"APOSTATE\" 2072dev \"APOTHECARY\" 2073dev \"APPEAL\" 2074dev \"APPETITE\" 2075dev \"APPLAUSE\" 2076dev \"APRIL FOOL\" 2077dev \"ARCHBISHOP\" 2078dev \"ARCHITECT\" 2079dev \"ARDOR\" 2080dev \"ARENA\" 2081dev \"ARISTOCRACY\" 2082dev \"ARMOR\" 2083dev \"ARRAYED\" 2084dev \"ARREST\" 2085dev \"ARSENIC\" 2086dev \"ART\" 2087dev \"ARTLESSNESS\" 2088dev \"ASPERSE\" 2089dev \"ASS\" 2090dev \"AUCTIONEER\" 2091dev \"AUSTRALIA\" 2092dev \"AVERNUS\" 2093dev \"BAAL\" 2094dev \"BABE\" 2095dev \"BACCHUS\" 2096dev \"BACK\" 2097dev \"BACKBITE\" 2098dev \"BAIT\" 2099dev \"BAPTISM\" 2100dev \"BAROMETER\" 2101dev \"BARRACK\" 2102dev \"BASILISK\" 2103dev \"BASTINADO\" 2104dev \"BATH\" 2105dev \"BATTLE\" 2106dev \"BEARD\" 2107dev \"BEAUTY\" 2108dev \"BEFRIEND\" 2109dev \"BEG\" 2110dev \"BEGGAR\" 2111dev \"BEHAVIOR\" 2112dev \"BELLADONNA\" 2113dev \"BENEDICTINES\" 2114dev \"BENEFACTOR\" 2115dev \"BERENICE'S HAIR\" 2116dev \"BIGAMY\" 2117dev \"BIGOT\" 2118dev \"BILLINGSGATE\" 2119dev \"BIRTH\" 2120dev \"BLACKGUARD\" 2121dev \"BLANK-VERSE\" 2122dev \"BODY-SNATCHER\" 2123dev \"BONDSMAN\" 2124dev \"BORE\" 2125dev \"BOTANY\" 2126dev \"BOTTLE-NOSED\" 2127dev \"BOUNDARY\" 2128dev \"BOUNTY\" 2129dev \"BRAHMA\" 2130dev \"BRAIN\" 2131dev \"BRANDY\" 2132dev \"BRIDE\" 2133dev \"BRUTE\" 2134dev \"CAABA\" 2135dev \"CABBAGE\" 2136dev \"CALAMITY\" 2137dev \"CALLOUS\" 2138dev \"CALUMNUS\" 2139dev \"CAMEL\" 2140dev \"CANNIBAL\" 2141dev \"CANNON\" 2142dev \"CANONICALS\" 2143dev \"CAPITAL\" 2144dev \"CARMELITE\" 2145dev \"CARNIVOROUS\" 2146dev \"CARTESIAN\" 2147dev \"CAT\" 2148dev \"CAVILER\" 2149dev \"CEMETERY\" 2150dev \"CENTAUR\" 2151dev \"CERBERUS\" 2152dev \"CHILDHOOD\" 2153dev \"CHRISTIAN\" 2154dev \"CIRCUS\" 2155dev \"CLAIRVOYANT\" 2156dev \"CLARIONET\" 2157dev \"CLERGYMAN\" 2158dev \"CLIO\" 2159dev \"CLOCK\" 2160dev \"CLOSE-FISTED\" 2161dev \"COENOBITE\" 2162dev \"COMFORT\" 2163dev \"COMMENDATION\" 2164dev \"COMMERCE\" 2165dev \"COMMONWEALTH\" 2166dev \"COMPROMISE\" 2167dev \"COMPULSION\" 2168dev \"CONDOLE\" 2169dev \"CONFIDANT\" 2170dev \"CONGRATULATION\" 2171dev \"CONGRESS\" 2172dev \"CONNOISSEUR\" 2173dev \"CONSERVATIVE\" 2174dev \"CONSOLATION\" 2175dev \"CONSUL\" 2176dev \"CONSULT\" 2177dev \"CONTEMPT\" 2178dev \"CONTROVERSY\" 2179dev \"CONVENT\" 2180dev \"CONVERSATION\" 2181dev \"CORONATION\" 2182dev \"CORPORAL\" 2183dev \"CORPORATION\" 2184dev \"CORSAIR\" 2185dev \"COURT FOOL\" 2186dev \"COWARD\" 2187dev \"CRAYFISH\" 2188dev \"CREDITOR\" 2189dev \"CREMONA\" 2190dev \"CRITIC\" 2191dev \"CROSS\" 2192dev \"CUI\" 2193dev \"CUNNING\" 2194dev \"CUPID\" 2195dev \"CURIOSITY\" 2196dev \"CURSE\" 2197dev \"CYNIC\" 2198dev \"DAMN\" 2199dev \"DANCE\" 2200dev \"DANGER\" 2201dev \"DARING\" 2202dev \"DATARY\" 2203dev \"DAWN\" 2204dev \"DAY\" 2205dev \"DEAD\" 2206dev \"DEBAUCHEE\" 2207dev \"DEBT\" 2208dev \"DECALOGUE\" 2209dev \"DECIDE\" 2210dev \"DEFAME\" 2211dev \"DEFENCELESS\" 2212dev \"DEGENERATE\" 2213dev \"DEGRADATION\" 2214dev \"DEINOTHERIUM\" 2215dev \"DEJEUNER\" 2216dev \"DELEGATION\" 2217dev \"DELIBERATION\" 2218dev \"DELUGE\" 2219dev \"DELUSION\" 2220dev \"DENTIST\" 2221dev \"DEPENDENT\" 2222dev \"DEPUTY\" 2223dev \"DESTINY\" 2224dev \"DIAGNOSIS\" 2225dev \"DIAPHRAGM\" 2226dev \"DIARY\" 2227dev \"DICTATOR\" 2228dev \"DICTIONARY\" 2229dev \"DIE\" 2230dev \"DIGESTION\" 2231dev \"DIPLOMACY\" 2232dev \"DISABUSE\" 2233dev \"DISCRIMINATE\" 2234dev \"DISCUSSION\" 2235dev \"DISOBEDIENCE\" 2236dev \"DISOBEY\" 2237dev \"DISSEMBLE\" 2238dev \"DISTANCE\" 2239dev \"DISTRESS\" 2240dev \"DIVINATION\" 2241dev \"DOG\" 2242dev \"DRAGOON\" 2243dev \"DRAMATIST\" 2244dev \"DRUIDS\" 2245dev \"DUCK-BILL\" 2246dev \"DUEL\" 2247dev \"DULLARD\" 2248dev \"DUTY\" 2249dev \"EAT\" 2250dev \"EAVESDROP\" 2251dev \"ECCENTRICITY\" 2252dev \"ECONOMY\" 2253dev \"EDIBLE\" 2254dev \"EDITOR\" 2255dev \"EDUCATION\" 2256dev \"EFFECT\" 2257dev \"EGOTIST\" 2258dev \"EJECTION\" 2259dev \"ELECTOR\" 2260dev \"ELECTRICITY\" 2261dev \"ELEGY\" 2262dev \"ELOQUENCE\" 2263dev \"ELYSIUM\" 2264dev \"EMANCIPATION\" 2265dev \"EMBALM\" 2266dev \"EMOTION\" 2267dev \"ENCOMIAST\" 2268dev \"END\" 2269dev \"ENOUGH\" 2270dev \"ENTERTAINMENT\" 2271dev \"ENTHUSIASM\" 2272dev \"ENVELOPE\" 2273dev \"ENVY\" 2274dev \"EPAULET\" 2275dev \"EPICURE\" 2276dev \"EPIGRAM\" 2277dev \"EPITAPH\" 2278dev \"ERUDITION\" 2279dev \"ESOTERIC\" 2280dev \"ETHNOLOGY\" 2281dev \"EUCHARIST\" 2282dev \"EULOGY\" 2283dev \"EVANGELIST\" 2284dev \"EVERLASTING\" 2285dev \"EXCEPTION\" 2286dev \"EXCESS\" 2287dev \"EXCOMMUNICATION\" 2288dev \"EXECUTIVE\" 2289dev \"EXHORT\" 2290dev \"EXILE\" 2291dev \"EXISTENCE\" 2292dev \"EXPERIENCE\" 2293dev \"EXPOSTULATION\" 2294dev \"EXTINCTION\" 2295dev \"FAIRY\" 2296dev \"FAITH\" 2297dev \"FAMOUS\" 2298dev \"FASHION\" 2299dev \"FEAST\" 2300dev \"FELON\" 2301dev \"FEMALE\" 2302dev \"FIB\" 2303dev \"FICKLENESS\" 2304dev \"FIDDLE\" 2305dev \"FIDELITY\" 2306dev \"FINANCE\" 2307dev \"FLAG\" 2308dev \"FLESH\" 2309dev \"FLOP\" 2310dev \"FLY-SPECK\" 2311dev \"FOLLY\" 2312dev \"FOOL\" 2313dev \"FORCE\" 2314dev \"FOREFINGER\" 2315dev \"FOREORDINATION\" 2316dev \"FORGETFULNESS\" 2317dev \"FORK\" 2318dev \"FORMA\" 2319dev \"FRANKALMOIGNE\" 2320dev \"FREEBOOTER\" 2321dev \"FREEDOM\" 2322dev \"FREEMASONS\" 2323dev \"FRIENDLESS\" 2324dev \"FRIENDSHIP\" 2325dev \"FROG\" 2326dev \"FRYING-PAN\" 2327dev \"FUNERAL\" 2328dev \"FUTURE\" 2329dev \"GALLOWS\" 2330dev \"GARGOYLE\" 2331dev \"GARTHER\" 2332dev \"GENEALOGY\" 2333dev \"GENEROUS\" 2334dev \"GENTEEL\" 2335dev \"GEOGRAPHER\" 2336dev \"GEOLOGY\" 2337dev \"GHOST\" 2338dev \"GHOUL\" 2339dev \"GLUTTON\" 2340dev \"GNOME\" 2341dev \"GNOSTICS\" 2342dev \"GNU\" 2343dev \"GOOD\" 2344dev \"GOOSE\" 2345dev \"GORGON\" 2346dev \"GOUT\" 2347dev \"GRACES\" 2348dev \"GRAMMAR\" 2349dev \"GRAPE\" 2350dev \"GRAPESHOT\" 2351dev \"GRAVE\" 2352dev \"GRAVITATION\" 2353dev \"GREAT\" 2354dev \"GUILLOTINE\" 2355dev \"GUNPOWDER\" 2356dev \"HABEAS\" 2357dev \"HABIT\" 2358dev \"HADES\" 2359dev \"HAG\" 2360dev \"HALF\" 2361dev \"HALO\" 2362dev \"HAND\" 2363dev \"HANDKERCHIEF\" 2364dev \"HANGMAN\" 2365dev \"HAPPINESS\" 2366dev \"HARANGUE\" 2367dev \"HARBOR\" 2368dev \"HARMONISTS\" 2369dev \"HASH\" 2370dev \"HATCHET\" 2371dev \"HATRED\" 2372dev \"HEAD-MONEY\" 2373dev \"HEARSE\" 2374dev \"HEART\" 2375dev \"HEAT\" 2376dev \"HEATHEN\" 2377dev \"HEAVEN\" 2378dev \"HEBREW\" 2379dev \"HELPMATE\" 2380dev \"HEMP\" 2381dev \"HERMIT\" 2382dev \"HERS\" 2383dev \"HIBERNATE\" 2384dev \"HIPPOGRIFF\" 2385dev \"HISTORIAN\" 2386dev \"HISTORY\" 2387dev \"HOG\" 2388dev \"HOMICIDE\" 2389dev \"HOMILETICS\" 2390dev \"HOMOEOPATHIST\" 2391dev \"HOMOEOPATHY\" 2392dev \"HONORABLE\" 2393dev \"HOPE\" 2394dev \"HOSPITALITY\" 2395dev \"HOSTILITY\" 2396dev \"HOURI\" 2397dev \"HOUSE\" 2398dev \"HOUSELESS\" 2399dev \"HOVEL\" 2400dev \"HUMANITY\" 2401dev \"HUMORIST\" 2402dev \"HURRICANE\" 2403dev \"HURRY\" 2404dev \"HUSBAND\" 2405dev \"HYBRID\" 2406dev \"HYDRA\" 2407dev \"HYENA\" 2408dev \"HYPOCHONDRIASIS\" 2409dev \"HYPOCRITE\" 2410dev \"I\" 2411dev \"ICHOR\" 2412dev \"ICONOCLAST\" 2413dev \"IDIOT\" 2414dev \"IDLENESS\" 2415dev \"IGNORAMUS\" 2416dev \"ILLUMINATI\" 2417dev \"ILLUSTRIOUS\" 2418dev \"IMAGINATION\" 2419dev \"IMBECILITY\" 2420dev \"IMMIGRANT\" 2421dev \"IMMODEST\" 2422dev \"IMMORAL\" 2423dev \"IMMORTALITY\" 2424dev \"IMPALE\" 2425dev \"IMPARTIAL\" 2426dev \"IMPENITENCE\" 2427dev \"IMPIETY\" 2428dev \"IMPOSITION\" 2429dev \"IMPOSTOR\" 2430dev \"IMPROBABILITY\" 2431dev \"IMPROVIDENCE\" 2432dev \"IMPUNITY\" 2433dev \"IN'ARDS\" 2434dev \"INADMISSIBLE\" 2435dev \"INAUSPICIOUSLY\" 2436dev \"INCOME\" 2437dev \"INCOMPATIBILITY\" 2438dev \"INCOMPOSSIBLE\" 2439dev \"INCUBUS\" 2440dev \"INCUMBENT\" 2441dev \"INDECISION\" 2442dev \"INDIFFERENT\" 2443dev \"INDIGESTION\" 2444dev \"INDISCRETION\" 2445dev \"INEXPEDIENT\" 2446dev \"INFALAPSARIAN\" 2447dev \"INFANCY\" 2448dev \"INFERIAE\" 2449dev \"INFIDEL\" 2450dev \"INFLUENCE\" 2451dev \"INGRATE\" 2452dev \"INJURY\" 2453dev \"INJUSTICE\" 2454dev \"INK\" 2455dev \"INNATE\" 2456dev \"INSCRIPTION\" 2457dev \"INSECTIVORA\" 2458dev \"INSURANCE\" 2459dev \"INSURRECTION\" 2460dev \"INTENTION\" 2461dev \"INTERPRETER\" 2462dev \"INTERREGNUM\" 2463dev \"INTIMACY\" 2464dev \"INTRODUCTION\" 2465dev \"INVENTOR\" 2466dev \"IRRELIGION\" 2467dev \"ITCH\" 2468dev \"J\" 2469dev \"JEALOUS\" 2470dev \"JESTER\" 2471dev \"JEWS-HARP\" 2472dev \"JOSS-STICKS\" 2473dev \"JUSTICE\" 2474dev \"K\" 2475dev \"KEEP\" 2476dev \"KILL\" 2477dev \"KILT\" 2478dev \"KINDNESS\" 2479dev \"KING\" 2480dev \"KING'S EVIL\" 2481dev \"KISS\" 2482dev \"KLEPTOMANIAC\" 2483dev \"KNIGHT\" 2484dev \"KORAN\" 2485dev \"LABOR\" 2486dev \"LAND\" 2487dev \"LANGUAGE\" 2488dev \"LAOCOON\" 2489dev \"LAP\" 2490dev \"LAST\" 2491dev \"LAUGHTER\" 2492dev \"LAUREATE\" 2493dev \"LAUREL\" 2494dev \"LAW\" 2495dev \"LAWFUL\" 2496dev \"LAWYER\" 2497dev \"LAZINESS\" 2498dev \"LEAD\" 2499dev \"LEARNING\" 2500dev \"LECTURER\" 2501dev \"LEGACY\" 2502dev \"LEONINE\" 2503dev \"LETTUCE\" 2504dev \"LEVIATHAN\" 2505dev \"LEXICOGRAPHER\" 2506dev \"LIAR\" 2507dev \"LIBERTY\" 2508dev \"LICKSPITTLE\" 2509dev \"LIFE\" 2510dev \"LIGHTHOUSE\" 2511dev \"LIMB\" 2512dev \"LINEN\" 2513dev \"LITIGANT\" 2514dev \"LITIGATION\" 2515dev \"LIVER\" 2516dev \"LOCK-AND-KEY\" 2517dev \"LODGER\" 2518dev \"LOGANIMITY\" 2519dev \"LOGIC\" 2520dev \"LOGOMACHY\" 2521dev \"LONGEVITY\" 2522dev \"LOOKING-GLASS\" 2523dev \"LOQUACITY\" 2524dev \"LORD\" 2525dev \"LORE\" 2526dev \"LOSS\" 2527dev \"LOVE\" 2528dev \"LOW-BRED\" 2529dev \"LUMINARY\" 2530dev \"LUNARIAN\" 2531dev \"LYRE\" 2532dev \"MACE\" 2533dev \"MACHINATION\" 2534dev \"MACROBIAN\" 2535dev \"MAD\" 2536dev \"MAGDALENE\" 2537dev \"MAGIC\" 2538dev \"MAGNET\" 2539dev \"MAGNETISM\" 2540dev \"MAGNIFICENT\" 2541dev \"MAGNITUDE\" 2542dev \"MAGPIE\" 2543dev \"MAIDEN\" 2544dev \"MAJESTY\" 2545dev \"MALE\" 2546dev \"MALEFACTOR\" 2547dev \"MALTHUSIAN\" 2548dev \"MAMMALIA\" 2549dev \"MAMMON\" 2550dev \"MAN\" 2551dev \"MANES\" 2552dev \"MANICHEISM\" 2553dev \"MANNA\" 2554dev \"MARRIAGE\" 2555dev \"MARTYR\" 2556dev \"MATERIAL\" 2557dev \"MAUSOLEUM\" 2558dev \"MAYONNAISE\" 2559dev \"ME\" 2560dev \"MEANDER\" 2561dev \"MEDAL\" 2562dev \"MEDICINE\" 2563dev \"MEEKNESS\" 2564dev \"MEERSCHAUM\" 2565dev \"MENDACIOUS\" 2566dev \"MERCHANT\" 2567dev \"MERCY\" 2568dev \"MESMERISM\" 2569dev \"METROPOLIS\" 2570dev \"MILLENNIUM\" 2571dev \"MIND\" 2572dev \"MINE\" 2573dev \"MINISTER\" 2574dev \"MINOR\" 2575dev \"MINSTREL\" 2576dev \"MIRACLE\" 2577dev \"MISCREANT\" 2578dev \"MISDEMEANOR\" 2579dev \"MISERICORDE\" 2580dev \"MISFORTUNE\" 2581dev \"MISS\" 2582dev \"MOLECULE\" 2583dev \"MONAD\" 2584dev \"MONARCH\" 2585dev \"MONARCHICAL GOVERNMENT\" 2586dev \"MONDAY\" 2587dev \"MONEY\" 2588dev \"MONKEY\" 2589dev \"MONOSYLLABIC\" 2590dev \"MONSIGNOR\" 2591dev \"MONUMENT\" 2592dev \"MORAL\" 2593dev \"MORE\" 2594dev \"MOUSE\" 2595dev \"MOUSQUETAIRE\" 2596dev \"MOUTH\" 2597dev \"MUGWUMP\" 2598dev \"MULATTO\" 2599dev \"MULTITUDE\" 2600dev \"MUMMY\" 2601dev \"MUSTANG\" 2602dev \"MYRMIDON\" 2603dev \"MYTHOLOGY\" 2604dev \"NECTAR\" 2605dev \"NEGRO\" 2606dev \"NEIGHBOR\" 2607dev \"NEPOTISM\" 2608dev \"NEWTONIAN\" 2609dev \"NIHILIST\" 2610dev \"NIRVANA\" 2611dev \"NOBLEMAN\" 2612dev \"NOISE\" 2613dev \"NOMINATE\" 2614dev \"NOMINEE\" 2615dev \"NON-COMBATANT\" 2616dev \"NONSENSE\" 2617dev \"NOSE\" 2618dev \"NOTORIETY\" 2619dev \"NOUMENON\" 2620dev \"NOVEL\" 2621dev \"NOVEMBER\" 2622dev \"OATH\" 2623dev \"OBLIVION\" 2624dev \"OBSERVATORY\" 2625dev \"OBSESSED\" 2626dev \"OBSOLETE\" 2627dev \"OBSTINATE\" 2628dev \"OCCASIONAL\" 2629dev \"OCCIDENT\" 2630dev \"OCEAN\" 2631dev \"OFFENSIVE\" 2632dev \"OLD\" 2633dev \"OLEAGINOUS\" 2634dev \"OLYMPIAN\" 2635dev \"OMEN\" 2636dev \"ONCE\" 2637dev \"OPERA\" 2638dev \"OPIATE\" 2639dev \"OPPORTUNITY\" 2640dev \"OPPOSE\" 2641dev \"OPPOSITION\" 2642dev \"OPTIMISM\" 2643dev \"OPTIMIST\" 2644dev \"ORATORY\" 2645dev \"ORPHAN\" 2646dev \"ORTHODOX\" 2647dev \"ORTHOGRAPHY\" 2648dev \"OSTRICH\" 2649dev \"OTHERWISE\" 2650dev \"OUT-OF-DOORS\" 2651dev \"OUTCOME\" 2652dev \"OUTDO\" 2653dev \"OVATION\" 2654dev \"OVEREAT\" 2655dev \"OVERWORK\" 2656dev \"OWE\" 2657dev \"OYSTER\" 2658dev \"PAIN\" 2659dev \"PAINTING\" 2660dev \"PALACE\" 2661dev \"PALM\" 2662dev \"PALMISTRY\" 2663dev \"PANDEMONIUM\" 2664dev \"PANTALOONS\" 2665dev \"PANTHEISM\" 2666dev \"PANTOMIME\" 2667dev \"PARDON\" 2668dev \"PASSPORT\" 2669dev \"PAST\" 2670dev \"PASTIME\" 2671dev \"PATIENCE\" 2672dev \"PATRIOT\" 2673dev \"PATRIOTISM\" 2674dev \"PEACE\" 2675dev \"PEDESTRIAN\" 2676dev \"PEDIGREE\" 2677dev \"PENITENT\" 2678dev \"PERFECTION\" 2679dev \"PERIPATETIC\" 2680dev \"PERORATION\" 2681dev \"PERSEVERANCE\" 2682dev \"PESSIMISM\" 2683dev \"PHILANTHROPIST\" 2684dev \"PHILISTINE\" 2685dev \"PHILOSOPHY\" 2686dev \"PHOENIX\" 2687dev \"PHONOGRAPH\" 2688dev \"PHOTOGRAPH\" 2689dev \"PHRENOLOGY\" 2690dev \"PHYSICIAN\" 2691dev \"PHYSIOGNOMY\" 2692dev \"PIANO\" 2693dev \"PICKANINNY\" 2694dev \"PICTURE\" 2695dev \"PIE\" 2696dev \"PIETY\" 2697dev \"PIG\" 2698dev \"PIGMY\" 2699dev \"PILGRIM\" 2700dev \"PILLORY\" 2701dev \"PIRACY\" 2702dev \"PITIFUL\" 2703dev \"PITY\" 2704dev \"PLAGIARISM\" 2705dev \"PLAGIARIZE\" 2706dev \"PLAGUE\" 2707dev \"PLAN\" 2708dev \"PLATITUDE\" 2709dev \"PLATONIC\" 2710dev \"PLAUDITS\" 2711dev \"PLEASE\" 2712dev \"PLEASURE\" 2713dev \"PLEBEIAN\" 2714dev \"PLEBISCITE\" 2715dev \"PLENIPOTENTIARY\" 2716dev \"PLEONASM\" 2717dev \"PLOW\" 2718dev \"PLUNDER\" 2719dev \"POCKET\" 2720dev \"POETRY\" 2721dev \"POKER\" 2722dev \"POLICE\" 2723dev \"POLITENESS\" 2724dev \"POLITICIAN\" 2725dev \"POLITICS\" 2726dev \"POLYGAMY\" 2727dev \"POPULIST\" 2728dev \"PORTABLE\" 2729dev \"PORTUGUESE\" 2730dev \"POSITIVE\" 2731dev \"POSITIVISM\" 2732dev \"POSTERITY\" 2733dev \"POTABLE\" 2734dev \"POVERTY\" 2735dev \"PRAY\" 2736dev \"PRE-ADAMITE\" 2737dev \"PRE-EXISTENCE\" 2738dev \"PRECEDENT\" 2739dev \"PRECEDENT\" 2740dev \"PRECIPITATE\" 2741dev \"PREDESTINATION\" 2742dev \"PREDICAMENT\" 2743dev \"PREDILECTION\" 2744dev \"PREFERENCE\" 2745dev \"PREHISTORIC\" 2746dev \"PREJUDICE\" 2747dev \"PRELATE\" 2748dev \"PREROGATIVE\" 2749dev \"PRESBYTERIAN\" 2750dev \"PRESCRIPTION\" 2751dev \"PRESENT\" 2752dev \"PRESENTABLE\" 2753dev \"PRESIDE\" 2754dev \"PRESIDENCY\" 2755dev \"PRESIDENT\" 2756dev \"PREVARICATOR\" 2757dev \"PRICE\" 2758dev \"PRIMATE\" 2759dev \"PRISON\" 2760dev \"PRIVATE\" 2761dev \"PROBOSCIS\" 2762dev \"PROJECTILE\" 2763dev \"PROOF\" 2764dev \"PROOF-READER\" 2765dev \"PROPERTY\" 2766dev \"PROPHECY\" 2767dev \"PROSPECT\" 2768dev \"PROVIDENTIAL\" 2769dev \"PRUDE\" 2770dev \"PUBLISH\" 2771dev \"PUSH\" 2772dev \"PYRRHONISM\" 2773dev \"QUEEN\" 2774dev \"QUILL\" 2775dev \"QUIVER\" 2776dev \"QUIXOTIC\" 2777dev \"QUORUM\" 2778dev \"QUOTATION\" 2779dev \"QUOTIENT\" 2780dev \"RABBLE\" 2781dev \"RACK\" 2782dev \"RADICALISM\" 2783dev \"RADIUM\" 2784dev \"RAILROAD\" 2785dev \"RAMSHACKLE\" 2786dev \"RANK\" 2787dev \"RANSOM\" 2788dev \"RAPACITY\" 2789dev \"RAREBIT\" 2790dev \"RASCAL\" 2791dev \"RASCALITY\" 2792dev \"RASH\" 2793dev \"RATIONAL\" 2794dev \"RATTLESNAKE\" 2795dev \"RAZOR\" 2796dev \"REACH\" 2797dev \"READING\" 2798dev \"REALISM\" 2799dev \"REALITY\" 2800dev \"REALLY\" 2801dev \"REAR\" 2802dev \"REASON\" 2803dev \"REASON\" 2804dev \"REASONABLE\" 2805dev \"REBEL\" 2806dev \"RECOLLECT\" 2807dev \"RECONCILIATION\" 2808dev \"RECONSIDER\" 2809dev \"RECOUNT\" 2810dev \"RECREATION\" 2811dev \"RECRUIT\" 2812dev \"RECTOR\" 2813dev \"RED-SKIN\" 2814dev \"REDEMPTION\" 2815dev \"REDRESS\" 2816dev \"REDUNDANT\" 2817dev \"REFERENDUM\" 2818dev \"REFLECTION\" 2819dev \"REFORM\" 2820dev \"REFUGE\" 2821dev \"REFUSAL\" 2822dev \"REGALIA\" 2823dev \"RELIGION\" 2824dev \"RELIQUARY\" 2825dev \"RENOWN\" 2826dev \"REPARATION\" 2827dev \"REPARTEE\" 2828dev \"REPENTANCE\" 2829dev \"REPLICA\" 2830dev \"REPORTER\" 2831dev \"REPOSE\" 2832dev \"REPRESENTATIVE\" 2833dev \"REPROBATION\" 2834dev \"REPUBLIC\" 2835dev \"REQUIEM\" 2836dev \"RESIDENT\" 2837dev \"RESIGN\" 2838dev \"RESOLUTE\" 2839dev \"RESPECTABILITY\" 2840dev \"RESPIRATOR\" 2841dev \"RESPITE\" 2842dev \"RESPLENDENT\" 2843dev \"RESPOND\" 2844dev \"RESPONSIBILITY\" 2845dev \"RESTITUTIONS\" 2846dev \"RESTITUTOR\" 2847dev \"RETALIATION\" 2848dev \"RETRIBUTION\" 2849dev \"REVEILLE\" 2850dev \"REVELATION\" 2851dev \"REVERENCE\" 2852dev \"REVIEW\" 2853dev \"REVOLUTION\" 2854dev \"RHADOMANCER\" 2855dev \"RIBALDRY\" 2856dev \"RIBROASTER\" 2857dev \"RICE-WATER\" 2858dev \"RICH\" 2859dev \"RICHES\" 2860dev \"RIDICULE\" 2861dev \"RIGHT\" 2862dev \"RIGHTEOUSNESS\" 2863dev \"RIME\" 2864dev \"RIMER\" 2865dev \"RIOT\" 2866dev \"RITE\" 2867dev \"RITUALISM\" 2868dev \"ROAD\" 2869dev \"ROBBER\" 2870dev \"ROMANCE\" 2871dev \"ROPE\" 2872dev \"ROSTRUM\" 2873dev \"ROUNDHEAD\" 2874dev \"RUBBISH\" 2875dev \"RUIN\" 2876dev \"RUM\" 2877dev \"RUMOR\" 2878dev \"RUSSIAN\" 2879dev \"SABBATH\" 2880dev \"SACERDOTALIST\" 2881dev \"SACRAMENT\" 2882dev \"SACRED\" 2883dev \"SAFETY-CLUTCH\" 2884dev \"SAINT\" 2885dev \"SALACITY\" 2886dev \"SALAMANDER\" 2887dev \"SANDLOTTER\" 2888dev \"SARCOPHAGUS\" 2889dev \"SATAN\" 2890dev \"SATIETY\" 2891dev \"SATIRE\" 2892dev \"SATYR\" 2893dev \"SAUCE\" 2894dev \"SAW\" 2895dev \"SCARABAEUS\" 2896dev \"SCARABEE\" 2897dev \"SCARIFICATION\" 2898dev \"SCEPTER\" 2899dev \"SCIMETAR\" 2900dev \"SCRAP-BOOK\" 2901dev \"SCRIBBLER\" 2902dev \"SCRIPTURES\" 2903dev \"SEAL\" 2904dev \"SEINE\" 2905dev \"SELF-ESTEEM\" 2906dev \"SELF-EVIDENT\" 2907dev \"SELFISH\" 2908dev \"SENATE\" 2909dev \"SERIAL\" 2910dev \"SEVERALTY\" 2911dev \"SHERIFF\" 2912dev \"SIREN\" 2913dev \"SLANG\" 2914dev \"SMITHAREEN\" 2915dev \"SOPHISTRY\" 2916dev \"SORCERY\" 2917dev \"SOUL\" 2918dev \"SPOOKER\" 2919dev \"STORY\" 2920dev \"SUCCESS\" 2921dev \"SUFFRAGE\" 2922dev \"SYCOPHANT\" 2923dev \"SYLLOGISM\" 2924dev \"SYLPH\" 2925dev \"SYMBOL\" 2926dev \"SYMBOLIC\" 2927dev \"T\" 2928dev \"TABLE D'HOTE\" 2929dev \"TAIL\" 2930dev \"TAKE\" 2931dev \"TALK\" 2932dev \"TARIFF\" 2933dev \"TECHNICALITY\" 2934dev \"TEDIUM\" 2935dev \"TEETOTALER\" 2936dev \"TELEPHONE\" 2937dev \"TELESCOPE\" 2938dev \"TENACITY\" 2939dev \"THEOSOPHY\" 2940dev \"TIGHTS\" 2941dev \"TOMB\" 2942dev \"TOPE\" 2943dev \"TORTOISE\" 2944dev \"TREE\" 2945dev \"TRIAL\" 2946dev \"TRICHINOSIS\" 2947dev \"TRINITY\" 2948dev \"TROGLODYTE\" 2949dev \"TRUCE\" 2950dev \"TRUST\" 2951dev \"TRUTH\" 2952dev \"TRUTHFUL\" 2953dev \"TURKEY\" 2954dev \"TWICE\" 2955dev \"TYPE\" 2956dev \"TZETZE\" 2957dev \"UBIQUITY\" 2958dev \"UGLINESS\" 2959dev \"ULTIMATUM\" 2960dev \"UN-AMERICAN\" 2961dev \"UNCTION\" 2962dev \"UNDERSTANDING\" 2963dev \"UNITARIAN\" 2964dev \"UNIVERSALIST\" 2965dev \"URBANITY\" 2966dev \"USAGE\" 2967dev \"UXORIOUSNESS\" 2968dev \"VALOR\" 2969dev \"VANITY\" 2970dev \"VIRTUES\" 2971dev \"VITUPERATION\" 2972dev \"VOTE\" 2973dev \"W\" 2974dev \"WALL STREET\" 2975dev \"WAR\" 2976dev \"WASHINGTONIAN\" 2977dev \"WEAKNESSES\" 2978dev \"WEATHER\" 2979dev \"WEDDING\" 2980dev \"WEREWOLF\" 2981dev \"WHANGDEPOOTENAWAH\" 2982dev \"WHEAT\" 2983dev \"WHITE\" 2984dev \"WIDOW\" 2985dev \"WINE\" 2986dev \"WIT\" 2987dev \"WITCH\" 2988dev \"WITTICISM\" 2989dev \"WOMAN\" 2990dev \"WORMS'-MEAT\" 2991dev \"WORSHIP\" 2992dev \"WRATH\" 2993dev \"X\" 2994dev \"YANKEE\" 2995dev \"YEAR\" 2996dev \"YESTERDAY\" 2997dev \"YOKE\" 2998dev \"YOUTH\" 2999dev \"ZANY\" 3000dev \"ZANZIBARI\" 3001dev \"ZEAL\" 3002dev \"ZENITH\" 3003dev \"ZEUS\" 3004dev \"ZIGZAG\" 3005dev \"ZOOLOGY\" 3006. 3007250 3008221 3009" | \ 3010 $at_diff - "$at_stdout" || at_failed=: 3011at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:25" 3012$at_failed && at_fn_log_failure 3013$at_traceon; } 3014 3015 set +x 3016 $at_times_p && times >"$at_times_file" 3017) 5>&1 2>&1 7>&- | eval $at_tee_pipe 3018read at_status <"$at_status_file" 3019#AT_STOP_1 3020