Home | History | Annotate | Line # | Download | only in bootstrap
      1      1.1  jmmv #! /bin/sh
      2      1.1  jmmv # Generated from bootstrap/testsuite.at by GNU Autoconf 2.69.
      3      1.1  jmmv #
      4      1.1  jmmv # Copyright (C) 2009-2012 Free Software Foundation, Inc.
      5      1.1  jmmv #
      6      1.1  jmmv # This test suite is free software; the Free Software Foundation gives
      7      1.1  jmmv # unlimited permission to copy, distribute and modify it.
      8      1.1  jmmv ## -------------------- ##
      9      1.1  jmmv ## M4sh Initialization. ##
     10      1.1  jmmv ## -------------------- ##
     11      1.1  jmmv 
     12      1.1  jmmv # Be more Bourne compatible
     13      1.1  jmmv DUALCASE=1; export DUALCASE # for MKS sh
     14      1.1  jmmv if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
     15      1.1  jmmv   emulate sh
     16      1.1  jmmv   NULLCMD=:
     17      1.1  jmmv   # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
     18      1.1  jmmv   # is contrary to our usage.  Disable this feature.
     19      1.1  jmmv   alias -g '${1+"$@"}'='"$@"'
     20      1.1  jmmv   setopt NO_GLOB_SUBST
     21      1.1  jmmv else
     22      1.1  jmmv   case `(set -o) 2>/dev/null` in #(
     23      1.1  jmmv   *posix*) :
     24      1.1  jmmv     set -o posix ;; #(
     25      1.1  jmmv   *) :
     26      1.1  jmmv      ;;
     27      1.1  jmmv esac
     28      1.1  jmmv fi
     29      1.1  jmmv 
     30      1.1  jmmv 
     31      1.1  jmmv as_nl='
     32      1.1  jmmv '
     33      1.1  jmmv export as_nl
     34      1.1  jmmv # Printing a long string crashes Solaris 7 /usr/bin/printf.
     35      1.1  jmmv as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
     36      1.1  jmmv as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
     37      1.1  jmmv as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
     38      1.1  jmmv # Prefer a ksh shell builtin over an external printf program on Solaris,
     39      1.1  jmmv # but without wasting forks for bash or zsh.
     40      1.1  jmmv if test -z "$BASH_VERSION$ZSH_VERSION" \
     41      1.1  jmmv     && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
     42      1.1  jmmv   as_echo='print -r --'
     43      1.1  jmmv   as_echo_n='print -rn --'
     44      1.1  jmmv elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
     45      1.1  jmmv   as_echo='printf %s\n'
     46      1.1  jmmv   as_echo_n='printf %s'
     47      1.1  jmmv else
     48      1.1  jmmv   if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
     49      1.1  jmmv     as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
     50      1.1  jmmv     as_echo_n='/usr/ucb/echo -n'
     51      1.1  jmmv   else
     52      1.1  jmmv     as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
     53      1.1  jmmv     as_echo_n_body='eval
     54      1.1  jmmv       arg=$1;
     55      1.1  jmmv       case $arg in #(
     56      1.1  jmmv       *"$as_nl"*)
     57      1.1  jmmv 	expr "X$arg" : "X\\(.*\\)$as_nl";
     58      1.1  jmmv 	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
     59      1.1  jmmv       esac;
     60      1.1  jmmv       expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
     61      1.1  jmmv     '
     62      1.1  jmmv     export as_echo_n_body
     63      1.1  jmmv     as_echo_n='sh -c $as_echo_n_body as_echo'
     64      1.1  jmmv   fi
     65      1.1  jmmv   export as_echo_body
     66      1.1  jmmv   as_echo='sh -c $as_echo_body as_echo'
     67      1.1  jmmv fi
     68      1.1  jmmv 
     69      1.1  jmmv # The user is always right.
     70      1.1  jmmv if test "${PATH_SEPARATOR+set}" != set; then
     71      1.1  jmmv   PATH_SEPARATOR=:
     72      1.1  jmmv   (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
     73      1.1  jmmv     (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
     74      1.1  jmmv       PATH_SEPARATOR=';'
     75      1.1  jmmv   }
     76      1.1  jmmv fi
     77      1.1  jmmv 
     78      1.1  jmmv 
     79      1.1  jmmv # IFS
     80      1.1  jmmv # We need space, tab and new line, in precisely that order.  Quoting is
     81      1.1  jmmv # there to prevent editors from complaining about space-tab.
     82      1.1  jmmv # (If _AS_PATH_WALK were called with IFS unset, it would disable word
     83      1.1  jmmv # splitting by setting IFS to empty value.)
     84      1.1  jmmv IFS=" ""	$as_nl"
     85      1.1  jmmv 
     86      1.1  jmmv # Find who we are.  Look in the path if we contain no directory separator.
     87      1.1  jmmv as_myself=
     88      1.1  jmmv case $0 in #((
     89      1.1  jmmv   *[\\/]* ) as_myself=$0 ;;
     90      1.1  jmmv   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
     91      1.1  jmmv for as_dir in $PATH
     92      1.1  jmmv do
     93      1.1  jmmv   IFS=$as_save_IFS
     94      1.1  jmmv   test -z "$as_dir" && as_dir=.
     95      1.1  jmmv     test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
     96      1.1  jmmv   done
     97      1.1  jmmv IFS=$as_save_IFS
     98      1.1  jmmv 
     99      1.1  jmmv      ;;
    100      1.1  jmmv esac
    101      1.1  jmmv # We did not find ourselves, most probably we were run as `sh COMMAND'
    102      1.1  jmmv # in which case we are not to be found in the path.
    103      1.1  jmmv if test "x$as_myself" = x; then
    104      1.1  jmmv   as_myself=$0
    105      1.1  jmmv fi
    106      1.1  jmmv if test ! -f "$as_myself"; then
    107      1.1  jmmv   $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
    108      1.1  jmmv   exit 1
    109      1.1  jmmv fi
    110      1.1  jmmv 
    111      1.1  jmmv # Unset variables that we do not need and which cause bugs (e.g. in
    112      1.1  jmmv # pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
    113      1.1  jmmv # suppresses any "Segmentation fault" message there.  '((' could
    114      1.1  jmmv # trigger a bug in pdksh 5.2.14.
    115      1.1  jmmv for as_var in BASH_ENV ENV MAIL MAILPATH
    116      1.1  jmmv do eval test x\${$as_var+set} = xset \
    117      1.1  jmmv   && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
    118      1.1  jmmv done
    119      1.1  jmmv PS1='$ '
    120      1.1  jmmv PS2='> '
    121      1.1  jmmv PS4='+ '
    122      1.1  jmmv 
    123      1.1  jmmv # NLS nuisances.
    124      1.1  jmmv LC_ALL=C
    125      1.1  jmmv export LC_ALL
    126      1.1  jmmv LANGUAGE=C
    127      1.1  jmmv export LANGUAGE
    128      1.1  jmmv 
    129      1.1  jmmv # CDPATH.
    130      1.1  jmmv (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
    131      1.1  jmmv 
    132      1.1  jmmv if test "x$CONFIG_SHELL" = x; then
    133      1.1  jmmv   as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
    134      1.1  jmmv   emulate sh
    135      1.1  jmmv   NULLCMD=:
    136      1.1  jmmv   # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
    137      1.1  jmmv   # is contrary to our usage.  Disable this feature.
    138      1.1  jmmv   alias -g '\${1+\"\$@\"}'='\"\$@\"'
    139      1.1  jmmv   setopt NO_GLOB_SUBST
    140      1.1  jmmv else
    141      1.1  jmmv   case \`(set -o) 2>/dev/null\` in #(
    142      1.1  jmmv   *posix*) :
    143      1.1  jmmv     set -o posix ;; #(
    144      1.1  jmmv   *) :
    145      1.1  jmmv      ;;
    146      1.1  jmmv esac
    147      1.1  jmmv fi
    148      1.1  jmmv "
    149      1.1  jmmv   as_required="as_fn_return () { (exit \$1); }
    150      1.1  jmmv as_fn_success () { as_fn_return 0; }
    151      1.1  jmmv as_fn_failure () { as_fn_return 1; }
    152      1.1  jmmv as_fn_ret_success () { return 0; }
    153      1.1  jmmv as_fn_ret_failure () { return 1; }
    154      1.1  jmmv 
    155      1.1  jmmv exitcode=0
    156      1.1  jmmv as_fn_success || { exitcode=1; echo as_fn_success failed.; }
    157      1.1  jmmv as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
    158      1.1  jmmv as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
    159      1.1  jmmv as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
    160      1.1  jmmv if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
    161      1.1  jmmv 
    162      1.1  jmmv else
    163      1.1  jmmv   exitcode=1; echo positional parameters were not saved.
    164      1.1  jmmv fi
    165      1.1  jmmv test x\$exitcode = x0 || exit 1
    166      1.1  jmmv test -x / || exit 1"
    167      1.1  jmmv   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
    168      1.1  jmmv   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
    169      1.1  jmmv   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
    170      1.1  jmmv   test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
    171      1.1  jmmv test \$(( 1 + 1 )) = 2 || exit 1"
    172      1.1  jmmv   if (eval "$as_required") 2>/dev/null; then :
    173      1.1  jmmv   as_have_required=yes
    174      1.1  jmmv else
    175      1.1  jmmv   as_have_required=no
    176      1.1  jmmv fi
    177      1.1  jmmv   if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
    178      1.1  jmmv 
    179      1.1  jmmv else
    180      1.1  jmmv   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
    181      1.1  jmmv as_found=false
    182      1.1  jmmv for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
    183      1.1  jmmv do
    184      1.1  jmmv   IFS=$as_save_IFS
    185      1.1  jmmv   test -z "$as_dir" && as_dir=.
    186      1.1  jmmv   as_found=:
    187      1.1  jmmv   case $as_dir in #(
    188      1.1  jmmv 	 /*)
    189      1.1  jmmv 	   for as_base in sh bash ksh sh5; do
    190      1.1  jmmv 	     # Try only shells that exist, to save several forks.
    191      1.1  jmmv 	     as_shell=$as_dir/$as_base
    192      1.1  jmmv 	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
    193      1.1  jmmv 		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
    194      1.1  jmmv   CONFIG_SHELL=$as_shell as_have_required=yes
    195      1.1  jmmv 		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
    196      1.1  jmmv   break 2
    197      1.1  jmmv fi
    198      1.1  jmmv fi
    199      1.1  jmmv 	   done;;
    200      1.1  jmmv        esac
    201      1.1  jmmv   as_found=false
    202      1.1  jmmv done
    203      1.1  jmmv $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
    204      1.1  jmmv 	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
    205      1.1  jmmv   CONFIG_SHELL=$SHELL as_have_required=yes
    206      1.1  jmmv fi; }
    207      1.1  jmmv IFS=$as_save_IFS
    208      1.1  jmmv 
    209      1.1  jmmv 
    210      1.1  jmmv       if test "x$CONFIG_SHELL" != x; then :
    211      1.1  jmmv   export CONFIG_SHELL
    212      1.1  jmmv              # We cannot yet assume a decent shell, so we have to provide a
    213      1.1  jmmv # neutralization value for shells without unset; and this also
    214      1.1  jmmv # works around shells that cannot unset nonexistent variables.
    215      1.1  jmmv # Preserve -v and -x to the replacement shell.
    216      1.1  jmmv BASH_ENV=/dev/null
    217      1.1  jmmv ENV=/dev/null
    218      1.1  jmmv (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
    219      1.1  jmmv case $- in # ((((
    220      1.1  jmmv   *v*x* | *x*v* ) as_opts=-vx ;;
    221      1.1  jmmv   *v* ) as_opts=-v ;;
    222      1.1  jmmv   *x* ) as_opts=-x ;;
    223      1.1  jmmv   * ) as_opts= ;;
    224      1.1  jmmv esac
    225      1.1  jmmv exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
    226      1.1  jmmv # Admittedly, this is quite paranoid, since all the known shells bail
    227      1.1  jmmv # out after a failed `exec'.
    228      1.1  jmmv $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
    229      1.1  jmmv exit 255
    230      1.1  jmmv fi
    231      1.1  jmmv 
    232      1.1  jmmv     if test x$as_have_required = xno; then :
    233      1.1  jmmv   $as_echo "$0: This script requires a shell more modern than all"
    234      1.1  jmmv   $as_echo "$0: the shells that I found on your system."
    235      1.1  jmmv   if test x${ZSH_VERSION+set} = xset ; then
    236      1.1  jmmv     $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
    237      1.1  jmmv     $as_echo "$0: be upgraded to zsh 4.3.4 or later."
    238      1.1  jmmv   else
    239      1.1  jmmv     $as_echo "$0: Please tell bug-autoconf (at] gnu.org about your system,
    240      1.1  jmmv $0: including any error possibly output before this
    241      1.1  jmmv $0: message. Then install a modern shell, or manually run
    242      1.1  jmmv $0: the script under such a shell if you do have one."
    243      1.1  jmmv   fi
    244      1.1  jmmv   exit 1
    245      1.1  jmmv fi
    246      1.1  jmmv fi
    247      1.1  jmmv fi
    248      1.1  jmmv SHELL=${CONFIG_SHELL-/bin/sh}
    249      1.1  jmmv export SHELL
    250      1.1  jmmv # Unset more variables known to interfere with behavior of common tools.
    251      1.1  jmmv CLICOLOR_FORCE= GREP_OPTIONS=
    252      1.1  jmmv unset CLICOLOR_FORCE GREP_OPTIONS
    253      1.1  jmmv 
    254      1.1  jmmv ## --------------------- ##
    255      1.1  jmmv ## M4sh Shell Functions. ##
    256      1.1  jmmv ## --------------------- ##
    257      1.1  jmmv # as_fn_unset VAR
    258      1.1  jmmv # ---------------
    259      1.1  jmmv # Portably unset VAR.
    260      1.1  jmmv as_fn_unset ()
    261      1.1  jmmv {
    262      1.1  jmmv   { eval $1=; unset $1;}
    263      1.1  jmmv }
    264      1.1  jmmv as_unset=as_fn_unset
    265      1.1  jmmv 
    266      1.1  jmmv # as_fn_set_status STATUS
    267      1.1  jmmv # -----------------------
    268      1.1  jmmv # Set $? to STATUS, without forking.
    269      1.1  jmmv as_fn_set_status ()
    270      1.1  jmmv {
    271      1.1  jmmv   return $1
    272      1.1  jmmv } # as_fn_set_status
    273      1.1  jmmv 
    274      1.1  jmmv # as_fn_exit STATUS
    275      1.1  jmmv # -----------------
    276      1.1  jmmv # Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
    277      1.1  jmmv as_fn_exit ()
    278      1.1  jmmv {
    279      1.1  jmmv   set +e
    280      1.1  jmmv   as_fn_set_status $1
    281      1.1  jmmv   exit $1
    282      1.1  jmmv } # as_fn_exit
    283      1.1  jmmv 
    284      1.1  jmmv # as_fn_mkdir_p
    285      1.1  jmmv # -------------
    286      1.1  jmmv # Create "$as_dir" as a directory, including parents if necessary.
    287      1.1  jmmv as_fn_mkdir_p ()
    288      1.1  jmmv {
    289      1.1  jmmv 
    290      1.1  jmmv   case $as_dir in #(
    291      1.1  jmmv   -*) as_dir=./$as_dir;;
    292      1.1  jmmv   esac
    293      1.1  jmmv   test -d "$as_dir" || eval $as_mkdir_p || {
    294      1.1  jmmv     as_dirs=
    295      1.1  jmmv     while :; do
    296      1.1  jmmv       case $as_dir in #(
    297      1.1  jmmv       *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
    298      1.1  jmmv       *) as_qdir=$as_dir;;
    299      1.1  jmmv       esac
    300      1.1  jmmv       as_dirs="'$as_qdir' $as_dirs"
    301      1.1  jmmv       as_dir=`$as_dirname -- "$as_dir" ||
    302      1.1  jmmv $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
    303      1.1  jmmv 	 X"$as_dir" : 'X\(//\)[^/]' \| \
    304      1.1  jmmv 	 X"$as_dir" : 'X\(//\)$' \| \
    305      1.1  jmmv 	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
    306      1.1  jmmv $as_echo X"$as_dir" |
    307      1.1  jmmv     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
    308      1.1  jmmv 	    s//\1/
    309      1.1  jmmv 	    q
    310      1.1  jmmv 	  }
    311      1.1  jmmv 	  /^X\(\/\/\)[^/].*/{
    312      1.1  jmmv 	    s//\1/
    313      1.1  jmmv 	    q
    314      1.1  jmmv 	  }
    315      1.1  jmmv 	  /^X\(\/\/\)$/{
    316      1.1  jmmv 	    s//\1/
    317      1.1  jmmv 	    q
    318      1.1  jmmv 	  }
    319      1.1  jmmv 	  /^X\(\/\).*/{
    320      1.1  jmmv 	    s//\1/
    321      1.1  jmmv 	    q
    322      1.1  jmmv 	  }
    323      1.1  jmmv 	  s/.*/./; q'`
    324      1.1  jmmv       test -d "$as_dir" && break
    325      1.1  jmmv     done
    326      1.1  jmmv     test -z "$as_dirs" || eval "mkdir $as_dirs"
    327      1.1  jmmv   } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
    328      1.1  jmmv 
    329      1.1  jmmv 
    330      1.1  jmmv } # as_fn_mkdir_p
    331      1.1  jmmv 
    332      1.1  jmmv # as_fn_executable_p FILE
    333      1.1  jmmv # -----------------------
    334      1.1  jmmv # Test if FILE is an executable regular file.
    335      1.1  jmmv as_fn_executable_p ()
    336      1.1  jmmv {
    337      1.1  jmmv   test -f "$1" && test -x "$1"
    338      1.1  jmmv } # as_fn_executable_p
    339      1.1  jmmv # as_fn_append VAR VALUE
    340      1.1  jmmv # ----------------------
    341      1.1  jmmv # Append the text in VALUE to the end of the definition contained in VAR. Take
    342      1.1  jmmv # advantage of any shell optimizations that allow amortized linear growth over
    343      1.1  jmmv # repeated appends, instead of the typical quadratic growth present in naive
    344      1.1  jmmv # implementations.
    345      1.1  jmmv if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
    346      1.1  jmmv   eval 'as_fn_append ()
    347      1.1  jmmv   {
    348      1.1  jmmv     eval $1+=\$2
    349      1.1  jmmv   }'
    350      1.1  jmmv else
    351      1.1  jmmv   as_fn_append ()
    352      1.1  jmmv   {
    353      1.1  jmmv     eval $1=\$$1\$2
    354      1.1  jmmv   }
    355      1.1  jmmv fi # as_fn_append
    356      1.1  jmmv 
    357      1.1  jmmv # as_fn_arith ARG...
    358      1.1  jmmv # ------------------
    359      1.1  jmmv # Perform arithmetic evaluation on the ARGs, and store the result in the
    360      1.1  jmmv # global $as_val. Take advantage of shells that can avoid forks. The arguments
    361      1.1  jmmv # must be portable across $(()) and expr.
    362      1.1  jmmv if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
    363      1.1  jmmv   eval 'as_fn_arith ()
    364      1.1  jmmv   {
    365      1.1  jmmv     as_val=$(( $* ))
    366      1.1  jmmv   }'
    367      1.1  jmmv else
    368      1.1  jmmv   as_fn_arith ()
    369      1.1  jmmv   {
    370      1.1  jmmv     as_val=`expr "$@" || test $? -eq 1`
    371      1.1  jmmv   }
    372      1.1  jmmv fi # as_fn_arith
    373      1.1  jmmv 
    374      1.1  jmmv 
    375      1.1  jmmv # as_fn_error STATUS ERROR [LINENO LOG_FD]
    376      1.1  jmmv # ----------------------------------------
    377      1.1  jmmv # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
    378      1.1  jmmv # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
    379      1.1  jmmv # script with STATUS, using 1 if that was 0.
    380      1.1  jmmv as_fn_error ()
    381      1.1  jmmv {
    382      1.1  jmmv   as_status=$1; test $as_status -eq 0 && as_status=1
    383      1.1  jmmv   if test "$4"; then
    384      1.1  jmmv     as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    385      1.1  jmmv     $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
    386      1.1  jmmv   fi
    387      1.1  jmmv   $as_echo "$as_me: error: $2" >&2
    388      1.1  jmmv   as_fn_exit $as_status
    389      1.1  jmmv } # as_fn_error
    390      1.1  jmmv 
    391      1.1  jmmv if expr a : '\(a\)' >/dev/null 2>&1 &&
    392      1.1  jmmv    test "X`expr 00001 : '.*\(...\)'`" = X001; then
    393      1.1  jmmv   as_expr=expr
    394      1.1  jmmv else
    395      1.1  jmmv   as_expr=false
    396      1.1  jmmv fi
    397      1.1  jmmv 
    398      1.1  jmmv if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
    399      1.1  jmmv   as_basename=basename
    400      1.1  jmmv else
    401      1.1  jmmv   as_basename=false
    402      1.1  jmmv fi
    403      1.1  jmmv 
    404      1.1  jmmv as_me=`$as_basename -- "$0" ||
    405      1.1  jmmv $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
    406      1.1  jmmv 	 X"$0" : 'X\(//\)$' \| \
    407      1.1  jmmv 	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
    408      1.1  jmmv $as_echo X/"$0" |
    409      1.1  jmmv     sed '/^.*\/\([^/][^/]*\)\/*$/{
    410      1.1  jmmv 	    s//\1/
    411      1.1  jmmv 	    q
    412      1.1  jmmv 	  }
    413      1.1  jmmv 	  /^X\/\(\/\/\)$/{
    414      1.1  jmmv 	    s//\1/
    415      1.1  jmmv 	    q
    416      1.1  jmmv 	  }
    417      1.1  jmmv 	  /^X\/\(\/\).*/{
    418      1.1  jmmv 	    s//\1/
    419      1.1  jmmv 	    q
    420      1.1  jmmv 	  }
    421      1.1  jmmv 	  s/.*/./; q'`
    422      1.1  jmmv 
    423      1.1  jmmv if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
    424      1.1  jmmv   as_dirname=dirname
    425      1.1  jmmv else
    426      1.1  jmmv   as_dirname=false
    427      1.1  jmmv fi
    428      1.1  jmmv 
    429      1.1  jmmv # Avoid depending upon Character Ranges.
    430      1.1  jmmv as_cr_letters='abcdefghijklmnopqrstuvwxyz'
    431      1.1  jmmv as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    432      1.1  jmmv as_cr_Letters=$as_cr_letters$as_cr_LETTERS
    433      1.1  jmmv as_cr_digits='0123456789'
    434      1.1  jmmv as_cr_alnum=$as_cr_Letters$as_cr_digits
    435      1.1  jmmv 
    436      1.1  jmmv 
    437      1.1  jmmv   as_lineno_1=$LINENO as_lineno_1a=$LINENO
    438      1.1  jmmv   as_lineno_2=$LINENO as_lineno_2a=$LINENO
    439      1.1  jmmv   eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
    440      1.1  jmmv   test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
    441      1.1  jmmv   # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
    442      1.1  jmmv   sed -n '
    443      1.1  jmmv     p
    444      1.1  jmmv     /[$]LINENO/=
    445      1.1  jmmv   ' <$as_myself |
    446      1.1  jmmv     sed '
    447      1.1  jmmv       s/[$]LINENO.*/&-/
    448      1.1  jmmv       t lineno
    449      1.1  jmmv       b
    450      1.1  jmmv       :lineno
    451      1.1  jmmv       N
    452      1.1  jmmv       :loop
    453      1.1  jmmv       s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
    454      1.1  jmmv       t loop
    455      1.1  jmmv       s/-\n.*//
    456      1.1  jmmv     ' >$as_me.lineno &&
    457      1.1  jmmv   chmod +x "$as_me.lineno" ||
    458      1.1  jmmv     { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
    459      1.1  jmmv 
    460      1.1  jmmv   # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
    461      1.1  jmmv   # already done that, so ensure we don't try to do so again and fall
    462      1.1  jmmv   # in an infinite loop.  This has already happened in practice.
    463      1.1  jmmv   _as_can_reexec=no; export _as_can_reexec
    464      1.1  jmmv   # Don't try to exec as it changes $[0], causing all sort of problems
    465      1.1  jmmv   # (the dirname of $[0] is not the place where we might find the
    466      1.1  jmmv   # original and so on.  Autoconf is especially sensitive to this).
    467      1.1  jmmv   . "./$as_me.lineno"
    468      1.1  jmmv   # Exit status is that of the last command.
    469      1.1  jmmv   exit
    470      1.1  jmmv }
    471      1.1  jmmv 
    472      1.1  jmmv ECHO_C= ECHO_N= ECHO_T=
    473      1.1  jmmv case `echo -n x` in #(((((
    474      1.1  jmmv -n*)
    475      1.1  jmmv   case `echo 'xy\c'` in
    476      1.1  jmmv   *c*) ECHO_T='	';;	# ECHO_T is single tab character.
    477      1.1  jmmv   xy)  ECHO_C='\c';;
    478      1.1  jmmv   *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
    479      1.1  jmmv        ECHO_T='	';;
    480      1.1  jmmv   esac;;
    481      1.1  jmmv *)
    482      1.1  jmmv   ECHO_N='-n';;
    483      1.1  jmmv esac
    484      1.1  jmmv 
    485      1.1  jmmv rm -f conf$$ conf$$.exe conf$$.file
    486      1.1  jmmv if test -d conf$$.dir; then
    487      1.1  jmmv   rm -f conf$$.dir/conf$$.file
    488      1.1  jmmv else
    489      1.1  jmmv   rm -f conf$$.dir
    490      1.1  jmmv   mkdir conf$$.dir 2>/dev/null
    491      1.1  jmmv fi
    492      1.1  jmmv if (echo >conf$$.file) 2>/dev/null; then
    493      1.1  jmmv   if ln -s conf$$.file conf$$ 2>/dev/null; then
    494      1.1  jmmv     as_ln_s='ln -s'
    495      1.1  jmmv     # ... but there are two gotchas:
    496      1.1  jmmv     # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
    497      1.1  jmmv     # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
    498      1.1  jmmv     # In both cases, we have to default to `cp -pR'.
    499      1.1  jmmv     ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
    500      1.1  jmmv       as_ln_s='cp -pR'
    501      1.1  jmmv   elif ln conf$$.file conf$$ 2>/dev/null; then
    502      1.1  jmmv     as_ln_s=ln
    503      1.1  jmmv   else
    504      1.1  jmmv     as_ln_s='cp -pR'
    505      1.1  jmmv   fi
    506      1.1  jmmv else
    507      1.1  jmmv   as_ln_s='cp -pR'
    508      1.1  jmmv fi
    509      1.1  jmmv rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
    510      1.1  jmmv rmdir conf$$.dir 2>/dev/null
    511      1.1  jmmv 
    512      1.1  jmmv if mkdir -p . 2>/dev/null; then
    513      1.1  jmmv   as_mkdir_p='mkdir -p "$as_dir"'
    514      1.1  jmmv else
    515      1.1  jmmv   test -d ./-p && rmdir ./-p
    516      1.1  jmmv   as_mkdir_p=false
    517      1.1  jmmv fi
    518      1.1  jmmv 
    519      1.1  jmmv as_test_x='test -x'
    520      1.1  jmmv as_executable_p=as_fn_executable_p
    521      1.1  jmmv 
    522      1.1  jmmv # Sed expression to map a string onto a valid CPP name.
    523      1.1  jmmv as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
    524      1.1  jmmv 
    525      1.1  jmmv # Sed expression to map a string onto a valid variable name.
    526      1.1  jmmv as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
    527      1.1  jmmv 
    528      1.1  jmmv 
    529      1.1  jmmv 
    530      1.1  jmmv 
    531      1.1  jmmv 
    532      1.1  jmmv SHELL=${CONFIG_SHELL-/bin/sh}
    533      1.1  jmmv 
    534      1.1  jmmv # How were we run?
    535      1.1  jmmv at_cli_args="$@"
    536      1.1  jmmv 
    537      1.1  jmmv 
    538      1.1  jmmv # Not all shells have the 'times' builtin; the subshell is needed to make
    539      1.1  jmmv # sure we discard the 'times: not found' message from the shell.
    540      1.1  jmmv at_times_p=false
    541      1.1  jmmv (times) >/dev/null 2>&1 && at_times_p=:
    542      1.1  jmmv 
    543      1.1  jmmv # CLI Arguments to pass to the debugging scripts.
    544      1.1  jmmv at_debug_args=
    545      1.1  jmmv # -e sets to true
    546      1.1  jmmv at_errexit_p=false
    547      1.1  jmmv # Shall we be verbose?  ':' means no, empty means yes.
    548      1.1  jmmv at_verbose=:
    549      1.1  jmmv at_quiet=
    550      1.1  jmmv # Running several jobs in parallel, 0 means as many as test groups.
    551      1.1  jmmv at_jobs=1
    552      1.1  jmmv at_traceon=:
    553      1.1  jmmv at_trace_echo=:
    554      1.1  jmmv at_check_filter_trace=:
    555      1.1  jmmv 
    556      1.1  jmmv # Shall we keep the debug scripts?  Must be `:' when the suite is
    557      1.1  jmmv # run by a debug script, so that the script doesn't remove itself.
    558      1.1  jmmv at_debug_p=false
    559      1.1  jmmv # Display help message?
    560      1.1  jmmv at_help_p=false
    561      1.1  jmmv # Display the version message?
    562      1.1  jmmv at_version_p=false
    563      1.1  jmmv # List test groups?
    564      1.1  jmmv at_list_p=false
    565      1.1  jmmv # --clean
    566      1.1  jmmv at_clean=false
    567      1.1  jmmv # Test groups to run
    568      1.1  jmmv at_groups=
    569      1.1  jmmv # Whether to rerun failed tests.
    570      1.1  jmmv at_recheck=
    571      1.1  jmmv # Whether a write failure occurred
    572      1.1  jmmv at_write_fail=0
    573      1.1  jmmv 
    574      1.1  jmmv # The directory we run the suite in.  Default to . if no -C option.
    575      1.1  jmmv at_dir=`pwd`
    576      1.1  jmmv # An absolute reference to this testsuite script.
    577      1.1  jmmv case $as_myself in
    578      1.1  jmmv   [\\/]* | ?:[\\/]* ) at_myself=$as_myself ;;
    579      1.1  jmmv   * ) at_myself=$at_dir/$as_myself ;;
    580      1.1  jmmv esac
    581      1.1  jmmv # Whether -C is in effect.
    582      1.1  jmmv at_change_dir=false
    583      1.1  jmmv 
    584      1.1  jmmv # Whether to enable colored test results.
    585      1.1  jmmv at_color=no
    586      1.1  jmmv # List of the tested programs.
    587      1.1  jmmv at_tested='kyua'
    588      1.1  jmmv # As many question marks as there are digits in the last test group number.
    589      1.1  jmmv # Used to normalize the test group numbers so that `ls' lists them in
    590      1.1  jmmv # numerical order.
    591      1.1  jmmv at_format='??'
    592      1.1  jmmv # Description of all the test groups.
    593      1.1  jmmv at_help_all="1;testsuite.at:70;test program crashes in test list;;
    594      1.1  jmmv 2;testsuite.at:81;test program prints an empty test list;;
    595      1.1  jmmv 3;testsuite.at:92;test program with zero test cases;;
    596      1.1  jmmv 4;testsuite.at:103;run test case that passes;;
    597      1.1  jmmv 5;testsuite.at:115;run test case that fails;;
    598      1.1  jmmv 6;testsuite.at:128;run test case that skips;;
    599      1.1  jmmv 7;testsuite.at:141;run two test cases, success;;
    600      1.1  jmmv 8;testsuite.at:154;run two test cases, failure;;
    601      1.1  jmmv 9;testsuite.at:167;run mixed test cases;;
    602      1.1  jmmv 10;testsuite.at:181;run tests from build directories;;
    603      1.1  jmmv "
    604      1.1  jmmv # List of the all the test groups.
    605      1.1  jmmv at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'`
    606      1.1  jmmv 
    607      1.1  jmmv # at_fn_validate_ranges NAME...
    608      1.1  jmmv # -----------------------------
    609      1.1  jmmv # Validate and normalize the test group number contained in each variable
    610      1.1  jmmv # NAME. Leading zeroes are treated as decimal.
    611      1.1  jmmv at_fn_validate_ranges ()
    612      1.1  jmmv {
    613      1.1  jmmv   for at_grp
    614      1.1  jmmv   do
    615      1.1  jmmv     eval at_value=\$$at_grp
    616      1.1  jmmv     if test $at_value -lt 1 || test $at_value -gt 10; then
    617      1.1  jmmv       $as_echo "invalid test group: $at_value" >&2
    618      1.1  jmmv       exit 1
    619      1.1  jmmv     fi
    620      1.1  jmmv     case $at_value in
    621      1.1  jmmv       0*) # We want to treat leading 0 as decimal, like expr and test, but
    622      1.1  jmmv 	  # AS_VAR_ARITH treats it as octal if it uses $(( )).
    623      1.1  jmmv 	  # With XSI shells, ${at_value#${at_value%%[1-9]*}} avoids the
    624      1.1  jmmv 	  # expr fork, but it is not worth the effort to determine if the
    625      1.1  jmmv 	  # shell supports XSI when the user can just avoid leading 0.
    626      1.1  jmmv 	  eval $at_grp='`expr $at_value + 0`' ;;
    627      1.1  jmmv     esac
    628      1.1  jmmv   done
    629      1.1  jmmv }
    630      1.1  jmmv 
    631      1.1  jmmv at_prev=
    632      1.1  jmmv for at_option
    633      1.1  jmmv do
    634      1.1  jmmv   # If the previous option needs an argument, assign it.
    635      1.1  jmmv   if test -n "$at_prev"; then
    636      1.1  jmmv     at_option=$at_prev=$at_option
    637      1.1  jmmv     at_prev=
    638      1.1  jmmv   fi
    639      1.1  jmmv 
    640      1.1  jmmv   case $at_option in
    641      1.1  jmmv   *=?*) at_optarg=`expr "X$at_option" : '[^=]*=\(.*\)'` ;;
    642      1.1  jmmv   *)    at_optarg= ;;
    643      1.1  jmmv   esac
    644      1.1  jmmv 
    645      1.1  jmmv   # Accept the important Cygnus configure options, so we can diagnose typos.
    646      1.1  jmmv 
    647      1.1  jmmv   case $at_option in
    648      1.1  jmmv     --help | -h )
    649      1.1  jmmv 	at_help_p=:
    650      1.1  jmmv 	;;
    651      1.1  jmmv 
    652      1.1  jmmv     --list | -l )
    653      1.1  jmmv 	at_list_p=:
    654      1.1  jmmv 	;;
    655      1.1  jmmv 
    656      1.1  jmmv     --version | -V )
    657      1.1  jmmv 	at_version_p=:
    658      1.1  jmmv 	;;
    659      1.1  jmmv 
    660      1.1  jmmv     --clean | -c )
    661      1.1  jmmv 	at_clean=:
    662      1.1  jmmv 	;;
    663      1.1  jmmv 
    664      1.1  jmmv     --color )
    665      1.1  jmmv 	at_color=always
    666      1.1  jmmv 	;;
    667      1.1  jmmv     --color=* )
    668      1.1  jmmv 	case $at_optarg in
    669      1.1  jmmv 	no | never | none) at_color=never ;;
    670      1.1  jmmv 	auto | tty | if-tty) at_color=auto ;;
    671      1.1  jmmv 	always | yes | force) at_color=always ;;
    672      1.1  jmmv 	*) at_optname=`echo " $at_option" | sed 's/^ //; s/=.*//'`
    673      1.1  jmmv 	   as_fn_error $? "unrecognized argument to $at_optname: $at_optarg" ;;
    674      1.1  jmmv 	esac
    675      1.1  jmmv 	;;
    676      1.1  jmmv 
    677      1.1  jmmv     --debug | -d )
    678      1.1  jmmv 	at_debug_p=:
    679      1.1  jmmv 	;;
    680      1.1  jmmv 
    681      1.1  jmmv     --errexit | -e )
    682      1.1  jmmv 	at_debug_p=:
    683      1.1  jmmv 	at_errexit_p=:
    684      1.1  jmmv 	;;
    685      1.1  jmmv 
    686      1.1  jmmv     --verbose | -v )
    687      1.1  jmmv 	at_verbose=; at_quiet=:
    688      1.1  jmmv 	;;
    689      1.1  jmmv 
    690      1.1  jmmv     --trace | -x )
    691      1.1  jmmv 	at_traceon='set -x'
    692      1.1  jmmv 	at_trace_echo=echo
    693      1.1  jmmv 	at_check_filter_trace=at_fn_filter_trace
    694      1.1  jmmv 	;;
    695      1.1  jmmv 
    696      1.1  jmmv     [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9])
    697      1.1  jmmv 	at_fn_validate_ranges at_option
    698      1.1  jmmv 	as_fn_append at_groups "$at_option$as_nl"
    699      1.1  jmmv 	;;
    700      1.1  jmmv 
    701      1.1  jmmv     # Ranges
    702      1.1  jmmv     [0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-)
    703      1.1  jmmv 	at_range_start=`echo $at_option |tr -d X-`
    704      1.1  jmmv 	at_fn_validate_ranges at_range_start
    705      1.1  jmmv 	at_range=`$as_echo "$at_groups_all" | \
    706      1.1  jmmv 	  sed -ne '/^'$at_range_start'$/,$p'`
    707      1.1  jmmv 	as_fn_append at_groups "$at_range$as_nl"
    708      1.1  jmmv 	;;
    709      1.1  jmmv 
    710      1.1  jmmv     -[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9])
    711      1.1  jmmv 	at_range_end=`echo $at_option |tr -d X-`
    712      1.1  jmmv 	at_fn_validate_ranges at_range_end
    713      1.1  jmmv 	at_range=`$as_echo "$at_groups_all" | \
    714      1.1  jmmv 	  sed -ne '1,/^'$at_range_end'$/p'`
    715      1.1  jmmv 	as_fn_append at_groups "$at_range$as_nl"
    716      1.1  jmmv 	;;
    717      1.1  jmmv 
    718      1.1  jmmv     [0-9]-[0-9] | [0-9]-[0-9][0-9] | [0-9]-[0-9][0-9][0-9] | \
    719      1.1  jmmv     [0-9]-[0-9][0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9] | \
    720      1.1  jmmv     [0-9][0-9]-[0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9][0-9][0-9] | \
    721      1.1  jmmv     [0-9][0-9][0-9]-[0-9][0-9][0-9] | \
    722      1.1  jmmv     [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] | \
    723      1.1  jmmv     [0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] )
    724      1.1  jmmv 	at_range_start=`expr $at_option : '\(.*\)-'`
    725      1.1  jmmv 	at_range_end=`expr $at_option : '.*-\(.*\)'`
    726      1.1  jmmv 	if test $at_range_start -gt $at_range_end; then
    727      1.1  jmmv 	  at_tmp=$at_range_end
    728      1.1  jmmv 	  at_range_end=$at_range_start
    729      1.1  jmmv 	  at_range_start=$at_tmp
    730      1.1  jmmv 	fi
    731      1.1  jmmv 	at_fn_validate_ranges at_range_start at_range_end
    732      1.1  jmmv 	at_range=`$as_echo "$at_groups_all" | \
    733      1.1  jmmv 	  sed -ne '/^'$at_range_start'$/,/^'$at_range_end'$/p'`
    734      1.1  jmmv 	as_fn_append at_groups "$at_range$as_nl"
    735      1.1  jmmv 	;;
    736      1.1  jmmv 
    737      1.1  jmmv     # Directory selection.
    738      1.1  jmmv     --directory | -C )
    739      1.1  jmmv 	at_prev=--directory
    740      1.1  jmmv 	;;
    741      1.1  jmmv     --directory=* )
    742      1.1  jmmv 	at_change_dir=:
    743      1.1  jmmv 	at_dir=$at_optarg
    744      1.1  jmmv 	if test x- = "x$at_dir" ; then
    745      1.1  jmmv 	  at_dir=./-
    746      1.1  jmmv 	fi
    747      1.1  jmmv 	;;
    748      1.1  jmmv 
    749      1.1  jmmv     # Parallel execution.
    750      1.1  jmmv     --jobs | -j )
    751      1.1  jmmv 	at_jobs=0
    752      1.1  jmmv 	;;
    753      1.1  jmmv     --jobs=* | -j[0-9]* )
    754      1.1  jmmv 	if test -n "$at_optarg"; then
    755      1.1  jmmv 	  at_jobs=$at_optarg
    756      1.1  jmmv 	else
    757      1.1  jmmv 	  at_jobs=`expr X$at_option : 'X-j\(.*\)'`
    758      1.1  jmmv 	fi
    759      1.1  jmmv 	case $at_jobs in *[!0-9]*)
    760      1.1  jmmv 	  at_optname=`echo " $at_option" | sed 's/^ //; s/[0-9=].*//'`
    761      1.1  jmmv 	  as_fn_error $? "non-numeric argument to $at_optname: $at_jobs" ;;
    762      1.1  jmmv 	esac
    763      1.1  jmmv 	;;
    764      1.1  jmmv 
    765      1.1  jmmv     # Keywords.
    766      1.1  jmmv     --keywords | -k )
    767      1.1  jmmv 	at_prev=--keywords
    768      1.1  jmmv 	;;
    769      1.1  jmmv     --keywords=* )
    770      1.1  jmmv 	at_groups_selected=$at_help_all
    771      1.1  jmmv 	at_save_IFS=$IFS
    772      1.1  jmmv 	IFS=,
    773      1.1  jmmv 	set X $at_optarg
    774      1.1  jmmv 	shift
    775      1.1  jmmv 	IFS=$at_save_IFS
    776      1.1  jmmv 	for at_keyword
    777      1.1  jmmv 	do
    778      1.1  jmmv 	  at_invert=
    779      1.1  jmmv 	  case $at_keyword in
    780      1.1  jmmv 	  '!'*)
    781      1.1  jmmv 	    at_invert="-v"
    782      1.1  jmmv 	    at_keyword=`expr "X$at_keyword" : 'X!\(.*\)'`
    783      1.1  jmmv 	    ;;
    784      1.1  jmmv 	  esac
    785      1.1  jmmv 	  # It is on purpose that we match the test group titles too.
    786      1.1  jmmv 	  at_groups_selected=`$as_echo "$at_groups_selected" |
    787      1.1  jmmv 	      grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"`
    788      1.1  jmmv 	done
    789      1.1  jmmv 	# Smash the keywords.
    790      1.1  jmmv 	at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//'`
    791      1.1  jmmv 	as_fn_append at_groups "$at_groups_selected$as_nl"
    792      1.1  jmmv 	;;
    793      1.1  jmmv     --recheck)
    794      1.1  jmmv 	at_recheck=:
    795      1.1  jmmv 	;;
    796      1.1  jmmv 
    797      1.1  jmmv     *=*)
    798      1.1  jmmv 	at_envvar=`expr "x$at_option" : 'x\([^=]*\)='`
    799      1.1  jmmv 	# Reject names that are not valid shell variable names.
    800      1.1  jmmv 	case $at_envvar in
    801      1.1  jmmv 	  '' | [0-9]* | *[!_$as_cr_alnum]* )
    802      1.1  jmmv 	    as_fn_error $? "invalid variable name: \`$at_envvar'" ;;
    803      1.1  jmmv 	esac
    804      1.1  jmmv 	at_value=`$as_echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"`
    805      1.1  jmmv 	# Export now, but save eval for later and for debug scripts.
    806      1.1  jmmv 	export $at_envvar
    807      1.1  jmmv 	as_fn_append at_debug_args " $at_envvar='$at_value'"
    808      1.1  jmmv 	;;
    809      1.1  jmmv 
    810      1.1  jmmv      *) $as_echo "$as_me: invalid option: $at_option" >&2
    811      1.1  jmmv 	$as_echo "Try \`$0 --help' for more information." >&2
    812      1.1  jmmv 	exit 1
    813      1.1  jmmv 	;;
    814      1.1  jmmv   esac
    815      1.1  jmmv done
    816      1.1  jmmv 
    817      1.1  jmmv # Verify our last option didn't require an argument
    818      1.1  jmmv if test -n "$at_prev"; then :
    819      1.1  jmmv   as_fn_error $? "\`$at_prev' requires an argument"
    820      1.1  jmmv fi
    821      1.1  jmmv 
    822      1.1  jmmv # The file containing the suite.
    823      1.1  jmmv at_suite_log=$at_dir/$as_me.log
    824      1.1  jmmv 
    825      1.1  jmmv # Selected test groups.
    826      1.1  jmmv if test -z "$at_groups$at_recheck"; then
    827      1.1  jmmv   at_groups=$at_groups_all
    828      1.1  jmmv else
    829      1.1  jmmv   if test -n "$at_recheck" && test -r "$at_suite_log"; then
    830      1.1  jmmv     at_oldfails=`sed -n '
    831      1.1  jmmv       /^Failed tests:$/,/^Skipped tests:$/{
    832      1.1  jmmv 	s/^[ ]*\([1-9][0-9]*\):.*/\1/p
    833      1.1  jmmv       }
    834      1.1  jmmv       /^Unexpected passes:$/,/^## Detailed failed tests/{
    835      1.1  jmmv 	s/^[ ]*\([1-9][0-9]*\):.*/\1/p
    836      1.1  jmmv       }
    837      1.1  jmmv       /^## Detailed failed tests/q
    838      1.1  jmmv       ' "$at_suite_log"`
    839      1.1  jmmv     as_fn_append at_groups "$at_oldfails$as_nl"
    840      1.1  jmmv   fi
    841      1.1  jmmv   # Sort the tests, removing duplicates.
    842      1.1  jmmv   at_groups=`$as_echo "$at_groups" | sort -nu | sed '/^$/d'`
    843      1.1  jmmv fi
    844      1.1  jmmv 
    845      1.1  jmmv if test x"$at_color" = xalways \
    846      1.1  jmmv    || { test x"$at_color" = xauto && test -t 1; }; then
    847      1.1  jmmv   at_red=`printf '\033[0;31m'`
    848      1.1  jmmv   at_grn=`printf '\033[0;32m'`
    849      1.1  jmmv   at_lgn=`printf '\033[1;32m'`
    850      1.1  jmmv   at_blu=`printf '\033[1;34m'`
    851      1.1  jmmv   at_std=`printf '\033[m'`
    852      1.1  jmmv else
    853      1.1  jmmv   at_red= at_grn= at_lgn= at_blu= at_std=
    854      1.1  jmmv fi
    855      1.1  jmmv 
    856      1.1  jmmv # Help message.
    857      1.1  jmmv if $at_help_p; then
    858      1.1  jmmv   cat <<_ATEOF || at_write_fail=1
    859      1.1  jmmv Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS]
    860      1.1  jmmv 
    861      1.1  jmmv Run all the tests, or the selected TESTS, given by numeric ranges, and
    862      1.1  jmmv save a detailed log file.  Upon failure, create debugging scripts.
    863      1.1  jmmv 
    864      1.1  jmmv Do not change environment variables directly.  Instead, set them via
    865      1.1  jmmv command line arguments.  Set \`AUTOTEST_PATH' to select the executables
    866      1.1  jmmv to exercise.  Each relative directory is expanded as build and source
    867      1.1  jmmv directories relative to the top level of this distribution.
    868      1.1  jmmv E.g., from within the build directory /tmp/foo-1.0, invoking this:
    869      1.1  jmmv 
    870      1.1  jmmv   $ $0 AUTOTEST_PATH=bin
    871      1.1  jmmv 
    872      1.1  jmmv is equivalent to the following, assuming the source directory is /src/foo-1.0:
    873      1.1  jmmv 
    874      1.1  jmmv   PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH $0
    875      1.1  jmmv _ATEOF
    876      1.1  jmmv cat <<_ATEOF || at_write_fail=1
    877      1.1  jmmv 
    878      1.1  jmmv Operation modes:
    879      1.1  jmmv   -h, --help     print the help message, then exit
    880      1.1  jmmv   -V, --version  print version number, then exit
    881      1.1  jmmv   -c, --clean    remove all the files this test suite might create and exit
    882      1.1  jmmv   -l, --list     describes all the tests, or the selected TESTS
    883      1.1  jmmv _ATEOF
    884      1.1  jmmv cat <<_ATEOF || at_write_fail=1
    885      1.1  jmmv 
    886      1.1  jmmv Execution tuning:
    887      1.1  jmmv   -C, --directory=DIR
    888      1.1  jmmv                  change to directory DIR before starting
    889      1.1  jmmv       --color[=never|auto|always]
    890      1.1  jmmv                  enable colored test results on terminal, or always
    891      1.1  jmmv   -j, --jobs[=N]
    892      1.1  jmmv                  Allow N jobs at once; infinite jobs with no arg (default 1)
    893      1.1  jmmv   -k, --keywords=KEYWORDS
    894      1.1  jmmv                  select the tests matching all the comma-separated KEYWORDS
    895      1.1  jmmv                  multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD
    896      1.1  jmmv       --recheck  select all tests that failed or passed unexpectedly last time
    897      1.1  jmmv   -e, --errexit  abort as soon as a test fails; implies --debug
    898      1.1  jmmv   -v, --verbose  force more detailed output
    899      1.1  jmmv                  default for debugging scripts
    900      1.1  jmmv   -d, --debug    inhibit clean up and top-level logging
    901      1.1  jmmv                  default for debugging scripts
    902      1.1  jmmv   -x, --trace    enable tests shell tracing
    903      1.1  jmmv _ATEOF
    904      1.1  jmmv cat <<_ATEOF || at_write_fail=1
    905      1.1  jmmv 
    906      1.1  jmmv Report bugs to <kyua-discuss@googlegroups.com>.
    907      1.1  jmmv _ATEOF
    908      1.1  jmmv   exit $at_write_fail
    909      1.1  jmmv fi
    910      1.1  jmmv 
    911      1.1  jmmv # List of tests.
    912      1.1  jmmv if $at_list_p; then
    913      1.1  jmmv   cat <<_ATEOF || at_write_fail=1
    914  1.1.1.2  jmmv Kyua - Command line interface 0.7 test suite: bootstrapping tests test groups:
    915      1.1  jmmv 
    916      1.1  jmmv  NUM: FILE-NAME:LINE     TEST-GROUP-NAME
    917      1.1  jmmv       KEYWORDS
    918      1.1  jmmv 
    919      1.1  jmmv _ATEOF
    920      1.1  jmmv   # Pass an empty line as separator between selected groups and help.
    921      1.1  jmmv   $as_echo "$at_groups$as_nl$as_nl$at_help_all" |
    922      1.1  jmmv     awk 'NF == 1 && FS != ";" {
    923      1.1  jmmv 	   selected[$ 1] = 1
    924      1.1  jmmv 	   next
    925      1.1  jmmv 	 }
    926      1.1  jmmv 	 /^$/ { FS = ";" }
    927      1.1  jmmv 	 NF > 0 {
    928      1.1  jmmv 	   if (selected[$ 1]) {
    929      1.1  jmmv 	     printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3
    930      1.1  jmmv 	     if ($ 4) {
    931      1.1  jmmv 	       lmax = 79
    932      1.1  jmmv 	       indent = "     "
    933      1.1  jmmv 	       line = indent
    934      1.1  jmmv 	       len = length (line)
    935      1.1  jmmv 	       n = split ($ 4, a, " ")
    936      1.1  jmmv 	       for (i = 1; i <= n; i++) {
    937      1.1  jmmv 		 l = length (a[i]) + 1
    938      1.1  jmmv 		 if (i > 1 && len + l > lmax) {
    939      1.1  jmmv 		   print line
    940      1.1  jmmv 		   line = indent " " a[i]
    941      1.1  jmmv 		   len = length (line)
    942      1.1  jmmv 		 } else {
    943      1.1  jmmv 		   line = line " " a[i]
    944      1.1  jmmv 		   len += l
    945      1.1  jmmv 		 }
    946      1.1  jmmv 	       }
    947      1.1  jmmv 	       if (n)
    948      1.1  jmmv 		 print line
    949      1.1  jmmv 	     }
    950      1.1  jmmv 	   }
    951      1.1  jmmv 	 }' || at_write_fail=1
    952      1.1  jmmv   exit $at_write_fail
    953      1.1  jmmv fi
    954      1.1  jmmv if $at_version_p; then
    955  1.1.1.2  jmmv   $as_echo "$as_me (Kyua - Command line interface 0.7)" &&
    956      1.1  jmmv   cat <<\_ATEOF || at_write_fail=1
    957      1.1  jmmv 
    958      1.1  jmmv Copyright (C) 2012 Free Software Foundation, Inc.
    959      1.1  jmmv This test suite is free software; the Free Software Foundation gives
    960      1.1  jmmv unlimited permission to copy, distribute and modify it.
    961      1.1  jmmv _ATEOF
    962      1.1  jmmv   exit $at_write_fail
    963      1.1  jmmv fi
    964      1.1  jmmv 
    965      1.1  jmmv # Should we print banners?  Yes if more than one test is run.
    966      1.1  jmmv case $at_groups in #(
    967      1.1  jmmv   *$as_nl* )
    968      1.1  jmmv       at_print_banners=: ;; #(
    969      1.1  jmmv   * ) at_print_banners=false ;;
    970      1.1  jmmv esac
    971      1.1  jmmv # Text for banner N, set to a single space once printed.
    972      1.1  jmmv 
    973      1.1  jmmv # Take any -C into account.
    974      1.1  jmmv if $at_change_dir ; then
    975      1.1  jmmv   test x != "x$at_dir" && cd "$at_dir" \
    976      1.1  jmmv     || as_fn_error $? "unable to change directory"
    977      1.1  jmmv   at_dir=`pwd`
    978      1.1  jmmv fi
    979      1.1  jmmv 
    980      1.1  jmmv # Load the config files for any default variable assignments.
    981      1.1  jmmv for at_file in atconfig atlocal
    982      1.1  jmmv do
    983      1.1  jmmv   test -r $at_file || continue
    984      1.1  jmmv   . ./$at_file || as_fn_error $? "invalid content: $at_file"
    985      1.1  jmmv done
    986      1.1  jmmv 
    987      1.1  jmmv # Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix:
    988      1.1  jmmv : "${at_top_build_prefix=$at_top_builddir}"
    989      1.1  jmmv 
    990      1.1  jmmv # Perform any assignments requested during argument parsing.
    991      1.1  jmmv eval "$at_debug_args"
    992      1.1  jmmv 
    993      1.1  jmmv # atconfig delivers names relative to the directory the test suite is
    994      1.1  jmmv # in, but the groups themselves are run in testsuite-dir/group-dir.
    995      1.1  jmmv if test -n "$at_top_srcdir"; then
    996      1.1  jmmv   builddir=../..
    997      1.1  jmmv   for at_dir_var in srcdir top_srcdir top_build_prefix
    998      1.1  jmmv   do
    999      1.1  jmmv     eval at_val=\$at_$at_dir_var
   1000      1.1  jmmv     case $at_val in
   1001      1.1  jmmv       [\\/$]* | ?:[\\/]* ) at_prefix= ;;
   1002      1.1  jmmv       *) at_prefix=../../ ;;
   1003      1.1  jmmv     esac
   1004      1.1  jmmv     eval "$at_dir_var=\$at_prefix\$at_val"
   1005      1.1  jmmv   done
   1006      1.1  jmmv fi
   1007      1.1  jmmv 
   1008      1.1  jmmv ## -------------------- ##
   1009      1.1  jmmv ## Directory structure. ##
   1010      1.1  jmmv ## -------------------- ##
   1011      1.1  jmmv 
   1012      1.1  jmmv # This is the set of directories and files used by this script
   1013      1.1  jmmv # (non-literals are capitalized):
   1014      1.1  jmmv #
   1015      1.1  jmmv # TESTSUITE         - the testsuite
   1016      1.1  jmmv # TESTSUITE.log     - summarizes the complete testsuite run
   1017      1.1  jmmv # TESTSUITE.dir/    - created during a run, remains after -d or failed test
   1018      1.1  jmmv # + at-groups/      - during a run: status of all groups in run
   1019      1.1  jmmv # | + NNN/          - during a run: meta-data about test group NNN
   1020      1.1  jmmv # | | + check-line  - location (source file and line) of current AT_CHECK
   1021      1.1  jmmv # | | + status      - exit status of current AT_CHECK
   1022      1.1  jmmv # | | + stdout      - stdout of current AT_CHECK
   1023      1.1  jmmv # | | + stder1      - stderr, including trace
   1024      1.1  jmmv # | | + stderr      - stderr, with trace filtered out
   1025      1.1  jmmv # | | + test-source - portion of testsuite that defines group
   1026      1.1  jmmv # | | + times       - timestamps for computing duration
   1027      1.1  jmmv # | | + pass        - created if group passed
   1028      1.1  jmmv # | | + xpass       - created if group xpassed
   1029      1.1  jmmv # | | + fail        - created if group failed
   1030      1.1  jmmv # | | + xfail       - created if group xfailed
   1031      1.1  jmmv # | | + skip        - created if group skipped
   1032      1.1  jmmv # + at-stop         - during a run: end the run if this file exists
   1033      1.1  jmmv # + at-source-lines - during a run: cache of TESTSUITE line numbers for extraction
   1034      1.1  jmmv # + 0..NNN/         - created for each group NNN, remains after -d or failed test
   1035      1.1  jmmv # | + TESTSUITE.log - summarizes the group results
   1036      1.1  jmmv # | + ...           - files created during the group
   1037      1.1  jmmv 
   1038      1.1  jmmv # The directory the whole suite works in.
   1039      1.1  jmmv # Should be absolute to let the user `cd' at will.
   1040      1.1  jmmv at_suite_dir=$at_dir/$as_me.dir
   1041      1.1  jmmv # The file containing the suite ($at_dir might have changed since earlier).
   1042      1.1  jmmv at_suite_log=$at_dir/$as_me.log
   1043      1.1  jmmv # The directory containing helper files per test group.
   1044      1.1  jmmv at_helper_dir=$at_suite_dir/at-groups
   1045      1.1  jmmv # Stop file: if it exists, do not start new jobs.
   1046      1.1  jmmv at_stop_file=$at_suite_dir/at-stop
   1047      1.1  jmmv # The fifo used for the job dispatcher.
   1048      1.1  jmmv at_job_fifo=$at_suite_dir/at-job-fifo
   1049      1.1  jmmv 
   1050      1.1  jmmv if $at_clean; then
   1051      1.1  jmmv   test -d "$at_suite_dir" &&
   1052      1.1  jmmv     find "$at_suite_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
   1053      1.1  jmmv   rm -f -r "$at_suite_dir" "$at_suite_log"
   1054      1.1  jmmv   exit $?
   1055      1.1  jmmv fi
   1056      1.1  jmmv 
   1057      1.1  jmmv # Don't take risks: use only absolute directories in PATH.
   1058      1.1  jmmv #
   1059      1.1  jmmv # For stand-alone test suites (ie. atconfig was not found),
   1060      1.1  jmmv # AUTOTEST_PATH is relative to `.'.
   1061      1.1  jmmv #
   1062      1.1  jmmv # For embedded test suites, AUTOTEST_PATH is relative to the top level
   1063      1.1  jmmv # of the package.  Then expand it into build/src parts, since users
   1064      1.1  jmmv # may create executables in both places.
   1065      1.1  jmmv AUTOTEST_PATH=`$as_echo "$AUTOTEST_PATH" | sed "s|:|$PATH_SEPARATOR|g"`
   1066      1.1  jmmv at_path=
   1067      1.1  jmmv as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
   1068      1.1  jmmv for as_dir in $AUTOTEST_PATH $PATH
   1069      1.1  jmmv do
   1070      1.1  jmmv   IFS=$as_save_IFS
   1071      1.1  jmmv   test -z "$as_dir" && as_dir=.
   1072      1.1  jmmv     test -n "$at_path" && as_fn_append at_path $PATH_SEPARATOR
   1073      1.1  jmmv case $as_dir in
   1074      1.1  jmmv   [\\/]* | ?:[\\/]* )
   1075      1.1  jmmv     as_fn_append at_path "$as_dir"
   1076      1.1  jmmv     ;;
   1077      1.1  jmmv   * )
   1078      1.1  jmmv     if test -z "$at_top_build_prefix"; then
   1079      1.1  jmmv       # Stand-alone test suite.
   1080      1.1  jmmv       as_fn_append at_path "$as_dir"
   1081      1.1  jmmv     else
   1082      1.1  jmmv       # Embedded test suite.
   1083      1.1  jmmv       as_fn_append at_path "$at_top_build_prefix$as_dir$PATH_SEPARATOR"
   1084      1.1  jmmv       as_fn_append at_path "$at_top_srcdir/$as_dir"
   1085      1.1  jmmv     fi
   1086      1.1  jmmv     ;;
   1087      1.1  jmmv esac
   1088      1.1  jmmv   done
   1089      1.1  jmmv IFS=$as_save_IFS
   1090      1.1  jmmv 
   1091      1.1  jmmv 
   1092      1.1  jmmv # Now build and simplify PATH.
   1093      1.1  jmmv #
   1094      1.1  jmmv # There might be directories that don't exist, but don't redirect
   1095      1.1  jmmv # builtins' (eg., cd) stderr directly: Ultrix's sh hates that.
   1096      1.1  jmmv at_new_path=
   1097      1.1  jmmv as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
   1098      1.1  jmmv for as_dir in $at_path
   1099      1.1  jmmv do
   1100      1.1  jmmv   IFS=$as_save_IFS
   1101      1.1  jmmv   test -z "$as_dir" && as_dir=.
   1102      1.1  jmmv     test -d "$as_dir" || continue
   1103      1.1  jmmv case $as_dir in
   1104      1.1  jmmv   [\\/]* | ?:[\\/]* ) ;;
   1105      1.1  jmmv   * ) as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` ;;
   1106      1.1  jmmv esac
   1107      1.1  jmmv case $PATH_SEPARATOR$at_new_path$PATH_SEPARATOR in
   1108      1.1  jmmv   *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR*) ;;
   1109      1.1  jmmv   $PATH_SEPARATOR$PATH_SEPARATOR) at_new_path=$as_dir ;;
   1110      1.1  jmmv   *) as_fn_append at_new_path "$PATH_SEPARATOR$as_dir" ;;
   1111      1.1  jmmv esac
   1112      1.1  jmmv   done
   1113      1.1  jmmv IFS=$as_save_IFS
   1114      1.1  jmmv 
   1115      1.1  jmmv PATH=$at_new_path
   1116      1.1  jmmv export PATH
   1117      1.1  jmmv 
   1118      1.1  jmmv # Setting up the FDs.
   1119      1.1  jmmv 
   1120      1.1  jmmv 
   1121      1.1  jmmv 
   1122      1.1  jmmv # 5 is the log file.  Not to be overwritten if `-d'.
   1123      1.1  jmmv if $at_debug_p; then
   1124      1.1  jmmv   at_suite_log=/dev/null
   1125      1.1  jmmv else
   1126      1.1  jmmv   : >"$at_suite_log"
   1127      1.1  jmmv fi
   1128      1.1  jmmv exec 5>>"$at_suite_log"
   1129      1.1  jmmv 
   1130      1.1  jmmv # Banners and logs.
   1131      1.1  jmmv $as_echo "## ------------------------------------------------------------------ ##
   1132  1.1.1.2  jmmv ## Kyua - Command line interface 0.7 test suite: bootstrapping tests. ##
   1133      1.1  jmmv ## ------------------------------------------------------------------ ##"
   1134      1.1  jmmv {
   1135      1.1  jmmv   $as_echo "## ------------------------------------------------------------------ ##
   1136  1.1.1.2  jmmv ## Kyua - Command line interface 0.7 test suite: bootstrapping tests. ##
   1137      1.1  jmmv ## ------------------------------------------------------------------ ##"
   1138      1.1  jmmv   echo
   1139      1.1  jmmv 
   1140      1.1  jmmv   $as_echo "$as_me: command line was:"
   1141      1.1  jmmv   $as_echo "  \$ $0 $at_cli_args"
   1142      1.1  jmmv   echo
   1143      1.1  jmmv 
   1144      1.1  jmmv   # If ChangeLog exists, list a few lines in case it might help determining
   1145      1.1  jmmv   # the exact version.
   1146      1.1  jmmv   if test -n "$at_top_srcdir" && test -f "$at_top_srcdir/ChangeLog"; then
   1147      1.1  jmmv     $as_echo "## ---------- ##
   1148      1.1  jmmv ## ChangeLog. ##
   1149      1.1  jmmv ## ---------- ##"
   1150      1.1  jmmv     echo
   1151      1.1  jmmv     sed 's/^/| /;10q' "$at_top_srcdir/ChangeLog"
   1152      1.1  jmmv     echo
   1153      1.1  jmmv   fi
   1154      1.1  jmmv 
   1155      1.1  jmmv   {
   1156      1.1  jmmv cat <<_ASUNAME
   1157      1.1  jmmv ## --------- ##
   1158      1.1  jmmv ## Platform. ##
   1159      1.1  jmmv ## --------- ##
   1160      1.1  jmmv 
   1161      1.1  jmmv hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
   1162      1.1  jmmv uname -m = `(uname -m) 2>/dev/null || echo unknown`
   1163      1.1  jmmv uname -r = `(uname -r) 2>/dev/null || echo unknown`
   1164      1.1  jmmv uname -s = `(uname -s) 2>/dev/null || echo unknown`
   1165      1.1  jmmv uname -v = `(uname -v) 2>/dev/null || echo unknown`
   1166      1.1  jmmv 
   1167      1.1  jmmv /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
   1168      1.1  jmmv /bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
   1169      1.1  jmmv 
   1170      1.1  jmmv /bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
   1171      1.1  jmmv /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
   1172      1.1  jmmv /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
   1173      1.1  jmmv /usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
   1174      1.1  jmmv /bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
   1175      1.1  jmmv /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
   1176      1.1  jmmv /bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
   1177      1.1  jmmv 
   1178      1.1  jmmv _ASUNAME
   1179      1.1  jmmv 
   1180      1.1  jmmv as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
   1181      1.1  jmmv for as_dir in $PATH
   1182      1.1  jmmv do
   1183      1.1  jmmv   IFS=$as_save_IFS
   1184      1.1  jmmv   test -z "$as_dir" && as_dir=.
   1185      1.1  jmmv     $as_echo "PATH: $as_dir"
   1186      1.1  jmmv   done
   1187      1.1  jmmv IFS=$as_save_IFS
   1188      1.1  jmmv 
   1189      1.1  jmmv }
   1190      1.1  jmmv   echo
   1191      1.1  jmmv 
   1192      1.1  jmmv   # Contents of the config files.
   1193      1.1  jmmv   for at_file in atconfig atlocal
   1194      1.1  jmmv   do
   1195      1.1  jmmv     test -r $at_file || continue
   1196      1.1  jmmv     $as_echo "$as_me: $at_file:"
   1197      1.1  jmmv     sed 's/^/| /' $at_file
   1198      1.1  jmmv     echo
   1199      1.1  jmmv   done
   1200      1.1  jmmv } >&5
   1201      1.1  jmmv 
   1202      1.1  jmmv 
   1203      1.1  jmmv ## ------------------------- ##
   1204      1.1  jmmv ## Autotest shell functions. ##
   1205      1.1  jmmv ## ------------------------- ##
   1206      1.1  jmmv 
   1207      1.1  jmmv # at_fn_banner NUMBER
   1208      1.1  jmmv # -------------------
   1209      1.1  jmmv # Output banner NUMBER, provided the testsuite is running multiple groups and
   1210      1.1  jmmv # this particular banner has not yet been printed.
   1211      1.1  jmmv at_fn_banner ()
   1212      1.1  jmmv {
   1213      1.1  jmmv   $at_print_banners || return 0
   1214      1.1  jmmv   eval at_banner_text=\$at_banner_text_$1
   1215      1.1  jmmv   test "x$at_banner_text" = "x " && return 0
   1216      1.1  jmmv   eval "at_banner_text_$1=\" \""
   1217      1.1  jmmv   if test -z "$at_banner_text"; then
   1218      1.1  jmmv     $at_first || echo
   1219      1.1  jmmv   else
   1220      1.1  jmmv     $as_echo "$as_nl$at_banner_text$as_nl"
   1221      1.1  jmmv   fi
   1222      1.1  jmmv } # at_fn_banner
   1223      1.1  jmmv 
   1224      1.1  jmmv # at_fn_check_prepare_notrace REASON LINE
   1225      1.1  jmmv # ---------------------------------------
   1226      1.1  jmmv # Perform AT_CHECK preparations for the command at LINE for an untraceable
   1227      1.1  jmmv # command; REASON is the reason for disabling tracing.
   1228      1.1  jmmv at_fn_check_prepare_notrace ()
   1229      1.1  jmmv {
   1230      1.1  jmmv   $at_trace_echo "Not enabling shell tracing (command contains $1)"
   1231      1.1  jmmv   $as_echo "$2" >"$at_check_line_file"
   1232      1.1  jmmv   at_check_trace=: at_check_filter=:
   1233      1.1  jmmv   : >"$at_stdout"; : >"$at_stderr"
   1234      1.1  jmmv }
   1235      1.1  jmmv 
   1236      1.1  jmmv # at_fn_check_prepare_trace LINE
   1237      1.1  jmmv # ------------------------------
   1238      1.1  jmmv # Perform AT_CHECK preparations for the command at LINE for a traceable
   1239      1.1  jmmv # command.
   1240      1.1  jmmv at_fn_check_prepare_trace ()
   1241      1.1  jmmv {
   1242      1.1  jmmv   $as_echo "$1" >"$at_check_line_file"
   1243      1.1  jmmv   at_check_trace=$at_traceon at_check_filter=$at_check_filter_trace
   1244      1.1  jmmv   : >"$at_stdout"; : >"$at_stderr"
   1245      1.1  jmmv }
   1246      1.1  jmmv 
   1247      1.1  jmmv # at_fn_check_prepare_dynamic COMMAND LINE
   1248      1.1  jmmv # ----------------------------------------
   1249      1.1  jmmv # Decide if COMMAND at LINE is traceable at runtime, and call the appropriate
   1250      1.1  jmmv # preparation function.
   1251      1.1  jmmv at_fn_check_prepare_dynamic ()
   1252      1.1  jmmv {
   1253      1.1  jmmv   case $1 in
   1254      1.1  jmmv     *$as_nl*)
   1255      1.1  jmmv       at_fn_check_prepare_notrace 'an embedded newline' "$2" ;;
   1256      1.1  jmmv     *)
   1257      1.1  jmmv       at_fn_check_prepare_trace "$2" ;;
   1258      1.1  jmmv   esac
   1259      1.1  jmmv }
   1260      1.1  jmmv 
   1261      1.1  jmmv # at_fn_filter_trace
   1262      1.1  jmmv # ------------------
   1263      1.1  jmmv # Remove the lines in the file "$at_stderr" generated by "set -x" and print
   1264      1.1  jmmv # them to stderr.
   1265      1.1  jmmv at_fn_filter_trace ()
   1266      1.1  jmmv {
   1267      1.1  jmmv   mv "$at_stderr" "$at_stder1"
   1268      1.1  jmmv   grep '^ *+' "$at_stder1" >&2
   1269      1.1  jmmv   grep -v '^ *+' "$at_stder1" >"$at_stderr"
   1270      1.1  jmmv }
   1271      1.1  jmmv 
   1272      1.1  jmmv # at_fn_log_failure FILE-LIST
   1273      1.1  jmmv # ---------------------------
   1274      1.1  jmmv # Copy the files in the list on stdout with a "> " prefix, and exit the shell
   1275      1.1  jmmv # with a failure exit code.
   1276      1.1  jmmv at_fn_log_failure ()
   1277      1.1  jmmv {
   1278      1.1  jmmv   for file
   1279      1.1  jmmv     do $as_echo "$file:"; sed 's/^/> /' "$file"; done
   1280      1.1  jmmv   echo 1 > "$at_status_file"
   1281      1.1  jmmv   exit 1
   1282      1.1  jmmv }
   1283      1.1  jmmv 
   1284      1.1  jmmv # at_fn_check_skip EXIT-CODE LINE
   1285      1.1  jmmv # -------------------------------
   1286      1.1  jmmv # Check whether EXIT-CODE is a special exit code (77 or 99), and if so exit
   1287      1.1  jmmv # the test group subshell with that same exit code. Use LINE in any report
   1288      1.1  jmmv # about test failure.
   1289      1.1  jmmv at_fn_check_skip ()
   1290      1.1  jmmv {
   1291      1.1  jmmv   case $1 in
   1292      1.1  jmmv     99) echo 99 > "$at_status_file"; at_failed=:
   1293      1.1  jmmv 	$as_echo "$2: hard failure"; exit 99;;
   1294      1.1  jmmv     77) echo 77 > "$at_status_file"; exit 77;;
   1295      1.1  jmmv   esac
   1296      1.1  jmmv }
   1297      1.1  jmmv 
   1298      1.1  jmmv # at_fn_check_status EXPECTED EXIT-CODE LINE
   1299      1.1  jmmv # ------------------------------------------
   1300      1.1  jmmv # Check whether EXIT-CODE is the EXPECTED exit code, and if so do nothing.
   1301      1.1  jmmv # Otherwise, if it is 77 or 99, exit the test group subshell with that same
   1302      1.1  jmmv # exit code; if it is anything else print an error message referring to LINE,
   1303      1.1  jmmv # and fail the test.
   1304      1.1  jmmv at_fn_check_status ()
   1305      1.1  jmmv {
   1306      1.1  jmmv   case $2 in
   1307      1.1  jmmv     $1 ) ;;
   1308      1.1  jmmv     77) echo 77 > "$at_status_file"; exit 77;;
   1309      1.1  jmmv     99) echo 99 > "$at_status_file"; at_failed=:
   1310      1.1  jmmv 	$as_echo "$3: hard failure"; exit 99;;
   1311      1.1  jmmv     *) $as_echo "$3: exit code was $2, expected $1"
   1312      1.1  jmmv       at_failed=:;;
   1313      1.1  jmmv   esac
   1314      1.1  jmmv }
   1315      1.1  jmmv 
   1316      1.1  jmmv # at_fn_diff_devnull FILE
   1317      1.1  jmmv # -----------------------
   1318      1.1  jmmv # Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless diff
   1319      1.1  jmmv # invocations.
   1320      1.1  jmmv at_fn_diff_devnull ()
   1321      1.1  jmmv {
   1322      1.1  jmmv   test -s "$1" || return 0
   1323      1.1  jmmv   $at_diff "$at_devnull" "$1"
   1324      1.1  jmmv }
   1325      1.1  jmmv 
   1326      1.1  jmmv # at_fn_test NUMBER
   1327      1.1  jmmv # -----------------
   1328      1.1  jmmv # Parse out test NUMBER from the tail of this file.
   1329      1.1  jmmv at_fn_test ()
   1330      1.1  jmmv {
   1331      1.1  jmmv   eval at_sed=\$at_sed$1
   1332      1.1  jmmv   sed "$at_sed" "$at_myself" > "$at_test_source"
   1333      1.1  jmmv }
   1334      1.1  jmmv 
   1335      1.1  jmmv # at_fn_create_debugging_script
   1336      1.1  jmmv # -----------------------------
   1337      1.1  jmmv # Create the debugging script $at_group_dir/run which will reproduce the
   1338      1.1  jmmv # current test group.
   1339      1.1  jmmv at_fn_create_debugging_script ()
   1340      1.1  jmmv {
   1341      1.1  jmmv   {
   1342      1.1  jmmv     echo "#! /bin/sh" &&
   1343      1.1  jmmv     echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' &&
   1344      1.1  jmmv     $as_echo "cd '$at_dir'" &&
   1345      1.1  jmmv     $as_echo "exec \${CONFIG_SHELL-$SHELL} \"$at_myself\" -v -d $at_debug_args $at_group \${1+\"\$@\"}" &&
   1346      1.1  jmmv     echo 'exit 1'
   1347      1.1  jmmv   } >"$at_group_dir/run" &&
   1348      1.1  jmmv   chmod +x "$at_group_dir/run"
   1349      1.1  jmmv }
   1350      1.1  jmmv 
   1351      1.1  jmmv ## -------------------------------- ##
   1352      1.1  jmmv ## End of autotest shell functions. ##
   1353      1.1  jmmv ## -------------------------------- ##
   1354      1.1  jmmv {
   1355      1.1  jmmv   $as_echo "## ---------------- ##
   1356      1.1  jmmv ## Tested programs. ##
   1357      1.1  jmmv ## ---------------- ##"
   1358      1.1  jmmv   echo
   1359      1.1  jmmv } >&5
   1360      1.1  jmmv 
   1361      1.1  jmmv # Report what programs are being tested.
   1362      1.1  jmmv for at_program in : $at_tested
   1363      1.1  jmmv do
   1364      1.1  jmmv   test "$at_program" = : && continue
   1365      1.1  jmmv   case $at_program in
   1366      1.1  jmmv     [\\/]* | ?:[\\/]* ) $at_program_=$at_program ;;
   1367      1.1  jmmv     * )
   1368      1.1  jmmv     as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
   1369      1.1  jmmv for as_dir in $PATH
   1370      1.1  jmmv do
   1371      1.1  jmmv   IFS=$as_save_IFS
   1372      1.1  jmmv   test -z "$as_dir" && as_dir=.
   1373      1.1  jmmv     test -f "$as_dir/$at_program" && break
   1374      1.1  jmmv   done
   1375      1.1  jmmv IFS=$as_save_IFS
   1376      1.1  jmmv 
   1377      1.1  jmmv     at_program_=$as_dir/$at_program ;;
   1378      1.1  jmmv   esac
   1379      1.1  jmmv   if test -f "$at_program_"; then
   1380      1.1  jmmv     {
   1381      1.1  jmmv       $as_echo "$at_srcdir/testsuite.at:29: $at_program_ --version"
   1382      1.1  jmmv       "$at_program_" --version </dev/null
   1383      1.1  jmmv       echo
   1384      1.1  jmmv     } >&5 2>&1
   1385      1.1  jmmv   else
   1386      1.1  jmmv     as_fn_error $? "cannot find $at_program" "$LINENO" 5
   1387      1.1  jmmv   fi
   1388      1.1  jmmv done
   1389      1.1  jmmv 
   1390      1.1  jmmv {
   1391      1.1  jmmv   $as_echo "## ------------------ ##
   1392      1.1  jmmv ## Running the tests. ##
   1393      1.1  jmmv ## ------------------ ##"
   1394      1.1  jmmv } >&5
   1395      1.1  jmmv 
   1396      1.1  jmmv at_start_date=`date`
   1397      1.1  jmmv at_start_time=`date +%s 2>/dev/null`
   1398      1.1  jmmv $as_echo "$as_me: starting at: $at_start_date" >&5
   1399      1.1  jmmv 
   1400      1.1  jmmv # Create the master directory if it doesn't already exist.
   1401      1.1  jmmv as_dir="$at_suite_dir"; as_fn_mkdir_p ||
   1402      1.1  jmmv   as_fn_error $? "cannot create \`$at_suite_dir'" "$LINENO" 5
   1403      1.1  jmmv 
   1404      1.1  jmmv # Can we diff with `/dev/null'?  DU 5.0 refuses.
   1405      1.1  jmmv if diff /dev/null /dev/null >/dev/null 2>&1; then
   1406      1.1  jmmv   at_devnull=/dev/null
   1407      1.1  jmmv else
   1408      1.1  jmmv   at_devnull=$at_suite_dir/devnull
   1409      1.1  jmmv   >"$at_devnull"
   1410      1.1  jmmv fi
   1411      1.1  jmmv 
   1412      1.1  jmmv # Use `diff -u' when possible.
   1413      1.1  jmmv if at_diff=`diff -u "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_diff"
   1414      1.1  jmmv then
   1415      1.1  jmmv   at_diff='diff -u'
   1416      1.1  jmmv else
   1417      1.1  jmmv   at_diff=diff
   1418      1.1  jmmv fi
   1419      1.1  jmmv 
   1420      1.1  jmmv # Get the last needed group.
   1421      1.1  jmmv for at_group in : $at_groups; do :; done
   1422      1.1  jmmv 
   1423      1.1  jmmv # Extract the start and end lines of each test group at the tail
   1424      1.1  jmmv # of this file
   1425      1.1  jmmv awk '
   1426      1.1  jmmv BEGIN { FS="" }
   1427      1.1  jmmv /^#AT_START_/ {
   1428      1.1  jmmv   start = NR
   1429      1.1  jmmv }
   1430      1.1  jmmv /^#AT_STOP_/ {
   1431      1.1  jmmv   test = substr ($ 0, 10)
   1432      1.1  jmmv   print "at_sed" test "=\"1," start "d;" (NR-1) "q\""
   1433      1.1  jmmv   if (test == "'"$at_group"'") exit
   1434      1.1  jmmv }' "$at_myself" > "$at_suite_dir/at-source-lines" &&
   1435      1.1  jmmv . "$at_suite_dir/at-source-lines" ||
   1436      1.1  jmmv   as_fn_error $? "cannot create test line number cache" "$LINENO" 5
   1437      1.1  jmmv rm -f "$at_suite_dir/at-source-lines"
   1438      1.1  jmmv 
   1439      1.1  jmmv # Set number of jobs for `-j'; avoid more jobs than test groups.
   1440      1.1  jmmv set X $at_groups; shift; at_max_jobs=$#
   1441      1.1  jmmv if test $at_max_jobs -eq 0; then
   1442      1.1  jmmv   at_jobs=1
   1443      1.1  jmmv fi
   1444      1.1  jmmv if test $at_jobs -ne 1 &&
   1445      1.1  jmmv    { test $at_jobs -eq 0 || test $at_jobs -gt $at_max_jobs; }; then
   1446      1.1  jmmv   at_jobs=$at_max_jobs
   1447      1.1  jmmv fi
   1448      1.1  jmmv 
   1449      1.1  jmmv # If parallel mode, don't output banners, don't split summary lines.
   1450      1.1  jmmv if test $at_jobs -ne 1; then
   1451      1.1  jmmv   at_print_banners=false
   1452      1.1  jmmv   at_quiet=:
   1453      1.1  jmmv fi
   1454      1.1  jmmv 
   1455      1.1  jmmv # Set up helper dirs.
   1456      1.1  jmmv rm -rf "$at_helper_dir" &&
   1457      1.1  jmmv mkdir "$at_helper_dir" &&
   1458      1.1  jmmv cd "$at_helper_dir" &&
   1459      1.1  jmmv { test -z "$at_groups" || mkdir $at_groups; } ||
   1460      1.1  jmmv as_fn_error $? "testsuite directory setup failed" "$LINENO" 5
   1461      1.1  jmmv 
   1462      1.1  jmmv # Functions for running a test group.  We leave the actual
   1463      1.1  jmmv # test group execution outside of a shell function in order
   1464      1.1  jmmv # to avoid hitting zsh 4.x exit status bugs.
   1465      1.1  jmmv 
   1466      1.1  jmmv # at_fn_group_prepare
   1467      1.1  jmmv # -------------------
   1468      1.1  jmmv # Prepare for running a test group.
   1469      1.1  jmmv at_fn_group_prepare ()
   1470      1.1  jmmv {
   1471      1.1  jmmv   # The directory for additional per-group helper files.
   1472      1.1  jmmv   at_job_dir=$at_helper_dir/$at_group
   1473      1.1  jmmv   # The file containing the location of the last AT_CHECK.
   1474      1.1  jmmv   at_check_line_file=$at_job_dir/check-line
   1475      1.1  jmmv   # The file containing the exit status of the last command.
   1476      1.1  jmmv   at_status_file=$at_job_dir/status
   1477      1.1  jmmv   # The files containing the output of the tested commands.
   1478      1.1  jmmv   at_stdout=$at_job_dir/stdout
   1479      1.1  jmmv   at_stder1=$at_job_dir/stder1
   1480      1.1  jmmv   at_stderr=$at_job_dir/stderr
   1481      1.1  jmmv   # The file containing the code for a test group.
   1482      1.1  jmmv   at_test_source=$at_job_dir/test-source
   1483      1.1  jmmv   # The file containing dates.
   1484      1.1  jmmv   at_times_file=$at_job_dir/times
   1485      1.1  jmmv 
   1486      1.1  jmmv   # Be sure to come back to the top test directory.
   1487      1.1  jmmv   cd "$at_suite_dir"
   1488      1.1  jmmv 
   1489      1.1  jmmv   # Clearly separate the test groups when verbose.
   1490      1.1  jmmv   $at_first || $at_verbose echo
   1491      1.1  jmmv 
   1492      1.1  jmmv   at_group_normalized=$at_group
   1493      1.1  jmmv 
   1494      1.1  jmmv   eval 'while :; do
   1495      1.1  jmmv     case $at_group_normalized in #(
   1496      1.1  jmmv     '"$at_format"'*) break;;
   1497      1.1  jmmv     esac
   1498      1.1  jmmv     at_group_normalized=0$at_group_normalized
   1499      1.1  jmmv   done'
   1500      1.1  jmmv 
   1501      1.1  jmmv 
   1502      1.1  jmmv   # Create a fresh directory for the next test group, and enter.
   1503      1.1  jmmv   # If one already exists, the user may have invoked ./run from
   1504      1.1  jmmv   # within that directory; we remove the contents, but not the
   1505      1.1  jmmv   # directory itself, so that we aren't pulling the rug out from
   1506      1.1  jmmv   # under the shell's notion of the current directory.
   1507      1.1  jmmv   at_group_dir=$at_suite_dir/$at_group_normalized
   1508      1.1  jmmv   at_group_log=$at_group_dir/$as_me.log
   1509      1.1  jmmv   if test -d "$at_group_dir"; then
   1510      1.1  jmmv   find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx {} \;
   1511      1.1  jmmv   rm -fr "$at_group_dir"/* "$at_group_dir"/.[!.] "$at_group_dir"/.??*
   1512      1.1  jmmv fi ||
   1513      1.1  jmmv     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: test directory for $at_group_normalized could not be cleaned" >&5
   1514      1.1  jmmv $as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned" >&2;}
   1515      1.1  jmmv   # Be tolerant if the above `rm' was not able to remove the directory.
   1516      1.1  jmmv   as_dir="$at_group_dir"; as_fn_mkdir_p
   1517      1.1  jmmv 
   1518      1.1  jmmv   echo 0 > "$at_status_file"
   1519      1.1  jmmv 
   1520      1.1  jmmv   # In verbose mode, append to the log file *and* show on
   1521      1.1  jmmv   # the standard output; in quiet mode only write to the log.
   1522      1.1  jmmv   if test -z "$at_verbose"; then
   1523      1.1  jmmv     at_tee_pipe='tee -a "$at_group_log"'
   1524      1.1  jmmv   else
   1525      1.1  jmmv     at_tee_pipe='cat >> "$at_group_log"'
   1526      1.1  jmmv   fi
   1527      1.1  jmmv }
   1528      1.1  jmmv 
   1529      1.1  jmmv # at_fn_group_banner ORDINAL LINE DESC PAD [BANNER]
   1530      1.1  jmmv # -------------------------------------------------
   1531      1.1  jmmv # Declare the test group ORDINAL, located at LINE with group description DESC,
   1532      1.1  jmmv # and residing under BANNER. Use PAD to align the status column.
   1533      1.1  jmmv at_fn_group_banner ()
   1534      1.1  jmmv {
   1535      1.1  jmmv   at_setup_line="$2"
   1536      1.1  jmmv   test -n "$5" && at_fn_banner $5
   1537      1.1  jmmv   at_desc="$3"
   1538      1.1  jmmv   case $1 in
   1539      1.1  jmmv     [0-9])      at_desc_line="  $1: ";;
   1540      1.1  jmmv     [0-9][0-9]) at_desc_line=" $1: " ;;
   1541      1.1  jmmv     *)          at_desc_line="$1: "  ;;
   1542      1.1  jmmv   esac
   1543      1.1  jmmv   as_fn_append at_desc_line "$3$4"
   1544      1.1  jmmv   $at_quiet $as_echo_n "$at_desc_line"
   1545      1.1  jmmv   echo "#                             -*- compilation -*-" >> "$at_group_log"
   1546      1.1  jmmv }
   1547      1.1  jmmv 
   1548      1.1  jmmv # at_fn_group_postprocess
   1549      1.1  jmmv # -----------------------
   1550      1.1  jmmv # Perform cleanup after running a test group.
   1551      1.1  jmmv at_fn_group_postprocess ()
   1552      1.1  jmmv {
   1553      1.1  jmmv   # Be sure to come back to the suite directory, in particular
   1554      1.1  jmmv   # since below we might `rm' the group directory we are in currently.
   1555      1.1  jmmv   cd "$at_suite_dir"
   1556      1.1  jmmv 
   1557      1.1  jmmv   if test ! -f "$at_check_line_file"; then
   1558      1.1  jmmv     sed "s/^ */$as_me: WARNING: /" <<_ATEOF
   1559      1.1  jmmv       A failure happened in a test group before any test could be
   1560      1.1  jmmv       run. This means that test suite is improperly designed.  Please
   1561      1.1  jmmv       report this failure to <kyua-discuss@googlegroups.com>.
   1562      1.1  jmmv _ATEOF
   1563      1.1  jmmv     $as_echo "$at_setup_line" >"$at_check_line_file"
   1564      1.1  jmmv     at_status=99
   1565      1.1  jmmv   fi
   1566      1.1  jmmv   $at_verbose $as_echo_n "$at_group. $at_setup_line: "
   1567      1.1  jmmv   $as_echo_n "$at_group. $at_setup_line: " >> "$at_group_log"
   1568      1.1  jmmv   case $at_xfail:$at_status in
   1569      1.1  jmmv     yes:0)
   1570      1.1  jmmv 	at_msg="UNEXPECTED PASS"
   1571      1.1  jmmv 	at_res=xpass
   1572      1.1  jmmv 	at_errexit=$at_errexit_p
   1573      1.1  jmmv 	at_color=$at_red
   1574      1.1  jmmv 	;;
   1575      1.1  jmmv     no:0)
   1576      1.1  jmmv 	at_msg="ok"
   1577      1.1  jmmv 	at_res=pass
   1578      1.1  jmmv 	at_errexit=false
   1579      1.1  jmmv 	at_color=$at_grn
   1580      1.1  jmmv 	;;
   1581      1.1  jmmv     *:77)
   1582      1.1  jmmv 	at_msg='skipped ('`cat "$at_check_line_file"`')'
   1583      1.1  jmmv 	at_res=skip
   1584      1.1  jmmv 	at_errexit=false
   1585      1.1  jmmv 	at_color=$at_blu
   1586      1.1  jmmv 	;;
   1587      1.1  jmmv     no:* | *:99)
   1588      1.1  jmmv 	at_msg='FAILED ('`cat "$at_check_line_file"`')'
   1589      1.1  jmmv 	at_res=fail
   1590      1.1  jmmv 	at_errexit=$at_errexit_p
   1591      1.1  jmmv 	at_color=$at_red
   1592      1.1  jmmv 	;;
   1593      1.1  jmmv     yes:*)
   1594      1.1  jmmv 	at_msg='expected failure ('`cat "$at_check_line_file"`')'
   1595      1.1  jmmv 	at_res=xfail
   1596      1.1  jmmv 	at_errexit=false
   1597      1.1  jmmv 	at_color=$at_lgn
   1598      1.1  jmmv 	;;
   1599      1.1  jmmv   esac
   1600      1.1  jmmv   echo "$at_res" > "$at_job_dir/$at_res"
   1601      1.1  jmmv   # In parallel mode, output the summary line only afterwards.
   1602      1.1  jmmv   if test $at_jobs -ne 1 && test -n "$at_verbose"; then
   1603      1.1  jmmv     $as_echo "$at_desc_line $at_color$at_msg$at_std"
   1604      1.1  jmmv   else
   1605      1.1  jmmv     # Make sure there is a separator even with long titles.
   1606      1.1  jmmv     $as_echo " $at_color$at_msg$at_std"
   1607      1.1  jmmv   fi
   1608      1.1  jmmv   at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg"
   1609      1.1  jmmv   case $at_status in
   1610      1.1  jmmv     0|77)
   1611      1.1  jmmv       # $at_times_file is only available if the group succeeded.
   1612      1.1  jmmv       # We're not including the group log, so the success message
   1613      1.1  jmmv       # is written in the global log separately.  But we also
   1614      1.1  jmmv       # write to the group log in case they're using -d.
   1615      1.1  jmmv       if test -f "$at_times_file"; then
   1616      1.1  jmmv 	at_log_msg="$at_log_msg     ("`sed 1d "$at_times_file"`')'
   1617      1.1  jmmv 	rm -f "$at_times_file"
   1618      1.1  jmmv       fi
   1619      1.1  jmmv       $as_echo "$at_log_msg" >> "$at_group_log"
   1620      1.1  jmmv       $as_echo "$at_log_msg" >&5
   1621      1.1  jmmv 
   1622      1.1  jmmv       # Cleanup the group directory, unless the user wants the files
   1623      1.1  jmmv       # or the success was unexpected.
   1624      1.1  jmmv       if $at_debug_p || test $at_res = xpass; then
   1625      1.1  jmmv 	at_fn_create_debugging_script
   1626      1.1  jmmv 	if test $at_res = xpass && $at_errexit; then
   1627      1.1  jmmv 	  echo stop > "$at_stop_file"
   1628      1.1  jmmv 	fi
   1629      1.1  jmmv       else
   1630      1.1  jmmv 	if test -d "$at_group_dir"; then
   1631      1.1  jmmv 	  find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
   1632      1.1  jmmv 	  rm -fr "$at_group_dir"
   1633      1.1  jmmv 	fi
   1634      1.1  jmmv 	rm -f "$at_test_source"
   1635      1.1  jmmv       fi
   1636      1.1  jmmv       ;;
   1637      1.1  jmmv     *)
   1638      1.1  jmmv       # Upon failure, include the log into the testsuite's global
   1639      1.1  jmmv       # log.  The failure message is written in the group log.  It
   1640      1.1  jmmv       # is later included in the global log.
   1641      1.1  jmmv       $as_echo "$at_log_msg" >> "$at_group_log"
   1642      1.1  jmmv 
   1643      1.1  jmmv       # Upon failure, keep the group directory for autopsy, and create
   1644      1.1  jmmv       # the debugging script.  With -e, do not start any further tests.
   1645      1.1  jmmv       at_fn_create_debugging_script
   1646      1.1  jmmv       if $at_errexit; then
   1647      1.1  jmmv 	echo stop > "$at_stop_file"
   1648      1.1  jmmv       fi
   1649      1.1  jmmv       ;;
   1650      1.1  jmmv   esac
   1651      1.1  jmmv }
   1652      1.1  jmmv 
   1653      1.1  jmmv 
   1654      1.1  jmmv ## ------------ ##
   1655      1.1  jmmv ## Driver loop. ##
   1656      1.1  jmmv ## ------------ ##
   1657      1.1  jmmv 
   1658      1.1  jmmv 
   1659      1.1  jmmv if (set -m && set +m && set +b) >/dev/null 2>&1; then
   1660      1.1  jmmv   set +b
   1661      1.1  jmmv   at_job_control_on='set -m' at_job_control_off='set +m' at_job_group=-
   1662      1.1  jmmv else
   1663      1.1  jmmv   at_job_control_on=: at_job_control_off=: at_job_group=
   1664      1.1  jmmv fi
   1665      1.1  jmmv 
   1666      1.1  jmmv for at_signal in 1 2 15; do
   1667      1.1  jmmv   trap 'set +x; set +e
   1668      1.1  jmmv 	$at_job_control_off
   1669      1.1  jmmv 	at_signal='"$at_signal"'
   1670      1.1  jmmv 	echo stop > "$at_stop_file"
   1671      1.1  jmmv 	trap "" $at_signal
   1672      1.1  jmmv 	at_pgids=
   1673      1.1  jmmv 	for at_pgid in `jobs -p 2>/dev/null`; do
   1674      1.1  jmmv 	  at_pgids="$at_pgids $at_job_group$at_pgid"
   1675      1.1  jmmv 	done
   1676      1.1  jmmv 	test -z "$at_pgids" || kill -$at_signal $at_pgids 2>/dev/null
   1677      1.1  jmmv 	wait
   1678      1.1  jmmv 	if test "$at_jobs" -eq 1 || test -z "$at_verbose"; then
   1679      1.1  jmmv 	  echo >&2
   1680      1.1  jmmv 	fi
   1681      1.1  jmmv 	at_signame=`kill -l $at_signal 2>&1 || echo $at_signal`
   1682      1.1  jmmv 	set x $at_signame
   1683      1.1  jmmv 	test 1 -gt 2 && at_signame=$at_signal
   1684      1.1  jmmv 	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: caught signal $at_signame, bailing out" >&5
   1685      1.1  jmmv $as_echo "$as_me: WARNING: caught signal $at_signame, bailing out" >&2;}
   1686      1.1  jmmv 	as_fn_arith 128 + $at_signal && exit_status=$as_val
   1687      1.1  jmmv 	as_fn_exit $exit_status' $at_signal
   1688      1.1  jmmv done
   1689      1.1  jmmv 
   1690      1.1  jmmv rm -f "$at_stop_file"
   1691      1.1  jmmv at_first=:
   1692      1.1  jmmv 
   1693      1.1  jmmv if test $at_jobs -ne 1 &&
   1694      1.1  jmmv      rm -f "$at_job_fifo" &&
   1695      1.1  jmmv      test -n "$at_job_group" &&
   1696      1.1  jmmv      ( mkfifo "$at_job_fifo" && trap 'exit 1' PIPE STOP TSTP ) 2>/dev/null
   1697      1.1  jmmv then
   1698      1.1  jmmv   # FIFO job dispatcher.
   1699      1.1  jmmv 
   1700      1.1  jmmv   trap 'at_pids=
   1701      1.1  jmmv 	for at_pid in `jobs -p`; do
   1702      1.1  jmmv 	  at_pids="$at_pids $at_job_group$at_pid"
   1703      1.1  jmmv 	done
   1704      1.1  jmmv 	if test -n "$at_pids"; then
   1705      1.1  jmmv 	  at_sig=TSTP
   1706      1.1  jmmv 	  test "${TMOUT+set}" = set && at_sig=STOP
   1707      1.1  jmmv 	  kill -$at_sig $at_pids 2>/dev/null
   1708      1.1  jmmv 	fi
   1709      1.1  jmmv 	kill -STOP $$
   1710      1.1  jmmv 	test -z "$at_pids" || kill -CONT $at_pids 2>/dev/null' TSTP
   1711      1.1  jmmv 
   1712      1.1  jmmv   echo
   1713      1.1  jmmv   # Turn jobs into a list of numbers, starting from 1.
   1714      1.1  jmmv   at_joblist=`$as_echo "$at_groups" | sed -n 1,${at_jobs}p`
   1715      1.1  jmmv 
   1716      1.1  jmmv   set X $at_joblist
   1717      1.1  jmmv   shift
   1718      1.1  jmmv   for at_group in $at_groups; do
   1719      1.1  jmmv     $at_job_control_on 2>/dev/null
   1720      1.1  jmmv     (
   1721      1.1  jmmv       # Start one test group.
   1722      1.1  jmmv       $at_job_control_off
   1723      1.1  jmmv       if $at_first; then
   1724      1.1  jmmv 	exec 7>"$at_job_fifo"
   1725      1.1  jmmv       else
   1726      1.1  jmmv 	exec 6<&-
   1727      1.1  jmmv       fi
   1728      1.1  jmmv       trap 'set +x; set +e
   1729      1.1  jmmv 	    trap "" PIPE
   1730      1.1  jmmv 	    echo stop > "$at_stop_file"
   1731      1.1  jmmv 	    echo >&7
   1732      1.1  jmmv 	    as_fn_exit 141' PIPE
   1733      1.1  jmmv       at_fn_group_prepare
   1734      1.1  jmmv       if cd "$at_group_dir" &&
   1735      1.1  jmmv 	 at_fn_test $at_group &&
   1736      1.1  jmmv 	 . "$at_test_source"
   1737      1.1  jmmv       then :; else
   1738      1.1  jmmv 	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5
   1739      1.1  jmmv $as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;}
   1740      1.1  jmmv 	at_failed=:
   1741      1.1  jmmv       fi
   1742      1.1  jmmv       at_fn_group_postprocess
   1743      1.1  jmmv       echo >&7
   1744      1.1  jmmv     ) &
   1745      1.1  jmmv     $at_job_control_off
   1746      1.1  jmmv     if $at_first; then
   1747      1.1  jmmv       at_first=false
   1748      1.1  jmmv       exec 6<"$at_job_fifo" 7>"$at_job_fifo"
   1749      1.1  jmmv     fi
   1750      1.1  jmmv     shift # Consume one token.
   1751      1.1  jmmv     if test $# -gt 0; then :; else
   1752      1.1  jmmv       read at_token <&6 || break
   1753      1.1  jmmv       set x $*
   1754      1.1  jmmv     fi
   1755      1.1  jmmv     test -f "$at_stop_file" && break
   1756      1.1  jmmv   done
   1757      1.1  jmmv   exec 7>&-
   1758      1.1  jmmv   # Read back the remaining ($at_jobs - 1) tokens.
   1759      1.1  jmmv   set X $at_joblist
   1760      1.1  jmmv   shift
   1761      1.1  jmmv   if test $# -gt 0; then
   1762      1.1  jmmv     shift
   1763      1.1  jmmv     for at_job
   1764      1.1  jmmv     do
   1765      1.1  jmmv       read at_token
   1766      1.1  jmmv     done <&6
   1767      1.1  jmmv   fi
   1768      1.1  jmmv   exec 6<&-
   1769      1.1  jmmv   wait
   1770      1.1  jmmv else
   1771      1.1  jmmv   # Run serially, avoid forks and other potential surprises.
   1772      1.1  jmmv   for at_group in $at_groups; do
   1773      1.1  jmmv     at_fn_group_prepare
   1774      1.1  jmmv     if cd "$at_group_dir" &&
   1775      1.1  jmmv        at_fn_test $at_group &&
   1776      1.1  jmmv        . "$at_test_source"; then :; else
   1777      1.1  jmmv       { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5
   1778      1.1  jmmv $as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;}
   1779      1.1  jmmv       at_failed=:
   1780      1.1  jmmv     fi
   1781      1.1  jmmv     at_fn_group_postprocess
   1782      1.1  jmmv     test -f "$at_stop_file" && break
   1783      1.1  jmmv     at_first=false
   1784      1.1  jmmv   done
   1785      1.1  jmmv fi
   1786      1.1  jmmv 
   1787      1.1  jmmv # Wrap up the test suite with summary statistics.
   1788      1.1  jmmv cd "$at_helper_dir"
   1789      1.1  jmmv 
   1790      1.1  jmmv # Use ?..???? when the list must remain sorted, the faster * otherwise.
   1791      1.1  jmmv at_pass_list=`for f in */pass; do echo $f; done | sed '/\*/d; s,/pass,,'`
   1792      1.1  jmmv at_skip_list=`for f in */skip; do echo $f; done | sed '/\*/d; s,/skip,,'`
   1793      1.1  jmmv at_xfail_list=`for f in */xfail; do echo $f; done | sed '/\*/d; s,/xfail,,'`
   1794      1.1  jmmv at_xpass_list=`for f in ?/xpass ??/xpass ???/xpass ????/xpass; do
   1795      1.1  jmmv 		 echo $f; done | sed '/?/d; s,/xpass,,'`
   1796      1.1  jmmv at_fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do
   1797      1.1  jmmv 		echo $f; done | sed '/?/d; s,/fail,,'`
   1798      1.1  jmmv 
   1799      1.1  jmmv set X $at_pass_list $at_xpass_list $at_xfail_list $at_fail_list $at_skip_list
   1800      1.1  jmmv shift; at_group_count=$#
   1801      1.1  jmmv set X $at_xpass_list; shift; at_xpass_count=$#; at_xpass_list=$*
   1802      1.1  jmmv set X $at_xfail_list; shift; at_xfail_count=$#
   1803      1.1  jmmv set X $at_fail_list; shift; at_fail_count=$#; at_fail_list=$*
   1804      1.1  jmmv set X $at_skip_list; shift; at_skip_count=$#
   1805      1.1  jmmv 
   1806      1.1  jmmv as_fn_arith $at_group_count - $at_skip_count && at_run_count=$as_val
   1807      1.1  jmmv as_fn_arith $at_xpass_count + $at_fail_count && at_unexpected_count=$as_val
   1808      1.1  jmmv as_fn_arith $at_xfail_count + $at_fail_count && at_total_fail_count=$as_val
   1809      1.1  jmmv 
   1810      1.1  jmmv # Back to the top directory.
   1811      1.1  jmmv cd "$at_dir"
   1812      1.1  jmmv rm -rf "$at_helper_dir"
   1813      1.1  jmmv 
   1814      1.1  jmmv # Compute the duration of the suite.
   1815      1.1  jmmv at_stop_date=`date`
   1816      1.1  jmmv at_stop_time=`date +%s 2>/dev/null`
   1817      1.1  jmmv $as_echo "$as_me: ending at: $at_stop_date" >&5
   1818      1.1  jmmv case $at_start_time,$at_stop_time in
   1819      1.1  jmmv   [0-9]*,[0-9]*)
   1820      1.1  jmmv     as_fn_arith $at_stop_time - $at_start_time && at_duration_s=$as_val
   1821      1.1  jmmv     as_fn_arith $at_duration_s / 60 && at_duration_m=$as_val
   1822      1.1  jmmv     as_fn_arith $at_duration_m / 60 && at_duration_h=$as_val
   1823      1.1  jmmv     as_fn_arith $at_duration_s % 60 && at_duration_s=$as_val
   1824      1.1  jmmv     as_fn_arith $at_duration_m % 60 && at_duration_m=$as_val
   1825      1.1  jmmv     at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s"
   1826      1.1  jmmv     $as_echo "$as_me: test suite duration: $at_duration" >&5
   1827      1.1  jmmv     ;;
   1828      1.1  jmmv esac
   1829      1.1  jmmv 
   1830      1.1  jmmv echo
   1831      1.1  jmmv $as_echo "## ------------- ##
   1832      1.1  jmmv ## Test results. ##
   1833      1.1  jmmv ## ------------- ##"
   1834      1.1  jmmv echo
   1835      1.1  jmmv {
   1836      1.1  jmmv   echo
   1837      1.1  jmmv   $as_echo "## ------------- ##
   1838      1.1  jmmv ## Test results. ##
   1839      1.1  jmmv ## ------------- ##"
   1840      1.1  jmmv   echo
   1841      1.1  jmmv } >&5
   1842      1.1  jmmv 
   1843      1.1  jmmv if test $at_run_count = 1; then
   1844      1.1  jmmv   at_result="1 test"
   1845      1.1  jmmv   at_were=was
   1846      1.1  jmmv else
   1847      1.1  jmmv   at_result="$at_run_count tests"
   1848      1.1  jmmv   at_were=were
   1849      1.1  jmmv fi
   1850      1.1  jmmv if $at_errexit_p && test $at_unexpected_count != 0; then
   1851      1.1  jmmv   if test $at_xpass_count = 1; then
   1852      1.1  jmmv     at_result="$at_result $at_were run, one passed"
   1853      1.1  jmmv   else
   1854      1.1  jmmv     at_result="$at_result $at_were run, one failed"
   1855      1.1  jmmv   fi
   1856      1.1  jmmv   at_result="$at_result unexpectedly and inhibited subsequent tests."
   1857      1.1  jmmv   at_color=$at_red
   1858      1.1  jmmv else
   1859      1.1  jmmv   # Don't you just love exponential explosion of the number of cases?
   1860      1.1  jmmv   at_color=$at_red
   1861      1.1  jmmv   case $at_xpass_count:$at_fail_count:$at_xfail_count in
   1862      1.1  jmmv     # So far, so good.
   1863      1.1  jmmv     0:0:0) at_result="$at_result $at_were successful." at_color=$at_grn ;;
   1864      1.1  jmmv     0:0:*) at_result="$at_result behaved as expected." at_color=$at_lgn ;;
   1865      1.1  jmmv 
   1866      1.1  jmmv     # Some unexpected failures
   1867      1.1  jmmv     0:*:0) at_result="$at_result $at_were run,
   1868      1.1  jmmv $at_fail_count failed unexpectedly." ;;
   1869      1.1  jmmv 
   1870      1.1  jmmv     # Some failures, both expected and unexpected
   1871      1.1  jmmv     0:*:1) at_result="$at_result $at_were run,
   1872      1.1  jmmv $at_total_fail_count failed ($at_xfail_count expected failure)." ;;
   1873      1.1  jmmv     0:*:*) at_result="$at_result $at_were run,
   1874      1.1  jmmv $at_total_fail_count failed ($at_xfail_count expected failures)." ;;
   1875      1.1  jmmv 
   1876      1.1  jmmv     # No unexpected failures, but some xpasses
   1877      1.1  jmmv     *:0:*) at_result="$at_result $at_were run,
   1878      1.1  jmmv $at_xpass_count passed unexpectedly." ;;
   1879      1.1  jmmv 
   1880      1.1  jmmv     # No expected failures, but failures and xpasses
   1881      1.1  jmmv     *:1:0) at_result="$at_result $at_were run,
   1882      1.1  jmmv $at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;;
   1883      1.1  jmmv     *:*:0) at_result="$at_result $at_were run,
   1884      1.1  jmmv $at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;;
   1885      1.1  jmmv 
   1886      1.1  jmmv     # All of them.
   1887      1.1  jmmv     *:*:1) at_result="$at_result $at_were run,
   1888      1.1  jmmv $at_xpass_count passed unexpectedly,
   1889      1.1  jmmv $at_total_fail_count failed ($at_xfail_count expected failure)." ;;
   1890      1.1  jmmv     *:*:*) at_result="$at_result $at_were run,
   1891      1.1  jmmv $at_xpass_count passed unexpectedly,
   1892      1.1  jmmv $at_total_fail_count failed ($at_xfail_count expected failures)." ;;
   1893      1.1  jmmv   esac
   1894      1.1  jmmv 
   1895      1.1  jmmv   if test $at_skip_count = 0 && test $at_run_count -gt 1; then
   1896      1.1  jmmv     at_result="All $at_result"
   1897      1.1  jmmv   fi
   1898      1.1  jmmv fi
   1899      1.1  jmmv 
   1900      1.1  jmmv # Now put skips in the mix.
   1901      1.1  jmmv case $at_skip_count in
   1902      1.1  jmmv   0) ;;
   1903      1.1  jmmv   1) at_result="$at_result
   1904      1.1  jmmv 1 test was skipped." ;;
   1905      1.1  jmmv   *) at_result="$at_result
   1906      1.1  jmmv $at_skip_count tests were skipped." ;;
   1907      1.1  jmmv esac
   1908      1.1  jmmv 
   1909      1.1  jmmv if test $at_unexpected_count = 0; then
   1910      1.1  jmmv   echo "$at_color$at_result$at_std"
   1911      1.1  jmmv   echo "$at_result" >&5
   1912      1.1  jmmv else
   1913      1.1  jmmv   echo "${at_color}ERROR: $at_result$at_std" >&2
   1914      1.1  jmmv   echo "ERROR: $at_result" >&5
   1915      1.1  jmmv   {
   1916      1.1  jmmv     echo
   1917      1.1  jmmv     $as_echo "## ------------------------ ##
   1918      1.1  jmmv ## Summary of the failures. ##
   1919      1.1  jmmv ## ------------------------ ##"
   1920      1.1  jmmv 
   1921      1.1  jmmv     # Summary of failed and skipped tests.
   1922      1.1  jmmv     if test $at_fail_count != 0; then
   1923      1.1  jmmv       echo "Failed tests:"
   1924      1.1  jmmv       $SHELL "$at_myself" $at_fail_list --list
   1925      1.1  jmmv       echo
   1926      1.1  jmmv     fi
   1927      1.1  jmmv     if test $at_skip_count != 0; then
   1928      1.1  jmmv       echo "Skipped tests:"
   1929      1.1  jmmv       $SHELL "$at_myself" $at_skip_list --list
   1930      1.1  jmmv       echo
   1931      1.1  jmmv     fi
   1932      1.1  jmmv     if test $at_xpass_count != 0; then
   1933      1.1  jmmv       echo "Unexpected passes:"
   1934      1.1  jmmv       $SHELL "$at_myself" $at_xpass_list --list
   1935      1.1  jmmv       echo
   1936      1.1  jmmv     fi
   1937      1.1  jmmv     if test $at_fail_count != 0; then
   1938      1.1  jmmv       $as_echo "## ---------------------- ##
   1939      1.1  jmmv ## Detailed failed tests. ##
   1940      1.1  jmmv ## ---------------------- ##"
   1941      1.1  jmmv       echo
   1942      1.1  jmmv       for at_group in $at_fail_list
   1943      1.1  jmmv       do
   1944      1.1  jmmv 	at_group_normalized=$at_group
   1945      1.1  jmmv 
   1946      1.1  jmmv   eval 'while :; do
   1947      1.1  jmmv     case $at_group_normalized in #(
   1948      1.1  jmmv     '"$at_format"'*) break;;
   1949      1.1  jmmv     esac
   1950      1.1  jmmv     at_group_normalized=0$at_group_normalized
   1951      1.1  jmmv   done'
   1952      1.1  jmmv 
   1953      1.1  jmmv 	cat "$at_suite_dir/$at_group_normalized/$as_me.log"
   1954      1.1  jmmv 	echo
   1955      1.1  jmmv       done
   1956      1.1  jmmv       echo
   1957      1.1  jmmv     fi
   1958      1.1  jmmv     if test -n "$at_top_srcdir"; then
   1959      1.1  jmmv       sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
   1960      1.1  jmmv ## ${at_top_build_prefix}config.log ##
   1961      1.1  jmmv _ASBOX
   1962      1.1  jmmv       sed 's/^/| /' ${at_top_build_prefix}config.log
   1963      1.1  jmmv       echo
   1964      1.1  jmmv     fi
   1965      1.1  jmmv   } >&5
   1966      1.1  jmmv 
   1967      1.1  jmmv   sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
   1968      1.1  jmmv ## $as_me.log was created. ##
   1969      1.1  jmmv _ASBOX
   1970      1.1  jmmv 
   1971      1.1  jmmv   echo
   1972      1.1  jmmv   if $at_debug_p; then
   1973      1.1  jmmv     at_msg='per-test log files'
   1974      1.1  jmmv   else
   1975      1.1  jmmv     at_msg="\`${at_testdir+${at_testdir}/}$as_me.log'"
   1976      1.1  jmmv   fi
   1977      1.1  jmmv   $as_echo "Please send $at_msg and all information you think might help:
   1978      1.1  jmmv 
   1979      1.1  jmmv    To: <kyua-discuss (at] googlegroups.com>
   1980  1.1.1.2  jmmv    Subject: [Kyua - Command line interface 0.7] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
   1981      1.1  jmmv 
   1982      1.1  jmmv You may investigate any problem if you feel able to do so, in which
   1983      1.1  jmmv case the test suite provides a good starting point.  Its output may
   1984      1.1  jmmv be found below \`${at_testdir+${at_testdir}/}$as_me.dir'.
   1985      1.1  jmmv "
   1986      1.1  jmmv   exit 1
   1987      1.1  jmmv fi
   1988      1.1  jmmv 
   1989      1.1  jmmv exit 0
   1990      1.1  jmmv 
   1991      1.1  jmmv ## ------------- ##
   1992      1.1  jmmv ## Actual tests. ##
   1993      1.1  jmmv ## ------------- ##
   1994      1.1  jmmv #AT_START_1
   1995      1.1  jmmv at_fn_group_banner 1 'testsuite.at:70' \
   1996      1.1  jmmv   "test program crashes in test list" "              "
   1997      1.1  jmmv at_xfail=no
   1998      1.1  jmmv (
   1999      1.1  jmmv   $as_echo "1. $at_setup_line: testing $at_desc ..."
   2000      1.1  jmmv   $at_traceon
   2001      1.1  jmmv 
   2002      1.1  jmmv 
   2003      1.1  jmmv 
   2004      1.1  jmmv 
   2005      1.1  jmmv     cat >Kyuafile <<'_ATEOF'
   2006      1.1  jmmv 
   2007      1.1  jmmv syntax(2)
   2008      1.1  jmmv test_suite("bootstrap")
   2009      1.1  jmmv atf_test_program{name="plain_helpers"}
   2010      1.1  jmmv _ATEOF
   2011      1.1  jmmv 
   2012      1.1  jmmv     ln -s $({
   2013      1.1  jmmv     old=$(pwd)
   2014      1.1  jmmv     cd "${at_suite_dir}"
   2015      1.1  jmmv     # We need to locate a build product, not a source file, because the
   2016      1.1  jmmv     # test suite may be run outside of the source tree (think distcheck).
   2017      1.1  jmmv     while test $(pwd) != '/' -a ! -e engine/test_case_test; do
   2018      1.1  jmmv         cd ..
   2019      1.1  jmmv     done
   2020      1.1  jmmv     topdir=$(pwd)
   2021      1.1  jmmv     cd ${old}
   2022      1.1  jmmv     echo ${topdir}
   2023      1.1  jmmv })/bootstrap/plain_helpers plain_helpers
   2024      1.1  jmmv 
   2025      1.1  jmmv { set +x
   2026      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:74: HOME=\$(pwd) HELPER=\"abort_test_cases_list\" kyua --config=none test --store=bootstrap.db"
   2027      1.1  jmmv at_fn_check_prepare_notrace 'a $(...) command substitution' "testsuite.at:74"
   2028      1.1  jmmv ( $at_check_trace; HOME=$(pwd) HELPER="abort_test_cases_list" kyua --config=none test --store=bootstrap.db
   2029      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2030      1.1  jmmv at_status=$? at_failed=false
   2031      1.1  jmmv $at_check_filter
   2032      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2033      1.1  jmmv echo stdout:; tee stdout <"$at_stdout"
   2034      1.1  jmmv at_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:74"
   2035      1.1  jmmv $at_failed && at_fn_log_failure
   2036      1.1  jmmv $at_traceon; }
   2037      1.1  jmmv 
   2038      1.1  jmmv re='plain_helpers:__test_cases_list__.*broken.*Test program list did not return success'
   2039      1.1  jmmv { set +x
   2040      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:76: grep \"\${re}\" stdout"
   2041      1.1  jmmv at_fn_check_prepare_notrace 'a ${...} parameter expansion' "testsuite.at:76"
   2042      1.1  jmmv ( $at_check_trace; grep "${re}" stdout
   2043      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2044      1.1  jmmv at_status=$? at_failed=false
   2045      1.1  jmmv $at_check_filter
   2046      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2047      1.1  jmmv echo stdout:; cat "$at_stdout"
   2048      1.1  jmmv at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:76"
   2049      1.1  jmmv $at_failed && at_fn_log_failure
   2050      1.1  jmmv $at_traceon; }
   2051      1.1  jmmv 
   2052      1.1  jmmv 
   2053      1.1  jmmv   set +x
   2054      1.1  jmmv   $at_times_p && times >"$at_times_file"
   2055      1.1  jmmv ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
   2056      1.1  jmmv read at_status <"$at_status_file"
   2057      1.1  jmmv #AT_STOP_1
   2058      1.1  jmmv #AT_START_2
   2059      1.1  jmmv at_fn_group_banner 2 'testsuite.at:81' \
   2060      1.1  jmmv   "test program prints an empty test list" "         "
   2061      1.1  jmmv at_xfail=no
   2062      1.1  jmmv (
   2063      1.1  jmmv   $as_echo "2. $at_setup_line: testing $at_desc ..."
   2064      1.1  jmmv   $at_traceon
   2065      1.1  jmmv 
   2066      1.1  jmmv 
   2067      1.1  jmmv 
   2068      1.1  jmmv 
   2069      1.1  jmmv     cat >Kyuafile <<'_ATEOF'
   2070      1.1  jmmv 
   2071      1.1  jmmv syntax(2)
   2072      1.1  jmmv test_suite("bootstrap")
   2073      1.1  jmmv atf_test_program{name="plain_helpers"}
   2074      1.1  jmmv _ATEOF
   2075      1.1  jmmv 
   2076      1.1  jmmv     ln -s $({
   2077      1.1  jmmv     old=$(pwd)
   2078      1.1  jmmv     cd "${at_suite_dir}"
   2079      1.1  jmmv     # We need to locate a build product, not a source file, because the
   2080      1.1  jmmv     # test suite may be run outside of the source tree (think distcheck).
   2081      1.1  jmmv     while test $(pwd) != '/' -a ! -e engine/test_case_test; do
   2082      1.1  jmmv         cd ..
   2083      1.1  jmmv     done
   2084      1.1  jmmv     topdir=$(pwd)
   2085      1.1  jmmv     cd ${old}
   2086      1.1  jmmv     echo ${topdir}
   2087      1.1  jmmv })/bootstrap/plain_helpers plain_helpers
   2088      1.1  jmmv 
   2089      1.1  jmmv { set +x
   2090      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:85: HOME=\$(pwd) HELPER=\"empty_test_cases_list\" kyua --config=none test --store=bootstrap.db"
   2091      1.1  jmmv at_fn_check_prepare_notrace 'a $(...) command substitution' "testsuite.at:85"
   2092      1.1  jmmv ( $at_check_trace; HOME=$(pwd) HELPER="empty_test_cases_list" kyua --config=none test --store=bootstrap.db
   2093      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2094      1.1  jmmv at_status=$? at_failed=false
   2095      1.1  jmmv $at_check_filter
   2096      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2097      1.1  jmmv echo stdout:; tee stdout <"$at_stdout"
   2098      1.1  jmmv at_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:85"
   2099      1.1  jmmv $at_failed && at_fn_log_failure
   2100      1.1  jmmv $at_traceon; }
   2101      1.1  jmmv 
   2102      1.1  jmmv re='plain_helpers:__test_cases_list__.*broken.*failed to read.*unexpected EOF'
   2103      1.1  jmmv { set +x
   2104      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:87: grep \"\${re}\" stdout"
   2105      1.1  jmmv at_fn_check_prepare_notrace 'a ${...} parameter expansion' "testsuite.at:87"
   2106      1.1  jmmv ( $at_check_trace; grep "${re}" stdout
   2107      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2108      1.1  jmmv at_status=$? at_failed=false
   2109      1.1  jmmv $at_check_filter
   2110      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2111      1.1  jmmv echo stdout:; cat "$at_stdout"
   2112      1.1  jmmv at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:87"
   2113      1.1  jmmv $at_failed && at_fn_log_failure
   2114      1.1  jmmv $at_traceon; }
   2115      1.1  jmmv 
   2116      1.1  jmmv 
   2117      1.1  jmmv   set +x
   2118      1.1  jmmv   $at_times_p && times >"$at_times_file"
   2119      1.1  jmmv ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
   2120      1.1  jmmv read at_status <"$at_status_file"
   2121      1.1  jmmv #AT_STOP_2
   2122      1.1  jmmv #AT_START_3
   2123      1.1  jmmv at_fn_group_banner 3 'testsuite.at:92' \
   2124      1.1  jmmv   "test program with zero test cases" "              "
   2125      1.1  jmmv at_xfail=no
   2126      1.1  jmmv (
   2127      1.1  jmmv   $as_echo "3. $at_setup_line: testing $at_desc ..."
   2128      1.1  jmmv   $at_traceon
   2129      1.1  jmmv 
   2130      1.1  jmmv 
   2131      1.1  jmmv 
   2132      1.1  jmmv 
   2133      1.1  jmmv     cat >Kyuafile <<'_ATEOF'
   2134      1.1  jmmv 
   2135      1.1  jmmv syntax(2)
   2136      1.1  jmmv test_suite("bootstrap")
   2137      1.1  jmmv atf_test_program{name="plain_helpers"}
   2138      1.1  jmmv _ATEOF
   2139      1.1  jmmv 
   2140      1.1  jmmv     ln -s $({
   2141      1.1  jmmv     old=$(pwd)
   2142      1.1  jmmv     cd "${at_suite_dir}"
   2143      1.1  jmmv     # We need to locate a build product, not a source file, because the
   2144      1.1  jmmv     # test suite may be run outside of the source tree (think distcheck).
   2145      1.1  jmmv     while test $(pwd) != '/' -a ! -e engine/test_case_test; do
   2146      1.1  jmmv         cd ..
   2147      1.1  jmmv     done
   2148      1.1  jmmv     topdir=$(pwd)
   2149      1.1  jmmv     cd ${old}
   2150      1.1  jmmv     echo ${topdir}
   2151      1.1  jmmv })/bootstrap/plain_helpers plain_helpers
   2152      1.1  jmmv 
   2153      1.1  jmmv { set +x
   2154      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:96: HOME=\$(pwd) HELPER=\"zero_test_cases\" kyua --config=none test --store=bootstrap.db"
   2155      1.1  jmmv at_fn_check_prepare_notrace 'a $(...) command substitution' "testsuite.at:96"
   2156      1.1  jmmv ( $at_check_trace; HOME=$(pwd) HELPER="zero_test_cases" kyua --config=none test --store=bootstrap.db
   2157      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2158      1.1  jmmv at_status=$? at_failed=false
   2159      1.1  jmmv $at_check_filter
   2160      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2161      1.1  jmmv echo stdout:; tee stdout <"$at_stdout"
   2162      1.1  jmmv at_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:96"
   2163      1.1  jmmv $at_failed && at_fn_log_failure
   2164      1.1  jmmv $at_traceon; }
   2165      1.1  jmmv 
   2166      1.1  jmmv re='plain_helpers:__test_cases_list__.*broken.*Empty test cases list'
   2167      1.1  jmmv { set +x
   2168      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:98: grep \"\${re}\" stdout"
   2169      1.1  jmmv at_fn_check_prepare_notrace 'a ${...} parameter expansion' "testsuite.at:98"
   2170      1.1  jmmv ( $at_check_trace; grep "${re}" stdout
   2171      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2172      1.1  jmmv at_status=$? at_failed=false
   2173      1.1  jmmv $at_check_filter
   2174      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2175      1.1  jmmv echo stdout:; cat "$at_stdout"
   2176      1.1  jmmv at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:98"
   2177      1.1  jmmv $at_failed && at_fn_log_failure
   2178      1.1  jmmv $at_traceon; }
   2179      1.1  jmmv 
   2180      1.1  jmmv 
   2181      1.1  jmmv   set +x
   2182      1.1  jmmv   $at_times_p && times >"$at_times_file"
   2183      1.1  jmmv ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
   2184      1.1  jmmv read at_status <"$at_status_file"
   2185      1.1  jmmv #AT_STOP_3
   2186      1.1  jmmv #AT_START_4
   2187      1.1  jmmv at_fn_group_banner 4 'testsuite.at:103' \
   2188      1.1  jmmv   "run test case that passes" "                      "
   2189      1.1  jmmv at_xfail=no
   2190      1.1  jmmv (
   2191      1.1  jmmv   $as_echo "4. $at_setup_line: testing $at_desc ..."
   2192      1.1  jmmv   $at_traceon
   2193      1.1  jmmv 
   2194      1.1  jmmv 
   2195      1.1  jmmv 
   2196      1.1  jmmv 
   2197      1.1  jmmv     cat >Kyuafile <<'_ATEOF'
   2198      1.1  jmmv 
   2199      1.1  jmmv syntax(2)
   2200      1.1  jmmv test_suite("bootstrap")
   2201      1.1  jmmv atf_test_program{name="atf_helpers"}
   2202      1.1  jmmv _ATEOF
   2203      1.1  jmmv 
   2204      1.1  jmmv     ln -s $({
   2205      1.1  jmmv     old=$(pwd)
   2206      1.1  jmmv     cd "${at_suite_dir}"
   2207      1.1  jmmv     # We need to locate a build product, not a source file, because the
   2208      1.1  jmmv     # test suite may be run outside of the source tree (think distcheck).
   2209      1.1  jmmv     while test $(pwd) != '/' -a ! -e engine/test_case_test; do
   2210      1.1  jmmv         cd ..
   2211      1.1  jmmv     done
   2212      1.1  jmmv     topdir=$(pwd)
   2213      1.1  jmmv     cd ${old}
   2214      1.1  jmmv     echo ${topdir}
   2215      1.1  jmmv })/bootstrap/atf_helpers atf_helpers
   2216      1.1  jmmv 
   2217      1.1  jmmv { set +x
   2218      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:107: HOME=\$(pwd) TESTS=\"passes\" kyua --config=none test --store=bootstrap.db "
   2219      1.1  jmmv at_fn_check_prepare_notrace 'a $(...) command substitution' "testsuite.at:107"
   2220      1.1  jmmv ( $at_check_trace; HOME=$(pwd) TESTS="passes" kyua --config=none test --store=bootstrap.db
   2221      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2222      1.1  jmmv at_status=$? at_failed=false
   2223      1.1  jmmv $at_check_filter
   2224      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2225      1.1  jmmv echo stdout:; tee stdout <"$at_stdout"
   2226      1.1  jmmv at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:107"
   2227      1.1  jmmv $at_failed && at_fn_log_failure
   2228      1.1  jmmv $at_traceon; }
   2229      1.1  jmmv 
   2230      1.1  jmmv { set +x
   2231      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:108: grep \"atf_helpers:fails\" stdout"
   2232      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:108"
   2233      1.1  jmmv ( $at_check_trace; grep "atf_helpers:fails" stdout
   2234      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2235      1.1  jmmv at_status=$? at_failed=false
   2236      1.1  jmmv $at_check_filter
   2237      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2238      1.1  jmmv at_fn_diff_devnull "$at_stdout" || at_failed=:
   2239      1.1  jmmv at_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:108"
   2240      1.1  jmmv $at_failed && at_fn_log_failure
   2241      1.1  jmmv $at_traceon; }
   2242      1.1  jmmv 
   2243      1.1  jmmv { set +x
   2244      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:109: grep \"atf_helpers:passes.*passed\" stdout"
   2245      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:109"
   2246      1.1  jmmv ( $at_check_trace; grep "atf_helpers:passes.*passed" stdout
   2247      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2248      1.1  jmmv at_status=$? at_failed=false
   2249      1.1  jmmv $at_check_filter
   2250      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2251      1.1  jmmv echo stdout:; cat "$at_stdout"
   2252      1.1  jmmv at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:109"
   2253      1.1  jmmv $at_failed && at_fn_log_failure
   2254      1.1  jmmv $at_traceon; }
   2255      1.1  jmmv 
   2256      1.1  jmmv { set +x
   2257      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:110: grep \"atf_helpers:skips\" stdout"
   2258      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:110"
   2259      1.1  jmmv ( $at_check_trace; grep "atf_helpers:skips" stdout
   2260      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2261      1.1  jmmv at_status=$? at_failed=false
   2262      1.1  jmmv $at_check_filter
   2263      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2264      1.1  jmmv at_fn_diff_devnull "$at_stdout" || at_failed=:
   2265      1.1  jmmv at_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:110"
   2266      1.1  jmmv $at_failed && at_fn_log_failure
   2267      1.1  jmmv $at_traceon; }
   2268      1.1  jmmv 
   2269      1.1  jmmv 
   2270      1.1  jmmv   set +x
   2271      1.1  jmmv   $at_times_p && times >"$at_times_file"
   2272      1.1  jmmv ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
   2273      1.1  jmmv read at_status <"$at_status_file"
   2274      1.1  jmmv #AT_STOP_4
   2275      1.1  jmmv #AT_START_5
   2276      1.1  jmmv at_fn_group_banner 5 'testsuite.at:115' \
   2277      1.1  jmmv   "run test case that fails" "                       "
   2278      1.1  jmmv at_xfail=no
   2279      1.1  jmmv (
   2280      1.1  jmmv   $as_echo "5. $at_setup_line: testing $at_desc ..."
   2281      1.1  jmmv   $at_traceon
   2282      1.1  jmmv 
   2283      1.1  jmmv 
   2284      1.1  jmmv 
   2285      1.1  jmmv 
   2286      1.1  jmmv     cat >Kyuafile <<'_ATEOF'
   2287      1.1  jmmv 
   2288      1.1  jmmv syntax(2)
   2289      1.1  jmmv test_suite("bootstrap")
   2290      1.1  jmmv atf_test_program{name="atf_helpers"}
   2291      1.1  jmmv _ATEOF
   2292      1.1  jmmv 
   2293      1.1  jmmv     ln -s $({
   2294      1.1  jmmv     old=$(pwd)
   2295      1.1  jmmv     cd "${at_suite_dir}"
   2296      1.1  jmmv     # We need to locate a build product, not a source file, because the
   2297      1.1  jmmv     # test suite may be run outside of the source tree (think distcheck).
   2298      1.1  jmmv     while test $(pwd) != '/' -a ! -e engine/test_case_test; do
   2299      1.1  jmmv         cd ..
   2300      1.1  jmmv     done
   2301      1.1  jmmv     topdir=$(pwd)
   2302      1.1  jmmv     cd ${old}
   2303      1.1  jmmv     echo ${topdir}
   2304      1.1  jmmv })/bootstrap/atf_helpers atf_helpers
   2305      1.1  jmmv 
   2306      1.1  jmmv { set +x
   2307      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:119: HOME=\$(pwd) TESTS=\"fails\" kyua --config=none test --store=bootstrap.db "
   2308      1.1  jmmv at_fn_check_prepare_notrace 'a $(...) command substitution' "testsuite.at:119"
   2309      1.1  jmmv ( $at_check_trace; HOME=$(pwd) TESTS="fails" kyua --config=none test --store=bootstrap.db
   2310      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2311      1.1  jmmv at_status=$? at_failed=false
   2312      1.1  jmmv $at_check_filter
   2313      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2314      1.1  jmmv echo stdout:; tee stdout <"$at_stdout"
   2315      1.1  jmmv at_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:119"
   2316      1.1  jmmv $at_failed && at_fn_log_failure
   2317      1.1  jmmv $at_traceon; }
   2318      1.1  jmmv 
   2319      1.1  jmmv { set +x
   2320      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:120: grep \"atf_helpers:fails.*failed.*Failed on purpose\" stdout"
   2321      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:120"
   2322      1.1  jmmv ( $at_check_trace; grep "atf_helpers:fails.*failed.*Failed on purpose" stdout
   2323      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2324      1.1  jmmv at_status=$? at_failed=false
   2325      1.1  jmmv $at_check_filter
   2326      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2327      1.1  jmmv echo stdout:; cat "$at_stdout"
   2328      1.1  jmmv at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:120"
   2329      1.1  jmmv $at_failed && at_fn_log_failure
   2330      1.1  jmmv $at_traceon; }
   2331      1.1  jmmv 
   2332      1.1  jmmv { set +x
   2333      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:122: grep \"atf_helpers:passes\" stdout"
   2334      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:122"
   2335      1.1  jmmv ( $at_check_trace; grep "atf_helpers:passes" stdout
   2336      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2337      1.1  jmmv at_status=$? at_failed=false
   2338      1.1  jmmv $at_check_filter
   2339      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2340      1.1  jmmv at_fn_diff_devnull "$at_stdout" || at_failed=:
   2341      1.1  jmmv at_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:122"
   2342      1.1  jmmv $at_failed && at_fn_log_failure
   2343      1.1  jmmv $at_traceon; }
   2344      1.1  jmmv 
   2345      1.1  jmmv { set +x
   2346      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:123: grep \"atf_helpers:skips\" stdout"
   2347      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:123"
   2348      1.1  jmmv ( $at_check_trace; grep "atf_helpers:skips" stdout
   2349      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2350      1.1  jmmv at_status=$? at_failed=false
   2351      1.1  jmmv $at_check_filter
   2352      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2353      1.1  jmmv at_fn_diff_devnull "$at_stdout" || at_failed=:
   2354      1.1  jmmv at_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:123"
   2355      1.1  jmmv $at_failed && at_fn_log_failure
   2356      1.1  jmmv $at_traceon; }
   2357      1.1  jmmv 
   2358      1.1  jmmv 
   2359      1.1  jmmv   set +x
   2360      1.1  jmmv   $at_times_p && times >"$at_times_file"
   2361      1.1  jmmv ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
   2362      1.1  jmmv read at_status <"$at_status_file"
   2363      1.1  jmmv #AT_STOP_5
   2364      1.1  jmmv #AT_START_6
   2365      1.1  jmmv at_fn_group_banner 6 'testsuite.at:128' \
   2366      1.1  jmmv   "run test case that skips" "                       "
   2367      1.1  jmmv at_xfail=no
   2368      1.1  jmmv (
   2369      1.1  jmmv   $as_echo "6. $at_setup_line: testing $at_desc ..."
   2370      1.1  jmmv   $at_traceon
   2371      1.1  jmmv 
   2372      1.1  jmmv 
   2373      1.1  jmmv 
   2374      1.1  jmmv 
   2375      1.1  jmmv     cat >Kyuafile <<'_ATEOF'
   2376      1.1  jmmv 
   2377      1.1  jmmv syntax(2)
   2378      1.1  jmmv test_suite("bootstrap")
   2379      1.1  jmmv atf_test_program{name="atf_helpers"}
   2380      1.1  jmmv _ATEOF
   2381      1.1  jmmv 
   2382      1.1  jmmv     ln -s $({
   2383      1.1  jmmv     old=$(pwd)
   2384      1.1  jmmv     cd "${at_suite_dir}"
   2385      1.1  jmmv     # We need to locate a build product, not a source file, because the
   2386      1.1  jmmv     # test suite may be run outside of the source tree (think distcheck).
   2387      1.1  jmmv     while test $(pwd) != '/' -a ! -e engine/test_case_test; do
   2388      1.1  jmmv         cd ..
   2389      1.1  jmmv     done
   2390      1.1  jmmv     topdir=$(pwd)
   2391      1.1  jmmv     cd ${old}
   2392      1.1  jmmv     echo ${topdir}
   2393      1.1  jmmv })/bootstrap/atf_helpers atf_helpers
   2394      1.1  jmmv 
   2395      1.1  jmmv { set +x
   2396      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:132: HOME=\$(pwd) TESTS=\"skips\" kyua --config=none test --store=bootstrap.db "
   2397      1.1  jmmv at_fn_check_prepare_notrace 'a $(...) command substitution' "testsuite.at:132"
   2398      1.1  jmmv ( $at_check_trace; HOME=$(pwd) TESTS="skips" kyua --config=none test --store=bootstrap.db
   2399      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2400      1.1  jmmv at_status=$? at_failed=false
   2401      1.1  jmmv $at_check_filter
   2402      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2403      1.1  jmmv echo stdout:; tee stdout <"$at_stdout"
   2404      1.1  jmmv at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:132"
   2405      1.1  jmmv $at_failed && at_fn_log_failure
   2406      1.1  jmmv $at_traceon; }
   2407      1.1  jmmv 
   2408      1.1  jmmv { set +x
   2409      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:133: grep \"atf_helpers:fails\" stdout"
   2410      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:133"
   2411      1.1  jmmv ( $at_check_trace; grep "atf_helpers:fails" stdout
   2412      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2413      1.1  jmmv at_status=$? at_failed=false
   2414      1.1  jmmv $at_check_filter
   2415      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2416      1.1  jmmv at_fn_diff_devnull "$at_stdout" || at_failed=:
   2417      1.1  jmmv at_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:133"
   2418      1.1  jmmv $at_failed && at_fn_log_failure
   2419      1.1  jmmv $at_traceon; }
   2420      1.1  jmmv 
   2421      1.1  jmmv { set +x
   2422      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:134: grep \"atf_helpers:passes\" stdout"
   2423      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:134"
   2424      1.1  jmmv ( $at_check_trace; grep "atf_helpers:passes" stdout
   2425      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2426      1.1  jmmv at_status=$? at_failed=false
   2427      1.1  jmmv $at_check_filter
   2428      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2429      1.1  jmmv at_fn_diff_devnull "$at_stdout" || at_failed=:
   2430      1.1  jmmv at_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:134"
   2431      1.1  jmmv $at_failed && at_fn_log_failure
   2432      1.1  jmmv $at_traceon; }
   2433      1.1  jmmv 
   2434      1.1  jmmv { set +x
   2435      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:135: grep \"atf_helpers:skips.*skipped.*Skipped on purpose\" stdout"
   2436      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:135"
   2437      1.1  jmmv ( $at_check_trace; grep "atf_helpers:skips.*skipped.*Skipped on purpose" stdout
   2438      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2439      1.1  jmmv at_status=$? at_failed=false
   2440      1.1  jmmv $at_check_filter
   2441      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2442      1.1  jmmv echo stdout:; cat "$at_stdout"
   2443      1.1  jmmv at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:135"
   2444      1.1  jmmv $at_failed && at_fn_log_failure
   2445      1.1  jmmv $at_traceon; }
   2446      1.1  jmmv 
   2447      1.1  jmmv 
   2448      1.1  jmmv   set +x
   2449      1.1  jmmv   $at_times_p && times >"$at_times_file"
   2450      1.1  jmmv ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
   2451      1.1  jmmv read at_status <"$at_status_file"
   2452      1.1  jmmv #AT_STOP_6
   2453      1.1  jmmv #AT_START_7
   2454      1.1  jmmv at_fn_group_banner 7 'testsuite.at:141' \
   2455      1.1  jmmv   "run two test cases, success" "                    "
   2456      1.1  jmmv at_xfail=no
   2457      1.1  jmmv (
   2458      1.1  jmmv   $as_echo "7. $at_setup_line: testing $at_desc ..."
   2459      1.1  jmmv   $at_traceon
   2460      1.1  jmmv 
   2461      1.1  jmmv 
   2462      1.1  jmmv 
   2463      1.1  jmmv 
   2464      1.1  jmmv     cat >Kyuafile <<'_ATEOF'
   2465      1.1  jmmv 
   2466      1.1  jmmv syntax(2)
   2467      1.1  jmmv test_suite("bootstrap")
   2468      1.1  jmmv atf_test_program{name="atf_helpers"}
   2469      1.1  jmmv _ATEOF
   2470      1.1  jmmv 
   2471      1.1  jmmv     ln -s $({
   2472      1.1  jmmv     old=$(pwd)
   2473      1.1  jmmv     cd "${at_suite_dir}"
   2474      1.1  jmmv     # We need to locate a build product, not a source file, because the
   2475      1.1  jmmv     # test suite may be run outside of the source tree (think distcheck).
   2476      1.1  jmmv     while test $(pwd) != '/' -a ! -e engine/test_case_test; do
   2477      1.1  jmmv         cd ..
   2478      1.1  jmmv     done
   2479      1.1  jmmv     topdir=$(pwd)
   2480      1.1  jmmv     cd ${old}
   2481      1.1  jmmv     echo ${topdir}
   2482      1.1  jmmv })/bootstrap/atf_helpers atf_helpers
   2483      1.1  jmmv 
   2484      1.1  jmmv { set +x
   2485      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:145: HOME=\$(pwd) TESTS=\"passes skips\" kyua --config=none test --store=bootstrap.db "
   2486      1.1  jmmv at_fn_check_prepare_notrace 'a $(...) command substitution' "testsuite.at:145"
   2487      1.1  jmmv ( $at_check_trace; HOME=$(pwd) TESTS="passes skips" kyua --config=none test --store=bootstrap.db
   2488      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2489      1.1  jmmv at_status=$? at_failed=false
   2490      1.1  jmmv $at_check_filter
   2491      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2492      1.1  jmmv echo stdout:; tee stdout <"$at_stdout"
   2493      1.1  jmmv at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:145"
   2494      1.1  jmmv $at_failed && at_fn_log_failure
   2495      1.1  jmmv $at_traceon; }
   2496      1.1  jmmv 
   2497      1.1  jmmv { set +x
   2498      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:146: grep \"atf_helpers:fails\" stdout"
   2499      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:146"
   2500      1.1  jmmv ( $at_check_trace; grep "atf_helpers:fails" stdout
   2501      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2502      1.1  jmmv at_status=$? at_failed=false
   2503      1.1  jmmv $at_check_filter
   2504      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2505      1.1  jmmv at_fn_diff_devnull "$at_stdout" || at_failed=:
   2506      1.1  jmmv at_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:146"
   2507      1.1  jmmv $at_failed && at_fn_log_failure
   2508      1.1  jmmv $at_traceon; }
   2509      1.1  jmmv 
   2510      1.1  jmmv { set +x
   2511      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:147: grep \"atf_helpers:passes.*passed\" stdout"
   2512      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:147"
   2513      1.1  jmmv ( $at_check_trace; grep "atf_helpers:passes.*passed" stdout
   2514      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2515      1.1  jmmv at_status=$? at_failed=false
   2516      1.1  jmmv $at_check_filter
   2517      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2518      1.1  jmmv echo stdout:; cat "$at_stdout"
   2519      1.1  jmmv at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:147"
   2520      1.1  jmmv $at_failed && at_fn_log_failure
   2521      1.1  jmmv $at_traceon; }
   2522      1.1  jmmv 
   2523      1.1  jmmv { set +x
   2524      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:148: grep \"atf_helpers:skips.*skipped.*Skipped on purpose\" stdout"
   2525      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:148"
   2526      1.1  jmmv ( $at_check_trace; grep "atf_helpers:skips.*skipped.*Skipped on purpose" stdout
   2527      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2528      1.1  jmmv at_status=$? at_failed=false
   2529      1.1  jmmv $at_check_filter
   2530      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2531      1.1  jmmv echo stdout:; cat "$at_stdout"
   2532      1.1  jmmv at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:148"
   2533      1.1  jmmv $at_failed && at_fn_log_failure
   2534      1.1  jmmv $at_traceon; }
   2535      1.1  jmmv 
   2536      1.1  jmmv 
   2537      1.1  jmmv   set +x
   2538      1.1  jmmv   $at_times_p && times >"$at_times_file"
   2539      1.1  jmmv ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
   2540      1.1  jmmv read at_status <"$at_status_file"
   2541      1.1  jmmv #AT_STOP_7
   2542      1.1  jmmv #AT_START_8
   2543      1.1  jmmv at_fn_group_banner 8 'testsuite.at:154' \
   2544      1.1  jmmv   "run two test cases, failure" "                    "
   2545      1.1  jmmv at_xfail=no
   2546      1.1  jmmv (
   2547      1.1  jmmv   $as_echo "8. $at_setup_line: testing $at_desc ..."
   2548      1.1  jmmv   $at_traceon
   2549      1.1  jmmv 
   2550      1.1  jmmv 
   2551      1.1  jmmv 
   2552      1.1  jmmv 
   2553      1.1  jmmv     cat >Kyuafile <<'_ATEOF'
   2554      1.1  jmmv 
   2555      1.1  jmmv syntax(2)
   2556      1.1  jmmv test_suite("bootstrap")
   2557      1.1  jmmv atf_test_program{name="atf_helpers"}
   2558      1.1  jmmv _ATEOF
   2559      1.1  jmmv 
   2560      1.1  jmmv     ln -s $({
   2561      1.1  jmmv     old=$(pwd)
   2562      1.1  jmmv     cd "${at_suite_dir}"
   2563      1.1  jmmv     # We need to locate a build product, not a source file, because the
   2564      1.1  jmmv     # test suite may be run outside of the source tree (think distcheck).
   2565      1.1  jmmv     while test $(pwd) != '/' -a ! -e engine/test_case_test; do
   2566      1.1  jmmv         cd ..
   2567      1.1  jmmv     done
   2568      1.1  jmmv     topdir=$(pwd)
   2569      1.1  jmmv     cd ${old}
   2570      1.1  jmmv     echo ${topdir}
   2571      1.1  jmmv })/bootstrap/atf_helpers atf_helpers
   2572      1.1  jmmv 
   2573      1.1  jmmv { set +x
   2574      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:158: HOME=\$(pwd) TESTS=\"fails passes\" kyua --config=none test --store=bootstrap.db "
   2575      1.1  jmmv at_fn_check_prepare_notrace 'a $(...) command substitution' "testsuite.at:158"
   2576      1.1  jmmv ( $at_check_trace; HOME=$(pwd) TESTS="fails passes" kyua --config=none test --store=bootstrap.db
   2577      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2578      1.1  jmmv at_status=$? at_failed=false
   2579      1.1  jmmv $at_check_filter
   2580      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2581      1.1  jmmv echo stdout:; tee stdout <"$at_stdout"
   2582      1.1  jmmv at_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:158"
   2583      1.1  jmmv $at_failed && at_fn_log_failure
   2584      1.1  jmmv $at_traceon; }
   2585      1.1  jmmv 
   2586      1.1  jmmv { set +x
   2587      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:159: grep \"atf_helpers:fails.*failure.*Failed on purpose\" stdout"
   2588      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:159"
   2589      1.1  jmmv ( $at_check_trace; grep "atf_helpers:fails.*failure.*Failed on purpose" stdout
   2590      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2591      1.1  jmmv at_status=$? at_failed=false
   2592      1.1  jmmv $at_check_filter
   2593      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2594      1.1  jmmv at_fn_diff_devnull "$at_stdout" || at_failed=:
   2595      1.1  jmmv at_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:159"
   2596      1.1  jmmv $at_failed && at_fn_log_failure
   2597      1.1  jmmv $at_traceon; }
   2598      1.1  jmmv 
   2599      1.1  jmmv { set +x
   2600      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:161: grep \"atf_helpers:passes.*passed\" stdout"
   2601      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:161"
   2602      1.1  jmmv ( $at_check_trace; grep "atf_helpers:passes.*passed" stdout
   2603      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2604      1.1  jmmv at_status=$? at_failed=false
   2605      1.1  jmmv $at_check_filter
   2606      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2607      1.1  jmmv echo stdout:; cat "$at_stdout"
   2608      1.1  jmmv at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:161"
   2609      1.1  jmmv $at_failed && at_fn_log_failure
   2610      1.1  jmmv $at_traceon; }
   2611      1.1  jmmv 
   2612      1.1  jmmv { set +x
   2613      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:162: grep \"atf_helpers:skips\" stdout"
   2614      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:162"
   2615      1.1  jmmv ( $at_check_trace; grep "atf_helpers:skips" stdout
   2616      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2617      1.1  jmmv at_status=$? at_failed=false
   2618      1.1  jmmv $at_check_filter
   2619      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2620      1.1  jmmv at_fn_diff_devnull "$at_stdout" || at_failed=:
   2621      1.1  jmmv at_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:162"
   2622      1.1  jmmv $at_failed && at_fn_log_failure
   2623      1.1  jmmv $at_traceon; }
   2624      1.1  jmmv 
   2625      1.1  jmmv 
   2626      1.1  jmmv   set +x
   2627      1.1  jmmv   $at_times_p && times >"$at_times_file"
   2628      1.1  jmmv ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
   2629      1.1  jmmv read at_status <"$at_status_file"
   2630      1.1  jmmv #AT_STOP_8
   2631      1.1  jmmv #AT_START_9
   2632      1.1  jmmv at_fn_group_banner 9 'testsuite.at:167' \
   2633      1.1  jmmv   "run mixed test cases" "                           "
   2634      1.1  jmmv at_xfail=no
   2635      1.1  jmmv (
   2636      1.1  jmmv   $as_echo "9. $at_setup_line: testing $at_desc ..."
   2637      1.1  jmmv   $at_traceon
   2638      1.1  jmmv 
   2639      1.1  jmmv 
   2640      1.1  jmmv 
   2641      1.1  jmmv 
   2642      1.1  jmmv     cat >Kyuafile <<'_ATEOF'
   2643      1.1  jmmv 
   2644      1.1  jmmv syntax(2)
   2645      1.1  jmmv test_suite("bootstrap")
   2646      1.1  jmmv atf_test_program{name="atf_helpers"}
   2647      1.1  jmmv _ATEOF
   2648      1.1  jmmv 
   2649      1.1  jmmv     ln -s $({
   2650      1.1  jmmv     old=$(pwd)
   2651      1.1  jmmv     cd "${at_suite_dir}"
   2652      1.1  jmmv     # We need to locate a build product, not a source file, because the
   2653      1.1  jmmv     # test suite may be run outside of the source tree (think distcheck).
   2654      1.1  jmmv     while test $(pwd) != '/' -a ! -e engine/test_case_test; do
   2655      1.1  jmmv         cd ..
   2656      1.1  jmmv     done
   2657      1.1  jmmv     topdir=$(pwd)
   2658      1.1  jmmv     cd ${old}
   2659      1.1  jmmv     echo ${topdir}
   2660      1.1  jmmv })/bootstrap/atf_helpers atf_helpers
   2661      1.1  jmmv 
   2662      1.1  jmmv { set +x
   2663      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:171: HOME=\$(pwd) TESTS=\"fails passes skips\" kyua --config=none test --store=bootstrap.db "
   2664      1.1  jmmv at_fn_check_prepare_notrace 'a $(...) command substitution' "testsuite.at:171"
   2665      1.1  jmmv ( $at_check_trace; HOME=$(pwd) TESTS="fails passes skips" kyua --config=none test --store=bootstrap.db
   2666      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2667      1.1  jmmv at_status=$? at_failed=false
   2668      1.1  jmmv $at_check_filter
   2669      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2670      1.1  jmmv echo stdout:; tee stdout <"$at_stdout"
   2671      1.1  jmmv at_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:171"
   2672      1.1  jmmv $at_failed && at_fn_log_failure
   2673      1.1  jmmv $at_traceon; }
   2674      1.1  jmmv 
   2675      1.1  jmmv { set +x
   2676      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:172: grep \"atf_helpers:fails.*failure.*Failed on purpose\" stdout"
   2677      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:172"
   2678      1.1  jmmv ( $at_check_trace; grep "atf_helpers:fails.*failure.*Failed on purpose" stdout
   2679      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2680      1.1  jmmv at_status=$? at_failed=false
   2681      1.1  jmmv $at_check_filter
   2682      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2683      1.1  jmmv at_fn_diff_devnull "$at_stdout" || at_failed=:
   2684      1.1  jmmv at_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:172"
   2685      1.1  jmmv $at_failed && at_fn_log_failure
   2686      1.1  jmmv $at_traceon; }
   2687      1.1  jmmv 
   2688      1.1  jmmv { set +x
   2689      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:174: grep \"atf_helpers:passes.*passed\" stdout"
   2690      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:174"
   2691      1.1  jmmv ( $at_check_trace; grep "atf_helpers:passes.*passed" stdout
   2692      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2693      1.1  jmmv at_status=$? at_failed=false
   2694      1.1  jmmv $at_check_filter
   2695      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2696      1.1  jmmv echo stdout:; cat "$at_stdout"
   2697      1.1  jmmv at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:174"
   2698      1.1  jmmv $at_failed && at_fn_log_failure
   2699      1.1  jmmv $at_traceon; }
   2700      1.1  jmmv 
   2701      1.1  jmmv { set +x
   2702      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:175: grep \"atf_helpers:skips.*skipped.*Skipped on purpose\" stdout"
   2703      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:175"
   2704      1.1  jmmv ( $at_check_trace; grep "atf_helpers:skips.*skipped.*Skipped on purpose" stdout
   2705      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2706      1.1  jmmv at_status=$? at_failed=false
   2707      1.1  jmmv $at_check_filter
   2708      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2709      1.1  jmmv echo stdout:; cat "$at_stdout"
   2710      1.1  jmmv at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:175"
   2711      1.1  jmmv $at_failed && at_fn_log_failure
   2712      1.1  jmmv $at_traceon; }
   2713      1.1  jmmv 
   2714      1.1  jmmv 
   2715      1.1  jmmv   set +x
   2716      1.1  jmmv   $at_times_p && times >"$at_times_file"
   2717      1.1  jmmv ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
   2718      1.1  jmmv read at_status <"$at_status_file"
   2719      1.1  jmmv #AT_STOP_9
   2720      1.1  jmmv #AT_START_10
   2721      1.1  jmmv at_fn_group_banner 10 'testsuite.at:181' \
   2722      1.1  jmmv   "run tests from build directories" "               "
   2723      1.1  jmmv at_xfail=no
   2724      1.1  jmmv (
   2725      1.1  jmmv   $as_echo "10. $at_setup_line: testing $at_desc ..."
   2726      1.1  jmmv   $at_traceon
   2727      1.1  jmmv 
   2728      1.1  jmmv 
   2729      1.1  jmmv 
   2730      1.1  jmmv 
   2731      1.1  jmmv     cat >Kyuafile <<'_ATEOF'
   2732      1.1  jmmv 
   2733      1.1  jmmv syntax(2)
   2734      1.1  jmmv test_suite("bootstrap")
   2735      1.1  jmmv atf_test_program{name="atf_helpers"}
   2736      1.1  jmmv _ATEOF
   2737      1.1  jmmv 
   2738      1.1  jmmv     ln -s $({
   2739      1.1  jmmv     old=$(pwd)
   2740      1.1  jmmv     cd "${at_suite_dir}"
   2741      1.1  jmmv     # We need to locate a build product, not a source file, because the
   2742      1.1  jmmv     # test suite may be run outside of the source tree (think distcheck).
   2743      1.1  jmmv     while test $(pwd) != '/' -a ! -e engine/test_case_test; do
   2744      1.1  jmmv         cd ..
   2745      1.1  jmmv     done
   2746      1.1  jmmv     topdir=$(pwd)
   2747      1.1  jmmv     cd ${old}
   2748      1.1  jmmv     echo ${topdir}
   2749      1.1  jmmv })/bootstrap/atf_helpers atf_helpers
   2750      1.1  jmmv 
   2751      1.1  jmmv { set +x
   2752      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:185: mkdir src"
   2753      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:185"
   2754      1.1  jmmv ( $at_check_trace; mkdir src
   2755      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2756      1.1  jmmv at_status=$? at_failed=false
   2757      1.1  jmmv $at_check_filter
   2758      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2759      1.1  jmmv at_fn_diff_devnull "$at_stdout" || at_failed=:
   2760      1.1  jmmv at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:185"
   2761      1.1  jmmv $at_failed && at_fn_log_failure
   2762      1.1  jmmv $at_traceon; }
   2763      1.1  jmmv 
   2764      1.1  jmmv { set +x
   2765      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:186: mv Kyuafile src"
   2766      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:186"
   2767      1.1  jmmv ( $at_check_trace; mv Kyuafile src
   2768      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2769      1.1  jmmv at_status=$? at_failed=false
   2770      1.1  jmmv $at_check_filter
   2771      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2772      1.1  jmmv at_fn_diff_devnull "$at_stdout" || at_failed=:
   2773      1.1  jmmv at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:186"
   2774      1.1  jmmv $at_failed && at_fn_log_failure
   2775      1.1  jmmv $at_traceon; }
   2776      1.1  jmmv 
   2777      1.1  jmmv { set +x
   2778      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:187: mkdir obj"
   2779      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:187"
   2780      1.1  jmmv ( $at_check_trace; mkdir obj
   2781      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2782      1.1  jmmv at_status=$? at_failed=false
   2783      1.1  jmmv $at_check_filter
   2784      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2785      1.1  jmmv at_fn_diff_devnull "$at_stdout" || at_failed=:
   2786      1.1  jmmv at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:187"
   2787      1.1  jmmv $at_failed && at_fn_log_failure
   2788      1.1  jmmv $at_traceon; }
   2789      1.1  jmmv 
   2790      1.1  jmmv { set +x
   2791      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:188: mv atf_helpers obj"
   2792      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:188"
   2793      1.1  jmmv ( $at_check_trace; mv atf_helpers obj
   2794      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2795      1.1  jmmv at_status=$? at_failed=false
   2796      1.1  jmmv $at_check_filter
   2797      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2798      1.1  jmmv at_fn_diff_devnull "$at_stdout" || at_failed=:
   2799      1.1  jmmv at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:188"
   2800      1.1  jmmv $at_failed && at_fn_log_failure
   2801      1.1  jmmv $at_traceon; }
   2802      1.1  jmmv 
   2803      1.1  jmmv { set +x
   2804      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:189: HOME=\$(pwd) TESTS=\"fails passes skips\" kyua --config=none test --store=bootstrap.db --kyuafile=src/Kyuafile --build-root=obj"
   2805      1.1  jmmv at_fn_check_prepare_notrace 'a $(...) command substitution' "testsuite.at:189"
   2806      1.1  jmmv ( $at_check_trace; HOME=$(pwd) TESTS="fails passes skips" kyua --config=none test --store=bootstrap.db --kyuafile=src/Kyuafile --build-root=obj
   2807      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2808      1.1  jmmv at_status=$? at_failed=false
   2809      1.1  jmmv $at_check_filter
   2810      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2811      1.1  jmmv echo stdout:; tee stdout <"$at_stdout"
   2812      1.1  jmmv at_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:189"
   2813      1.1  jmmv $at_failed && at_fn_log_failure
   2814      1.1  jmmv $at_traceon; }
   2815      1.1  jmmv 
   2816      1.1  jmmv { set +x
   2817      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:192: grep \"atf_helpers:fails.*failure.*Failed on purpose\" stdout"
   2818      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:192"
   2819      1.1  jmmv ( $at_check_trace; grep "atf_helpers:fails.*failure.*Failed on purpose" stdout
   2820      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2821      1.1  jmmv at_status=$? at_failed=false
   2822      1.1  jmmv $at_check_filter
   2823      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2824      1.1  jmmv at_fn_diff_devnull "$at_stdout" || at_failed=:
   2825      1.1  jmmv at_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:192"
   2826      1.1  jmmv $at_failed && at_fn_log_failure
   2827      1.1  jmmv $at_traceon; }
   2828      1.1  jmmv 
   2829      1.1  jmmv { set +x
   2830      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:194: grep \"atf_helpers:passes.*passed\" stdout"
   2831      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:194"
   2832      1.1  jmmv ( $at_check_trace; grep "atf_helpers:passes.*passed" stdout
   2833      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2834      1.1  jmmv at_status=$? at_failed=false
   2835      1.1  jmmv $at_check_filter
   2836      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2837      1.1  jmmv echo stdout:; cat "$at_stdout"
   2838      1.1  jmmv at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:194"
   2839      1.1  jmmv $at_failed && at_fn_log_failure
   2840      1.1  jmmv $at_traceon; }
   2841      1.1  jmmv 
   2842      1.1  jmmv { set +x
   2843      1.1  jmmv $as_echo "$at_srcdir/testsuite.at:195: grep \"atf_helpers:skips.*skipped.*Skipped on purpose\" stdout"
   2844      1.1  jmmv at_fn_check_prepare_trace "testsuite.at:195"
   2845      1.1  jmmv ( $at_check_trace; grep "atf_helpers:skips.*skipped.*Skipped on purpose" stdout
   2846      1.1  jmmv ) >>"$at_stdout" 2>>"$at_stderr" 5>&-
   2847      1.1  jmmv at_status=$? at_failed=false
   2848      1.1  jmmv $at_check_filter
   2849      1.1  jmmv at_fn_diff_devnull "$at_stderr" || at_failed=:
   2850      1.1  jmmv echo stdout:; cat "$at_stdout"
   2851      1.1  jmmv at_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:195"
   2852      1.1  jmmv $at_failed && at_fn_log_failure
   2853      1.1  jmmv $at_traceon; }
   2854      1.1  jmmv 
   2855      1.1  jmmv 
   2856      1.1  jmmv   set +x
   2857      1.1  jmmv   $at_times_p && times >"$at_times_file"
   2858      1.1  jmmv ) 5>&1 2>&1 7>&- | eval $at_tee_pipe
   2859      1.1  jmmv read at_status <"$at_status_file"
   2860      1.1  jmmv #AT_STOP_10
   2861