16b3a42afSjmmv#! /bin/sh 26b3a42afSjmmv# Generated from bootstrap/testsuite.at by GNU Autoconf 2.69. 36b3a42afSjmmv# 46b3a42afSjmmv# Copyright (C) 2009-2012 Free Software Foundation, Inc. 56b3a42afSjmmv# 66b3a42afSjmmv# This test suite is free software; the Free Software Foundation gives 76b3a42afSjmmv# unlimited permission to copy, distribute and modify it. 86b3a42afSjmmv## -------------------- ## 96b3a42afSjmmv## M4sh Initialization. ## 106b3a42afSjmmv## -------------------- ## 116b3a42afSjmmv 126b3a42afSjmmv# Be more Bourne compatible 136b3a42afSjmmvDUALCASE=1; export DUALCASE # for MKS sh 146b3a42afSjmmvif test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : 156b3a42afSjmmv emulate sh 166b3a42afSjmmv NULLCMD=: 176b3a42afSjmmv # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which 186b3a42afSjmmv # is contrary to our usage. Disable this feature. 196b3a42afSjmmv alias -g '${1+"$@"}'='"$@"' 206b3a42afSjmmv setopt NO_GLOB_SUBST 216b3a42afSjmmvelse 226b3a42afSjmmv case `(set -o) 2>/dev/null` in #( 236b3a42afSjmmv *posix*) : 246b3a42afSjmmv set -o posix ;; #( 256b3a42afSjmmv *) : 266b3a42afSjmmv ;; 276b3a42afSjmmvesac 286b3a42afSjmmvfi 296b3a42afSjmmv 306b3a42afSjmmv 316b3a42afSjmmvas_nl=' 326b3a42afSjmmv' 336b3a42afSjmmvexport as_nl 346b3a42afSjmmv# Printing a long string crashes Solaris 7 /usr/bin/printf. 356b3a42afSjmmvas_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 366b3a42afSjmmvas_echo=$as_echo$as_echo$as_echo$as_echo$as_echo 376b3a42afSjmmvas_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo 386b3a42afSjmmv# Prefer a ksh shell builtin over an external printf program on Solaris, 396b3a42afSjmmv# but without wasting forks for bash or zsh. 406b3a42afSjmmvif test -z "$BASH_VERSION$ZSH_VERSION" \ 416b3a42afSjmmv && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then 426b3a42afSjmmv as_echo='print -r --' 436b3a42afSjmmv as_echo_n='print -rn --' 446b3a42afSjmmvelif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then 456b3a42afSjmmv as_echo='printf %s\n' 466b3a42afSjmmv as_echo_n='printf %s' 476b3a42afSjmmvelse 486b3a42afSjmmv if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then 496b3a42afSjmmv as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' 506b3a42afSjmmv as_echo_n='/usr/ucb/echo -n' 516b3a42afSjmmv else 526b3a42afSjmmv as_echo_body='eval expr "X$1" : "X\\(.*\\)"' 536b3a42afSjmmv as_echo_n_body='eval 546b3a42afSjmmv arg=$1; 556b3a42afSjmmv case $arg in #( 566b3a42afSjmmv *"$as_nl"*) 576b3a42afSjmmv expr "X$arg" : "X\\(.*\\)$as_nl"; 586b3a42afSjmmv arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; 596b3a42afSjmmv esac; 606b3a42afSjmmv expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" 616b3a42afSjmmv ' 626b3a42afSjmmv export as_echo_n_body 636b3a42afSjmmv as_echo_n='sh -c $as_echo_n_body as_echo' 646b3a42afSjmmv fi 656b3a42afSjmmv export as_echo_body 666b3a42afSjmmv as_echo='sh -c $as_echo_body as_echo' 676b3a42afSjmmvfi 686b3a42afSjmmv 696b3a42afSjmmv# The user is always right. 706b3a42afSjmmvif test "${PATH_SEPARATOR+set}" != set; then 716b3a42afSjmmv PATH_SEPARATOR=: 726b3a42afSjmmv (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { 736b3a42afSjmmv (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || 746b3a42afSjmmv PATH_SEPARATOR=';' 756b3a42afSjmmv } 766b3a42afSjmmvfi 776b3a42afSjmmv 786b3a42afSjmmv 796b3a42afSjmmv# IFS 806b3a42afSjmmv# We need space, tab and new line, in precisely that order. Quoting is 816b3a42afSjmmv# there to prevent editors from complaining about space-tab. 826b3a42afSjmmv# (If _AS_PATH_WALK were called with IFS unset, it would disable word 836b3a42afSjmmv# splitting by setting IFS to empty value.) 846b3a42afSjmmvIFS=" "" $as_nl" 856b3a42afSjmmv 866b3a42afSjmmv# Find who we are. Look in the path if we contain no directory separator. 876b3a42afSjmmvas_myself= 886b3a42afSjmmvcase $0 in #(( 896b3a42afSjmmv *[\\/]* ) as_myself=$0 ;; 906b3a42afSjmmv *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 916b3a42afSjmmvfor as_dir in $PATH 926b3a42afSjmmvdo 936b3a42afSjmmv IFS=$as_save_IFS 946b3a42afSjmmv test -z "$as_dir" && as_dir=. 956b3a42afSjmmv test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break 966b3a42afSjmmv done 976b3a42afSjmmvIFS=$as_save_IFS 986b3a42afSjmmv 996b3a42afSjmmv ;; 1006b3a42afSjmmvesac 1016b3a42afSjmmv# We did not find ourselves, most probably we were run as `sh COMMAND' 1026b3a42afSjmmv# in which case we are not to be found in the path. 1036b3a42afSjmmvif test "x$as_myself" = x; then 1046b3a42afSjmmv as_myself=$0 1056b3a42afSjmmvfi 1066b3a42afSjmmvif test ! -f "$as_myself"; then 1076b3a42afSjmmv $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 1086b3a42afSjmmv exit 1 1096b3a42afSjmmvfi 1106b3a42afSjmmv 1116b3a42afSjmmv# Unset variables that we do not need and which cause bugs (e.g. in 1126b3a42afSjmmv# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" 1136b3a42afSjmmv# suppresses any "Segmentation fault" message there. '((' could 1146b3a42afSjmmv# trigger a bug in pdksh 5.2.14. 1156b3a42afSjmmvfor as_var in BASH_ENV ENV MAIL MAILPATH 1166b3a42afSjmmvdo eval test x\${$as_var+set} = xset \ 1176b3a42afSjmmv && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : 1186b3a42afSjmmvdone 1196b3a42afSjmmvPS1='$ ' 1206b3a42afSjmmvPS2='> ' 1216b3a42afSjmmvPS4='+ ' 1226b3a42afSjmmv 1236b3a42afSjmmv# NLS nuisances. 1246b3a42afSjmmvLC_ALL=C 1256b3a42afSjmmvexport LC_ALL 1266b3a42afSjmmvLANGUAGE=C 1276b3a42afSjmmvexport LANGUAGE 1286b3a42afSjmmv 1296b3a42afSjmmv# CDPATH. 1306b3a42afSjmmv(unset CDPATH) >/dev/null 2>&1 && unset CDPATH 1316b3a42afSjmmv 1326b3a42afSjmmvif test "x$CONFIG_SHELL" = x; then 1336b3a42afSjmmv as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : 1346b3a42afSjmmv emulate sh 1356b3a42afSjmmv NULLCMD=: 1366b3a42afSjmmv # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which 1376b3a42afSjmmv # is contrary to our usage. Disable this feature. 1386b3a42afSjmmv alias -g '\${1+\"\$@\"}'='\"\$@\"' 1396b3a42afSjmmv setopt NO_GLOB_SUBST 1406b3a42afSjmmvelse 1416b3a42afSjmmv case \`(set -o) 2>/dev/null\` in #( 1426b3a42afSjmmv *posix*) : 1436b3a42afSjmmv set -o posix ;; #( 1446b3a42afSjmmv *) : 1456b3a42afSjmmv ;; 1466b3a42afSjmmvesac 1476b3a42afSjmmvfi 1486b3a42afSjmmv" 1496b3a42afSjmmv as_required="as_fn_return () { (exit \$1); } 1506b3a42afSjmmvas_fn_success () { as_fn_return 0; } 1516b3a42afSjmmvas_fn_failure () { as_fn_return 1; } 1526b3a42afSjmmvas_fn_ret_success () { return 0; } 1536b3a42afSjmmvas_fn_ret_failure () { return 1; } 1546b3a42afSjmmv 1556b3a42afSjmmvexitcode=0 1566b3a42afSjmmvas_fn_success || { exitcode=1; echo as_fn_success failed.; } 1576b3a42afSjmmvas_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } 1586b3a42afSjmmvas_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } 1596b3a42afSjmmvas_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } 1606b3a42afSjmmvif ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : 1616b3a42afSjmmv 1626b3a42afSjmmvelse 1636b3a42afSjmmv exitcode=1; echo positional parameters were not saved. 1646b3a42afSjmmvfi 1656b3a42afSjmmvtest x\$exitcode = x0 || exit 1 1666b3a42afSjmmvtest -x / || exit 1" 1676b3a42afSjmmv as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO 1686b3a42afSjmmv as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO 1696b3a42afSjmmv eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && 1706b3a42afSjmmv test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 1716b3a42afSjmmvtest \$(( 1 + 1 )) = 2 || exit 1" 1726b3a42afSjmmv if (eval "$as_required") 2>/dev/null; then : 1736b3a42afSjmmv as_have_required=yes 1746b3a42afSjmmvelse 1756b3a42afSjmmv as_have_required=no 1766b3a42afSjmmvfi 1776b3a42afSjmmv if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : 1786b3a42afSjmmv 1796b3a42afSjmmvelse 1806b3a42afSjmmv as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 1816b3a42afSjmmvas_found=false 1826b3a42afSjmmvfor as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH 1836b3a42afSjmmvdo 1846b3a42afSjmmv IFS=$as_save_IFS 1856b3a42afSjmmv test -z "$as_dir" && as_dir=. 1866b3a42afSjmmv as_found=: 1876b3a42afSjmmv case $as_dir in #( 1886b3a42afSjmmv /*) 1896b3a42afSjmmv for as_base in sh bash ksh sh5; do 1906b3a42afSjmmv # Try only shells that exist, to save several forks. 1916b3a42afSjmmv as_shell=$as_dir/$as_base 1926b3a42afSjmmv if { test -f "$as_shell" || test -f "$as_shell.exe"; } && 1936b3a42afSjmmv { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : 1946b3a42afSjmmv CONFIG_SHELL=$as_shell as_have_required=yes 1956b3a42afSjmmv if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : 1966b3a42afSjmmv break 2 1976b3a42afSjmmvfi 1986b3a42afSjmmvfi 1996b3a42afSjmmv done;; 2006b3a42afSjmmv esac 2016b3a42afSjmmv as_found=false 2026b3a42afSjmmvdone 2036b3a42afSjmmv$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && 2046b3a42afSjmmv { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : 2056b3a42afSjmmv CONFIG_SHELL=$SHELL as_have_required=yes 2066b3a42afSjmmvfi; } 2076b3a42afSjmmvIFS=$as_save_IFS 2086b3a42afSjmmv 2096b3a42afSjmmv 2106b3a42afSjmmv if test "x$CONFIG_SHELL" != x; then : 2116b3a42afSjmmv export CONFIG_SHELL 2126b3a42afSjmmv # We cannot yet assume a decent shell, so we have to provide a 2136b3a42afSjmmv# neutralization value for shells without unset; and this also 2146b3a42afSjmmv# works around shells that cannot unset nonexistent variables. 2156b3a42afSjmmv# Preserve -v and -x to the replacement shell. 2166b3a42afSjmmvBASH_ENV=/dev/null 2176b3a42afSjmmvENV=/dev/null 2186b3a42afSjmmv(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV 2196b3a42afSjmmvcase $- in # (((( 2206b3a42afSjmmv *v*x* | *x*v* ) as_opts=-vx ;; 2216b3a42afSjmmv *v* ) as_opts=-v ;; 2226b3a42afSjmmv *x* ) as_opts=-x ;; 2236b3a42afSjmmv * ) as_opts= ;; 2246b3a42afSjmmvesac 2256b3a42afSjmmvexec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} 2266b3a42afSjmmv# Admittedly, this is quite paranoid, since all the known shells bail 2276b3a42afSjmmv# out after a failed `exec'. 2286b3a42afSjmmv$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 2296b3a42afSjmmvexit 255 2306b3a42afSjmmvfi 2316b3a42afSjmmv 2326b3a42afSjmmv if test x$as_have_required = xno; then : 2336b3a42afSjmmv $as_echo "$0: This script requires a shell more modern than all" 2346b3a42afSjmmv $as_echo "$0: the shells that I found on your system." 2356b3a42afSjmmv if test x${ZSH_VERSION+set} = xset ; then 2366b3a42afSjmmv $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" 2376b3a42afSjmmv $as_echo "$0: be upgraded to zsh 4.3.4 or later." 2386b3a42afSjmmv else 2396b3a42afSjmmv $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, 2406b3a42afSjmmv$0: including any error possibly output before this 2416b3a42afSjmmv$0: message. Then install a modern shell, or manually run 2426b3a42afSjmmv$0: the script under such a shell if you do have one." 2436b3a42afSjmmv fi 2446b3a42afSjmmv exit 1 2456b3a42afSjmmvfi 2466b3a42afSjmmvfi 2476b3a42afSjmmvfi 2486b3a42afSjmmvSHELL=${CONFIG_SHELL-/bin/sh} 2496b3a42afSjmmvexport SHELL 2506b3a42afSjmmv# Unset more variables known to interfere with behavior of common tools. 2516b3a42afSjmmvCLICOLOR_FORCE= GREP_OPTIONS= 2526b3a42afSjmmvunset CLICOLOR_FORCE GREP_OPTIONS 2536b3a42afSjmmv 2546b3a42afSjmmv## --------------------- ## 2556b3a42afSjmmv## M4sh Shell Functions. ## 2566b3a42afSjmmv## --------------------- ## 2576b3a42afSjmmv# as_fn_unset VAR 2586b3a42afSjmmv# --------------- 2596b3a42afSjmmv# Portably unset VAR. 2606b3a42afSjmmvas_fn_unset () 2616b3a42afSjmmv{ 2626b3a42afSjmmv { eval $1=; unset $1;} 2636b3a42afSjmmv} 2646b3a42afSjmmvas_unset=as_fn_unset 2656b3a42afSjmmv 2666b3a42afSjmmv# as_fn_set_status STATUS 2676b3a42afSjmmv# ----------------------- 2686b3a42afSjmmv# Set $? to STATUS, without forking. 2696b3a42afSjmmvas_fn_set_status () 2706b3a42afSjmmv{ 2716b3a42afSjmmv return $1 2726b3a42afSjmmv} # as_fn_set_status 2736b3a42afSjmmv 2746b3a42afSjmmv# as_fn_exit STATUS 2756b3a42afSjmmv# ----------------- 2766b3a42afSjmmv# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. 2776b3a42afSjmmvas_fn_exit () 2786b3a42afSjmmv{ 2796b3a42afSjmmv set +e 2806b3a42afSjmmv as_fn_set_status $1 2816b3a42afSjmmv exit $1 2826b3a42afSjmmv} # as_fn_exit 2836b3a42afSjmmv 2846b3a42afSjmmv# as_fn_mkdir_p 2856b3a42afSjmmv# ------------- 2866b3a42afSjmmv# Create "$as_dir" as a directory, including parents if necessary. 2876b3a42afSjmmvas_fn_mkdir_p () 2886b3a42afSjmmv{ 2896b3a42afSjmmv 2906b3a42afSjmmv case $as_dir in #( 2916b3a42afSjmmv -*) as_dir=./$as_dir;; 2926b3a42afSjmmv esac 2936b3a42afSjmmv test -d "$as_dir" || eval $as_mkdir_p || { 2946b3a42afSjmmv as_dirs= 2956b3a42afSjmmv while :; do 2966b3a42afSjmmv case $as_dir in #( 2976b3a42afSjmmv *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( 2986b3a42afSjmmv *) as_qdir=$as_dir;; 2996b3a42afSjmmv esac 3006b3a42afSjmmv as_dirs="'$as_qdir' $as_dirs" 3016b3a42afSjmmv as_dir=`$as_dirname -- "$as_dir" || 3026b3a42afSjmmv$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ 3036b3a42afSjmmv X"$as_dir" : 'X\(//\)[^/]' \| \ 3046b3a42afSjmmv X"$as_dir" : 'X\(//\)$' \| \ 3056b3a42afSjmmv X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || 3066b3a42afSjmmv$as_echo X"$as_dir" | 3076b3a42afSjmmv sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ 3086b3a42afSjmmv s//\1/ 3096b3a42afSjmmv q 3106b3a42afSjmmv } 3116b3a42afSjmmv /^X\(\/\/\)[^/].*/{ 3126b3a42afSjmmv s//\1/ 3136b3a42afSjmmv q 3146b3a42afSjmmv } 3156b3a42afSjmmv /^X\(\/\/\)$/{ 3166b3a42afSjmmv s//\1/ 3176b3a42afSjmmv q 3186b3a42afSjmmv } 3196b3a42afSjmmv /^X\(\/\).*/{ 3206b3a42afSjmmv s//\1/ 3216b3a42afSjmmv q 3226b3a42afSjmmv } 3236b3a42afSjmmv s/.*/./; q'` 3246b3a42afSjmmv test -d "$as_dir" && break 3256b3a42afSjmmv done 3266b3a42afSjmmv test -z "$as_dirs" || eval "mkdir $as_dirs" 3276b3a42afSjmmv } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" 3286b3a42afSjmmv 3296b3a42afSjmmv 3306b3a42afSjmmv} # as_fn_mkdir_p 3316b3a42afSjmmv 3326b3a42afSjmmv# as_fn_executable_p FILE 3336b3a42afSjmmv# ----------------------- 3346b3a42afSjmmv# Test if FILE is an executable regular file. 3356b3a42afSjmmvas_fn_executable_p () 3366b3a42afSjmmv{ 3376b3a42afSjmmv test -f "$1" && test -x "$1" 3386b3a42afSjmmv} # as_fn_executable_p 3396b3a42afSjmmv# as_fn_append VAR VALUE 3406b3a42afSjmmv# ---------------------- 3416b3a42afSjmmv# Append the text in VALUE to the end of the definition contained in VAR. Take 3426b3a42afSjmmv# advantage of any shell optimizations that allow amortized linear growth over 3436b3a42afSjmmv# repeated appends, instead of the typical quadratic growth present in naive 3446b3a42afSjmmv# implementations. 3456b3a42afSjmmvif (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : 3466b3a42afSjmmv eval 'as_fn_append () 3476b3a42afSjmmv { 3486b3a42afSjmmv eval $1+=\$2 3496b3a42afSjmmv }' 3506b3a42afSjmmvelse 3516b3a42afSjmmv as_fn_append () 3526b3a42afSjmmv { 3536b3a42afSjmmv eval $1=\$$1\$2 3546b3a42afSjmmv } 3556b3a42afSjmmvfi # as_fn_append 3566b3a42afSjmmv 3576b3a42afSjmmv# as_fn_arith ARG... 3586b3a42afSjmmv# ------------------ 3596b3a42afSjmmv# Perform arithmetic evaluation on the ARGs, and store the result in the 3606b3a42afSjmmv# global $as_val. Take advantage of shells that can avoid forks. The arguments 3616b3a42afSjmmv# must be portable across $(()) and expr. 3626b3a42afSjmmvif (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : 3636b3a42afSjmmv eval 'as_fn_arith () 3646b3a42afSjmmv { 3656b3a42afSjmmv as_val=$(( $* )) 3666b3a42afSjmmv }' 3676b3a42afSjmmvelse 3686b3a42afSjmmv as_fn_arith () 3696b3a42afSjmmv { 3706b3a42afSjmmv as_val=`expr "$@" || test $? -eq 1` 3716b3a42afSjmmv } 3726b3a42afSjmmvfi # as_fn_arith 3736b3a42afSjmmv 3746b3a42afSjmmv 3756b3a42afSjmmv# as_fn_error STATUS ERROR [LINENO LOG_FD] 3766b3a42afSjmmv# ---------------------------------------- 3776b3a42afSjmmv# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are 3786b3a42afSjmmv# provided, also output the error to LOG_FD, referencing LINENO. Then exit the 3796b3a42afSjmmv# script with STATUS, using 1 if that was 0. 3806b3a42afSjmmvas_fn_error () 3816b3a42afSjmmv{ 3826b3a42afSjmmv as_status=$1; test $as_status -eq 0 && as_status=1 3836b3a42afSjmmv if test "$4"; then 3846b3a42afSjmmv as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 3856b3a42afSjmmv $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 3866b3a42afSjmmv fi 3876b3a42afSjmmv $as_echo "$as_me: error: $2" >&2 3886b3a42afSjmmv as_fn_exit $as_status 3896b3a42afSjmmv} # as_fn_error 3906b3a42afSjmmv 3916b3a42afSjmmvif expr a : '\(a\)' >/dev/null 2>&1 && 3926b3a42afSjmmv test "X`expr 00001 : '.*\(...\)'`" = X001; then 3936b3a42afSjmmv as_expr=expr 3946b3a42afSjmmvelse 3956b3a42afSjmmv as_expr=false 3966b3a42afSjmmvfi 3976b3a42afSjmmv 3986b3a42afSjmmvif (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then 3996b3a42afSjmmv as_basename=basename 4006b3a42afSjmmvelse 4016b3a42afSjmmv as_basename=false 4026b3a42afSjmmvfi 4036b3a42afSjmmv 4046b3a42afSjmmvas_me=`$as_basename -- "$0" || 4056b3a42afSjmmv$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ 4066b3a42afSjmmv X"$0" : 'X\(//\)$' \| \ 4076b3a42afSjmmv X"$0" : 'X\(/\)' \| . 2>/dev/null || 4086b3a42afSjmmv$as_echo X/"$0" | 4096b3a42afSjmmv sed '/^.*\/\([^/][^/]*\)\/*$/{ 4106b3a42afSjmmv s//\1/ 4116b3a42afSjmmv q 4126b3a42afSjmmv } 4136b3a42afSjmmv /^X\/\(\/\/\)$/{ 4146b3a42afSjmmv s//\1/ 4156b3a42afSjmmv q 4166b3a42afSjmmv } 4176b3a42afSjmmv /^X\/\(\/\).*/{ 4186b3a42afSjmmv s//\1/ 4196b3a42afSjmmv q 4206b3a42afSjmmv } 4216b3a42afSjmmv s/.*/./; q'` 4226b3a42afSjmmv 4236b3a42afSjmmvif (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then 4246b3a42afSjmmv as_dirname=dirname 4256b3a42afSjmmvelse 4266b3a42afSjmmv as_dirname=false 4276b3a42afSjmmvfi 4286b3a42afSjmmv 4296b3a42afSjmmv# Avoid depending upon Character Ranges. 4306b3a42afSjmmvas_cr_letters='abcdefghijklmnopqrstuvwxyz' 4316b3a42afSjmmvas_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' 4326b3a42afSjmmvas_cr_Letters=$as_cr_letters$as_cr_LETTERS 4336b3a42afSjmmvas_cr_digits='0123456789' 4346b3a42afSjmmvas_cr_alnum=$as_cr_Letters$as_cr_digits 4356b3a42afSjmmv 4366b3a42afSjmmv 4376b3a42afSjmmv as_lineno_1=$LINENO as_lineno_1a=$LINENO 4386b3a42afSjmmv as_lineno_2=$LINENO as_lineno_2a=$LINENO 4396b3a42afSjmmv eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && 4406b3a42afSjmmv test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { 4416b3a42afSjmmv # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) 4426b3a42afSjmmv sed -n ' 4436b3a42afSjmmv p 4446b3a42afSjmmv /[$]LINENO/= 4456b3a42afSjmmv ' <$as_myself | 4466b3a42afSjmmv sed ' 4476b3a42afSjmmv s/[$]LINENO.*/&-/ 4486b3a42afSjmmv t lineno 4496b3a42afSjmmv b 4506b3a42afSjmmv :lineno 4516b3a42afSjmmv N 4526b3a42afSjmmv :loop 4536b3a42afSjmmv s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ 4546b3a42afSjmmv t loop 4556b3a42afSjmmv s/-\n.*// 4566b3a42afSjmmv ' >$as_me.lineno && 4576b3a42afSjmmv chmod +x "$as_me.lineno" || 4586b3a42afSjmmv { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } 4596b3a42afSjmmv 4606b3a42afSjmmv # If we had to re-execute with $CONFIG_SHELL, we're ensured to have 4616b3a42afSjmmv # already done that, so ensure we don't try to do so again and fall 4626b3a42afSjmmv # in an infinite loop. This has already happened in practice. 4636b3a42afSjmmv _as_can_reexec=no; export _as_can_reexec 4646b3a42afSjmmv # Don't try to exec as it changes $[0], causing all sort of problems 4656b3a42afSjmmv # (the dirname of $[0] is not the place where we might find the 4666b3a42afSjmmv # original and so on. Autoconf is especially sensitive to this). 4676b3a42afSjmmv . "./$as_me.lineno" 4686b3a42afSjmmv # Exit status is that of the last command. 4696b3a42afSjmmv exit 4706b3a42afSjmmv} 4716b3a42afSjmmv 4726b3a42afSjmmvECHO_C= ECHO_N= ECHO_T= 4736b3a42afSjmmvcase `echo -n x` in #((((( 4746b3a42afSjmmv-n*) 4756b3a42afSjmmv case `echo 'xy\c'` in 4766b3a42afSjmmv *c*) ECHO_T=' ';; # ECHO_T is single tab character. 4776b3a42afSjmmv xy) ECHO_C='\c';; 4786b3a42afSjmmv *) echo `echo ksh88 bug on AIX 6.1` > /dev/null 4796b3a42afSjmmv ECHO_T=' ';; 4806b3a42afSjmmv esac;; 4816b3a42afSjmmv*) 4826b3a42afSjmmv ECHO_N='-n';; 4836b3a42afSjmmvesac 4846b3a42afSjmmv 4856b3a42afSjmmvrm -f conf$$ conf$$.exe conf$$.file 4866b3a42afSjmmvif test -d conf$$.dir; then 4876b3a42afSjmmv rm -f conf$$.dir/conf$$.file 4886b3a42afSjmmvelse 4896b3a42afSjmmv rm -f conf$$.dir 4906b3a42afSjmmv mkdir conf$$.dir 2>/dev/null 4916b3a42afSjmmvfi 4926b3a42afSjmmvif (echo >conf$$.file) 2>/dev/null; then 4936b3a42afSjmmv if ln -s conf$$.file conf$$ 2>/dev/null; then 4946b3a42afSjmmv as_ln_s='ln -s' 4956b3a42afSjmmv # ... but there are two gotchas: 4966b3a42afSjmmv # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. 4976b3a42afSjmmv # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. 4986b3a42afSjmmv # In both cases, we have to default to `cp -pR'. 4996b3a42afSjmmv ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || 5006b3a42afSjmmv as_ln_s='cp -pR' 5016b3a42afSjmmv elif ln conf$$.file conf$$ 2>/dev/null; then 5026b3a42afSjmmv as_ln_s=ln 5036b3a42afSjmmv else 5046b3a42afSjmmv as_ln_s='cp -pR' 5056b3a42afSjmmv fi 5066b3a42afSjmmvelse 5076b3a42afSjmmv as_ln_s='cp -pR' 5086b3a42afSjmmvfi 5096b3a42afSjmmvrm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file 5106b3a42afSjmmvrmdir conf$$.dir 2>/dev/null 5116b3a42afSjmmv 5126b3a42afSjmmvif mkdir -p . 2>/dev/null; then 5136b3a42afSjmmv as_mkdir_p='mkdir -p "$as_dir"' 5146b3a42afSjmmvelse 5156b3a42afSjmmv test -d ./-p && rmdir ./-p 5166b3a42afSjmmv as_mkdir_p=false 5176b3a42afSjmmvfi 5186b3a42afSjmmv 5196b3a42afSjmmvas_test_x='test -x' 5206b3a42afSjmmvas_executable_p=as_fn_executable_p 5216b3a42afSjmmv 5226b3a42afSjmmv# Sed expression to map a string onto a valid CPP name. 5236b3a42afSjmmvas_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" 5246b3a42afSjmmv 5256b3a42afSjmmv# Sed expression to map a string onto a valid variable name. 5266b3a42afSjmmvas_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" 5276b3a42afSjmmv 5286b3a42afSjmmv 5296b3a42afSjmmv 5306b3a42afSjmmv 5316b3a42afSjmmv 5326b3a42afSjmmvSHELL=${CONFIG_SHELL-/bin/sh} 5336b3a42afSjmmv 5346b3a42afSjmmv# How were we run? 5356b3a42afSjmmvat_cli_args="$@" 5366b3a42afSjmmv 5376b3a42afSjmmv 5386b3a42afSjmmv# Not all shells have the 'times' builtin; the subshell is needed to make 5396b3a42afSjmmv# sure we discard the 'times: not found' message from the shell. 5406b3a42afSjmmvat_times_p=false 5416b3a42afSjmmv(times) >/dev/null 2>&1 && at_times_p=: 5426b3a42afSjmmv 5436b3a42afSjmmv# CLI Arguments to pass to the debugging scripts. 5446b3a42afSjmmvat_debug_args= 5456b3a42afSjmmv# -e sets to true 5466b3a42afSjmmvat_errexit_p=false 5476b3a42afSjmmv# Shall we be verbose? ':' means no, empty means yes. 5486b3a42afSjmmvat_verbose=: 5496b3a42afSjmmvat_quiet= 5506b3a42afSjmmv# Running several jobs in parallel, 0 means as many as test groups. 5516b3a42afSjmmvat_jobs=1 5526b3a42afSjmmvat_traceon=: 5536b3a42afSjmmvat_trace_echo=: 5546b3a42afSjmmvat_check_filter_trace=: 5556b3a42afSjmmv 5566b3a42afSjmmv# Shall we keep the debug scripts? Must be `:' when the suite is 5576b3a42afSjmmv# run by a debug script, so that the script doesn't remove itself. 5586b3a42afSjmmvat_debug_p=false 5596b3a42afSjmmv# Display help message? 5606b3a42afSjmmvat_help_p=false 5616b3a42afSjmmv# Display the version message? 5626b3a42afSjmmvat_version_p=false 5636b3a42afSjmmv# List test groups? 5646b3a42afSjmmvat_list_p=false 5656b3a42afSjmmv# --clean 5666b3a42afSjmmvat_clean=false 5676b3a42afSjmmv# Test groups to run 5686b3a42afSjmmvat_groups= 5696b3a42afSjmmv# Whether to rerun failed tests. 5706b3a42afSjmmvat_recheck= 5716b3a42afSjmmv# Whether a write failure occurred 5726b3a42afSjmmvat_write_fail=0 5736b3a42afSjmmv 5746b3a42afSjmmv# The directory we run the suite in. Default to . if no -C option. 5756b3a42afSjmmvat_dir=`pwd` 5766b3a42afSjmmv# An absolute reference to this testsuite script. 5776b3a42afSjmmvcase $as_myself in 5786b3a42afSjmmv [\\/]* | ?:[\\/]* ) at_myself=$as_myself ;; 5796b3a42afSjmmv * ) at_myself=$at_dir/$as_myself ;; 5806b3a42afSjmmvesac 5816b3a42afSjmmv# Whether -C is in effect. 5826b3a42afSjmmvat_change_dir=false 5836b3a42afSjmmv 5846b3a42afSjmmv# Whether to enable colored test results. 5856b3a42afSjmmvat_color=no 5866b3a42afSjmmv# List of the tested programs. 5876b3a42afSjmmvat_tested='kyua' 5886b3a42afSjmmv# As many question marks as there are digits in the last test group number. 5896b3a42afSjmmv# Used to normalize the test group numbers so that `ls' lists them in 5906b3a42afSjmmv# numerical order. 5916b3a42afSjmmvat_format='??' 5926b3a42afSjmmv# Description of all the test groups. 5936b3a42afSjmmvat_help_all="1;testsuite.at:70;test program crashes in test list;; 5946b3a42afSjmmv2;testsuite.at:81;test program prints an empty test list;; 5956b3a42afSjmmv3;testsuite.at:92;test program with zero test cases;; 5966b3a42afSjmmv4;testsuite.at:103;run test case that passes;; 5976b3a42afSjmmv5;testsuite.at:115;run test case that fails;; 5986b3a42afSjmmv6;testsuite.at:128;run test case that skips;; 5996b3a42afSjmmv7;testsuite.at:141;run two test cases, success;; 6006b3a42afSjmmv8;testsuite.at:154;run two test cases, failure;; 6016b3a42afSjmmv9;testsuite.at:167;run mixed test cases;; 6026b3a42afSjmmv10;testsuite.at:181;run tests from build directories;; 6036b3a42afSjmmv" 6046b3a42afSjmmv# List of the all the test groups. 6056b3a42afSjmmvat_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'` 6066b3a42afSjmmv 6076b3a42afSjmmv# at_fn_validate_ranges NAME... 6086b3a42afSjmmv# ----------------------------- 6096b3a42afSjmmv# Validate and normalize the test group number contained in each variable 6106b3a42afSjmmv# NAME. Leading zeroes are treated as decimal. 6116b3a42afSjmmvat_fn_validate_ranges () 6126b3a42afSjmmv{ 6136b3a42afSjmmv for at_grp 6146b3a42afSjmmv do 6156b3a42afSjmmv eval at_value=\$$at_grp 6166b3a42afSjmmv if test $at_value -lt 1 || test $at_value -gt 10; then 6176b3a42afSjmmv $as_echo "invalid test group: $at_value" >&2 6186b3a42afSjmmv exit 1 6196b3a42afSjmmv fi 6206b3a42afSjmmv case $at_value in 6216b3a42afSjmmv 0*) # We want to treat leading 0 as decimal, like expr and test, but 6226b3a42afSjmmv # AS_VAR_ARITH treats it as octal if it uses $(( )). 6236b3a42afSjmmv # With XSI shells, ${at_value#${at_value%%[1-9]*}} avoids the 6246b3a42afSjmmv # expr fork, but it is not worth the effort to determine if the 6256b3a42afSjmmv # shell supports XSI when the user can just avoid leading 0. 6266b3a42afSjmmv eval $at_grp='`expr $at_value + 0`' ;; 6276b3a42afSjmmv esac 6286b3a42afSjmmv done 6296b3a42afSjmmv} 6306b3a42afSjmmv 6316b3a42afSjmmvat_prev= 6326b3a42afSjmmvfor at_option 6336b3a42afSjmmvdo 6346b3a42afSjmmv # If the previous option needs an argument, assign it. 6356b3a42afSjmmv if test -n "$at_prev"; then 6366b3a42afSjmmv at_option=$at_prev=$at_option 6376b3a42afSjmmv at_prev= 6386b3a42afSjmmv fi 6396b3a42afSjmmv 6406b3a42afSjmmv case $at_option in 6416b3a42afSjmmv *=?*) at_optarg=`expr "X$at_option" : '[^=]*=\(.*\)'` ;; 6426b3a42afSjmmv *) at_optarg= ;; 6436b3a42afSjmmv esac 6446b3a42afSjmmv 6456b3a42afSjmmv # Accept the important Cygnus configure options, so we can diagnose typos. 6466b3a42afSjmmv 6476b3a42afSjmmv case $at_option in 6486b3a42afSjmmv --help | -h ) 6496b3a42afSjmmv at_help_p=: 6506b3a42afSjmmv ;; 6516b3a42afSjmmv 6526b3a42afSjmmv --list | -l ) 6536b3a42afSjmmv at_list_p=: 6546b3a42afSjmmv ;; 6556b3a42afSjmmv 6566b3a42afSjmmv --version | -V ) 6576b3a42afSjmmv at_version_p=: 6586b3a42afSjmmv ;; 6596b3a42afSjmmv 6606b3a42afSjmmv --clean | -c ) 6616b3a42afSjmmv at_clean=: 6626b3a42afSjmmv ;; 6636b3a42afSjmmv 6646b3a42afSjmmv --color ) 6656b3a42afSjmmv at_color=always 6666b3a42afSjmmv ;; 6676b3a42afSjmmv --color=* ) 6686b3a42afSjmmv case $at_optarg in 6696b3a42afSjmmv no | never | none) at_color=never ;; 6706b3a42afSjmmv auto | tty | if-tty) at_color=auto ;; 6716b3a42afSjmmv always | yes | force) at_color=always ;; 6726b3a42afSjmmv *) at_optname=`echo " $at_option" | sed 's/^ //; s/=.*//'` 6736b3a42afSjmmv as_fn_error $? "unrecognized argument to $at_optname: $at_optarg" ;; 6746b3a42afSjmmv esac 6756b3a42afSjmmv ;; 6766b3a42afSjmmv 6776b3a42afSjmmv --debug | -d ) 6786b3a42afSjmmv at_debug_p=: 6796b3a42afSjmmv ;; 6806b3a42afSjmmv 6816b3a42afSjmmv --errexit | -e ) 6826b3a42afSjmmv at_debug_p=: 6836b3a42afSjmmv at_errexit_p=: 6846b3a42afSjmmv ;; 6856b3a42afSjmmv 6866b3a42afSjmmv --verbose | -v ) 6876b3a42afSjmmv at_verbose=; at_quiet=: 6886b3a42afSjmmv ;; 6896b3a42afSjmmv 6906b3a42afSjmmv --trace | -x ) 6916b3a42afSjmmv at_traceon='set -x' 6926b3a42afSjmmv at_trace_echo=echo 6936b3a42afSjmmv at_check_filter_trace=at_fn_filter_trace 6946b3a42afSjmmv ;; 6956b3a42afSjmmv 6966b3a42afSjmmv [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9]) 6976b3a42afSjmmv at_fn_validate_ranges at_option 6986b3a42afSjmmv as_fn_append at_groups "$at_option$as_nl" 6996b3a42afSjmmv ;; 7006b3a42afSjmmv 7016b3a42afSjmmv # Ranges 7026b3a42afSjmmv [0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-) 7036b3a42afSjmmv at_range_start=`echo $at_option |tr -d X-` 7046b3a42afSjmmv at_fn_validate_ranges at_range_start 7056b3a42afSjmmv at_range=`$as_echo "$at_groups_all" | \ 7066b3a42afSjmmv sed -ne '/^'$at_range_start'$/,$p'` 7076b3a42afSjmmv as_fn_append at_groups "$at_range$as_nl" 7086b3a42afSjmmv ;; 7096b3a42afSjmmv 7106b3a42afSjmmv -[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9]) 7116b3a42afSjmmv at_range_end=`echo $at_option |tr -d X-` 7126b3a42afSjmmv at_fn_validate_ranges at_range_end 7136b3a42afSjmmv at_range=`$as_echo "$at_groups_all" | \ 7146b3a42afSjmmv sed -ne '1,/^'$at_range_end'$/p'` 7156b3a42afSjmmv as_fn_append at_groups "$at_range$as_nl" 7166b3a42afSjmmv ;; 7176b3a42afSjmmv 7186b3a42afSjmmv [0-9]-[0-9] | [0-9]-[0-9][0-9] | [0-9]-[0-9][0-9][0-9] | \ 7196b3a42afSjmmv [0-9]-[0-9][0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9] | \ 7206b3a42afSjmmv [0-9][0-9]-[0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9][0-9][0-9] | \ 7216b3a42afSjmmv [0-9][0-9][0-9]-[0-9][0-9][0-9] | \ 7226b3a42afSjmmv [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] | \ 7236b3a42afSjmmv [0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] ) 7246b3a42afSjmmv at_range_start=`expr $at_option : '\(.*\)-'` 7256b3a42afSjmmv at_range_end=`expr $at_option : '.*-\(.*\)'` 7266b3a42afSjmmv if test $at_range_start -gt $at_range_end; then 7276b3a42afSjmmv at_tmp=$at_range_end 7286b3a42afSjmmv at_range_end=$at_range_start 7296b3a42afSjmmv at_range_start=$at_tmp 7306b3a42afSjmmv fi 7316b3a42afSjmmv at_fn_validate_ranges at_range_start at_range_end 7326b3a42afSjmmv at_range=`$as_echo "$at_groups_all" | \ 7336b3a42afSjmmv sed -ne '/^'$at_range_start'$/,/^'$at_range_end'$/p'` 7346b3a42afSjmmv as_fn_append at_groups "$at_range$as_nl" 7356b3a42afSjmmv ;; 7366b3a42afSjmmv 7376b3a42afSjmmv # Directory selection. 7386b3a42afSjmmv --directory | -C ) 7396b3a42afSjmmv at_prev=--directory 7406b3a42afSjmmv ;; 7416b3a42afSjmmv --directory=* ) 7426b3a42afSjmmv at_change_dir=: 7436b3a42afSjmmv at_dir=$at_optarg 7446b3a42afSjmmv if test x- = "x$at_dir" ; then 7456b3a42afSjmmv at_dir=./- 7466b3a42afSjmmv fi 7476b3a42afSjmmv ;; 7486b3a42afSjmmv 7496b3a42afSjmmv # Parallel execution. 7506b3a42afSjmmv --jobs | -j ) 7516b3a42afSjmmv at_jobs=0 7526b3a42afSjmmv ;; 7536b3a42afSjmmv --jobs=* | -j[0-9]* ) 7546b3a42afSjmmv if test -n "$at_optarg"; then 7556b3a42afSjmmv at_jobs=$at_optarg 7566b3a42afSjmmv else 7576b3a42afSjmmv at_jobs=`expr X$at_option : 'X-j\(.*\)'` 7586b3a42afSjmmv fi 7596b3a42afSjmmv case $at_jobs in *[!0-9]*) 7606b3a42afSjmmv at_optname=`echo " $at_option" | sed 's/^ //; s/[0-9=].*//'` 7616b3a42afSjmmv as_fn_error $? "non-numeric argument to $at_optname: $at_jobs" ;; 7626b3a42afSjmmv esac 7636b3a42afSjmmv ;; 7646b3a42afSjmmv 7656b3a42afSjmmv # Keywords. 7666b3a42afSjmmv --keywords | -k ) 7676b3a42afSjmmv at_prev=--keywords 7686b3a42afSjmmv ;; 7696b3a42afSjmmv --keywords=* ) 7706b3a42afSjmmv at_groups_selected=$at_help_all 7716b3a42afSjmmv at_save_IFS=$IFS 7726b3a42afSjmmv IFS=, 7736b3a42afSjmmv set X $at_optarg 7746b3a42afSjmmv shift 7756b3a42afSjmmv IFS=$at_save_IFS 7766b3a42afSjmmv for at_keyword 7776b3a42afSjmmv do 7786b3a42afSjmmv at_invert= 7796b3a42afSjmmv case $at_keyword in 7806b3a42afSjmmv '!'*) 7816b3a42afSjmmv at_invert="-v" 7826b3a42afSjmmv at_keyword=`expr "X$at_keyword" : 'X!\(.*\)'` 7836b3a42afSjmmv ;; 7846b3a42afSjmmv esac 7856b3a42afSjmmv # It is on purpose that we match the test group titles too. 7866b3a42afSjmmv at_groups_selected=`$as_echo "$at_groups_selected" | 7876b3a42afSjmmv grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"` 7886b3a42afSjmmv done 7896b3a42afSjmmv # Smash the keywords. 7906b3a42afSjmmv at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//'` 7916b3a42afSjmmv as_fn_append at_groups "$at_groups_selected$as_nl" 7926b3a42afSjmmv ;; 7936b3a42afSjmmv --recheck) 7946b3a42afSjmmv at_recheck=: 7956b3a42afSjmmv ;; 7966b3a42afSjmmv 7976b3a42afSjmmv *=*) 7986b3a42afSjmmv at_envvar=`expr "x$at_option" : 'x\([^=]*\)='` 7996b3a42afSjmmv # Reject names that are not valid shell variable names. 8006b3a42afSjmmv case $at_envvar in 8016b3a42afSjmmv '' | [0-9]* | *[!_$as_cr_alnum]* ) 8026b3a42afSjmmv as_fn_error $? "invalid variable name: \`$at_envvar'" ;; 8036b3a42afSjmmv esac 8046b3a42afSjmmv at_value=`$as_echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"` 8056b3a42afSjmmv # Export now, but save eval for later and for debug scripts. 8066b3a42afSjmmv export $at_envvar 8076b3a42afSjmmv as_fn_append at_debug_args " $at_envvar='$at_value'" 8086b3a42afSjmmv ;; 8096b3a42afSjmmv 8106b3a42afSjmmv *) $as_echo "$as_me: invalid option: $at_option" >&2 8116b3a42afSjmmv $as_echo "Try \`$0 --help' for more information." >&2 8126b3a42afSjmmv exit 1 8136b3a42afSjmmv ;; 8146b3a42afSjmmv esac 8156b3a42afSjmmvdone 8166b3a42afSjmmv 8176b3a42afSjmmv# Verify our last option didn't require an argument 8186b3a42afSjmmvif test -n "$at_prev"; then : 8196b3a42afSjmmv as_fn_error $? "\`$at_prev' requires an argument" 8206b3a42afSjmmvfi 8216b3a42afSjmmv 8226b3a42afSjmmv# The file containing the suite. 8236b3a42afSjmmvat_suite_log=$at_dir/$as_me.log 8246b3a42afSjmmv 8256b3a42afSjmmv# Selected test groups. 8266b3a42afSjmmvif test -z "$at_groups$at_recheck"; then 8276b3a42afSjmmv at_groups=$at_groups_all 8286b3a42afSjmmvelse 8296b3a42afSjmmv if test -n "$at_recheck" && test -r "$at_suite_log"; then 8306b3a42afSjmmv at_oldfails=`sed -n ' 8316b3a42afSjmmv /^Failed tests:$/,/^Skipped tests:$/{ 8326b3a42afSjmmv s/^[ ]*\([1-9][0-9]*\):.*/\1/p 8336b3a42afSjmmv } 8346b3a42afSjmmv /^Unexpected passes:$/,/^## Detailed failed tests/{ 8356b3a42afSjmmv s/^[ ]*\([1-9][0-9]*\):.*/\1/p 8366b3a42afSjmmv } 8376b3a42afSjmmv /^## Detailed failed tests/q 8386b3a42afSjmmv ' "$at_suite_log"` 8396b3a42afSjmmv as_fn_append at_groups "$at_oldfails$as_nl" 8406b3a42afSjmmv fi 8416b3a42afSjmmv # Sort the tests, removing duplicates. 8426b3a42afSjmmv at_groups=`$as_echo "$at_groups" | sort -nu | sed '/^$/d'` 8436b3a42afSjmmvfi 8446b3a42afSjmmv 8456b3a42afSjmmvif test x"$at_color" = xalways \ 8466b3a42afSjmmv || { test x"$at_color" = xauto && test -t 1; }; then 8476b3a42afSjmmv at_red=`printf '\033[0;31m'` 8486b3a42afSjmmv at_grn=`printf '\033[0;32m'` 8496b3a42afSjmmv at_lgn=`printf '\033[1;32m'` 8506b3a42afSjmmv at_blu=`printf '\033[1;34m'` 8516b3a42afSjmmv at_std=`printf '\033[m'` 8526b3a42afSjmmvelse 8536b3a42afSjmmv at_red= at_grn= at_lgn= at_blu= at_std= 8546b3a42afSjmmvfi 8556b3a42afSjmmv 8566b3a42afSjmmv# Help message. 8576b3a42afSjmmvif $at_help_p; then 8586b3a42afSjmmv cat <<_ATEOF || at_write_fail=1 8596b3a42afSjmmvUsage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS] 8606b3a42afSjmmv 8616b3a42afSjmmvRun all the tests, or the selected TESTS, given by numeric ranges, and 8626b3a42afSjmmvsave a detailed log file. Upon failure, create debugging scripts. 8636b3a42afSjmmv 8646b3a42afSjmmvDo not change environment variables directly. Instead, set them via 8656b3a42afSjmmvcommand line arguments. Set \`AUTOTEST_PATH' to select the executables 8666b3a42afSjmmvto exercise. Each relative directory is expanded as build and source 8676b3a42afSjmmvdirectories relative to the top level of this distribution. 8686b3a42afSjmmvE.g., from within the build directory /tmp/foo-1.0, invoking this: 8696b3a42afSjmmv 8706b3a42afSjmmv $ $0 AUTOTEST_PATH=bin 8716b3a42afSjmmv 8726b3a42afSjmmvis equivalent to the following, assuming the source directory is /src/foo-1.0: 8736b3a42afSjmmv 8746b3a42afSjmmv PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH $0 8756b3a42afSjmmv_ATEOF 8766b3a42afSjmmvcat <<_ATEOF || at_write_fail=1 8776b3a42afSjmmv 8786b3a42afSjmmvOperation modes: 8796b3a42afSjmmv -h, --help print the help message, then exit 8806b3a42afSjmmv -V, --version print version number, then exit 8816b3a42afSjmmv -c, --clean remove all the files this test suite might create and exit 8826b3a42afSjmmv -l, --list describes all the tests, or the selected TESTS 8836b3a42afSjmmv_ATEOF 8846b3a42afSjmmvcat <<_ATEOF || at_write_fail=1 8856b3a42afSjmmv 8866b3a42afSjmmvExecution tuning: 8876b3a42afSjmmv -C, --directory=DIR 8886b3a42afSjmmv change to directory DIR before starting 8896b3a42afSjmmv --color[=never|auto|always] 8906b3a42afSjmmv enable colored test results on terminal, or always 8916b3a42afSjmmv -j, --jobs[=N] 8926b3a42afSjmmv Allow N jobs at once; infinite jobs with no arg (default 1) 8936b3a42afSjmmv -k, --keywords=KEYWORDS 8946b3a42afSjmmv select the tests matching all the comma-separated KEYWORDS 8956b3a42afSjmmv multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD 8966b3a42afSjmmv --recheck select all tests that failed or passed unexpectedly last time 8976b3a42afSjmmv -e, --errexit abort as soon as a test fails; implies --debug 8986b3a42afSjmmv -v, --verbose force more detailed output 8996b3a42afSjmmv default for debugging scripts 9006b3a42afSjmmv -d, --debug inhibit clean up and top-level logging 9016b3a42afSjmmv default for debugging scripts 9026b3a42afSjmmv -x, --trace enable tests shell tracing 9036b3a42afSjmmv_ATEOF 9046b3a42afSjmmvcat <<_ATEOF || at_write_fail=1 9056b3a42afSjmmv 9066b3a42afSjmmvReport bugs to <kyua-discuss@googlegroups.com>. 9076b3a42afSjmmv_ATEOF 9086b3a42afSjmmv exit $at_write_fail 9096b3a42afSjmmvfi 9106b3a42afSjmmv 9116b3a42afSjmmv# List of tests. 9126b3a42afSjmmvif $at_list_p; then 9136b3a42afSjmmv cat <<_ATEOF || at_write_fail=1 914*f39f9c9bSjmmvKyua - Command line interface 0.7 test suite: bootstrapping tests test groups: 9156b3a42afSjmmv 9166b3a42afSjmmv NUM: FILE-NAME:LINE TEST-GROUP-NAME 9176b3a42afSjmmv KEYWORDS 9186b3a42afSjmmv 9196b3a42afSjmmv_ATEOF 9206b3a42afSjmmv # Pass an empty line as separator between selected groups and help. 9216b3a42afSjmmv $as_echo "$at_groups$as_nl$as_nl$at_help_all" | 9226b3a42afSjmmv awk 'NF == 1 && FS != ";" { 9236b3a42afSjmmv selected[$ 1] = 1 9246b3a42afSjmmv next 9256b3a42afSjmmv } 9266b3a42afSjmmv /^$/ { FS = ";" } 9276b3a42afSjmmv NF > 0 { 9286b3a42afSjmmv if (selected[$ 1]) { 9296b3a42afSjmmv printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3 9306b3a42afSjmmv if ($ 4) { 9316b3a42afSjmmv lmax = 79 9326b3a42afSjmmv indent = " " 9336b3a42afSjmmv line = indent 9346b3a42afSjmmv len = length (line) 9356b3a42afSjmmv n = split ($ 4, a, " ") 9366b3a42afSjmmv for (i = 1; i <= n; i++) { 9376b3a42afSjmmv l = length (a[i]) + 1 9386b3a42afSjmmv if (i > 1 && len + l > lmax) { 9396b3a42afSjmmv print line 9406b3a42afSjmmv line = indent " " a[i] 9416b3a42afSjmmv len = length (line) 9426b3a42afSjmmv } else { 9436b3a42afSjmmv line = line " " a[i] 9446b3a42afSjmmv len += l 9456b3a42afSjmmv } 9466b3a42afSjmmv } 9476b3a42afSjmmv if (n) 9486b3a42afSjmmv print line 9496b3a42afSjmmv } 9506b3a42afSjmmv } 9516b3a42afSjmmv }' || at_write_fail=1 9526b3a42afSjmmv exit $at_write_fail 9536b3a42afSjmmvfi 9546b3a42afSjmmvif $at_version_p; then 955*f39f9c9bSjmmv $as_echo "$as_me (Kyua - Command line interface 0.7)" && 9566b3a42afSjmmv cat <<\_ATEOF || at_write_fail=1 9576b3a42afSjmmv 9586b3a42afSjmmvCopyright (C) 2012 Free Software Foundation, Inc. 9596b3a42afSjmmvThis test suite is free software; the Free Software Foundation gives 9606b3a42afSjmmvunlimited permission to copy, distribute and modify it. 9616b3a42afSjmmv_ATEOF 9626b3a42afSjmmv exit $at_write_fail 9636b3a42afSjmmvfi 9646b3a42afSjmmv 9656b3a42afSjmmv# Should we print banners? Yes if more than one test is run. 9666b3a42afSjmmvcase $at_groups in #( 9676b3a42afSjmmv *$as_nl* ) 9686b3a42afSjmmv at_print_banners=: ;; #( 9696b3a42afSjmmv * ) at_print_banners=false ;; 9706b3a42afSjmmvesac 9716b3a42afSjmmv# Text for banner N, set to a single space once printed. 9726b3a42afSjmmv 9736b3a42afSjmmv# Take any -C into account. 9746b3a42afSjmmvif $at_change_dir ; then 9756b3a42afSjmmv test x != "x$at_dir" && cd "$at_dir" \ 9766b3a42afSjmmv || as_fn_error $? "unable to change directory" 9776b3a42afSjmmv at_dir=`pwd` 9786b3a42afSjmmvfi 9796b3a42afSjmmv 9806b3a42afSjmmv# Load the config files for any default variable assignments. 9816b3a42afSjmmvfor at_file in atconfig atlocal 9826b3a42afSjmmvdo 9836b3a42afSjmmv test -r $at_file || continue 9846b3a42afSjmmv . ./$at_file || as_fn_error $? "invalid content: $at_file" 9856b3a42afSjmmvdone 9866b3a42afSjmmv 9876b3a42afSjmmv# Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix: 9886b3a42afSjmmv: "${at_top_build_prefix=$at_top_builddir}" 9896b3a42afSjmmv 9906b3a42afSjmmv# Perform any assignments requested during argument parsing. 9916b3a42afSjmmveval "$at_debug_args" 9926b3a42afSjmmv 9936b3a42afSjmmv# atconfig delivers names relative to the directory the test suite is 9946b3a42afSjmmv# in, but the groups themselves are run in testsuite-dir/group-dir. 9956b3a42afSjmmvif test -n "$at_top_srcdir"; then 9966b3a42afSjmmv builddir=../.. 9976b3a42afSjmmv for at_dir_var in srcdir top_srcdir top_build_prefix 9986b3a42afSjmmv do 9996b3a42afSjmmv eval at_val=\$at_$at_dir_var 10006b3a42afSjmmv case $at_val in 10016b3a42afSjmmv [\\/$]* | ?:[\\/]* ) at_prefix= ;; 10026b3a42afSjmmv *) at_prefix=../../ ;; 10036b3a42afSjmmv esac 10046b3a42afSjmmv eval "$at_dir_var=\$at_prefix\$at_val" 10056b3a42afSjmmv done 10066b3a42afSjmmvfi 10076b3a42afSjmmv 10086b3a42afSjmmv## -------------------- ## 10096b3a42afSjmmv## Directory structure. ## 10106b3a42afSjmmv## -------------------- ## 10116b3a42afSjmmv 10126b3a42afSjmmv# This is the set of directories and files used by this script 10136b3a42afSjmmv# (non-literals are capitalized): 10146b3a42afSjmmv# 10156b3a42afSjmmv# TESTSUITE - the testsuite 10166b3a42afSjmmv# TESTSUITE.log - summarizes the complete testsuite run 10176b3a42afSjmmv# TESTSUITE.dir/ - created during a run, remains after -d or failed test 10186b3a42afSjmmv# + at-groups/ - during a run: status of all groups in run 10196b3a42afSjmmv# | + NNN/ - during a run: meta-data about test group NNN 10206b3a42afSjmmv# | | + check-line - location (source file and line) of current AT_CHECK 10216b3a42afSjmmv# | | + status - exit status of current AT_CHECK 10226b3a42afSjmmv# | | + stdout - stdout of current AT_CHECK 10236b3a42afSjmmv# | | + stder1 - stderr, including trace 10246b3a42afSjmmv# | | + stderr - stderr, with trace filtered out 10256b3a42afSjmmv# | | + test-source - portion of testsuite that defines group 10266b3a42afSjmmv# | | + times - timestamps for computing duration 10276b3a42afSjmmv# | | + pass - created if group passed 10286b3a42afSjmmv# | | + xpass - created if group xpassed 10296b3a42afSjmmv# | | + fail - created if group failed 10306b3a42afSjmmv# | | + xfail - created if group xfailed 10316b3a42afSjmmv# | | + skip - created if group skipped 10326b3a42afSjmmv# + at-stop - during a run: end the run if this file exists 10336b3a42afSjmmv# + at-source-lines - during a run: cache of TESTSUITE line numbers for extraction 10346b3a42afSjmmv# + 0..NNN/ - created for each group NNN, remains after -d or failed test 10356b3a42afSjmmv# | + TESTSUITE.log - summarizes the group results 10366b3a42afSjmmv# | + ... - files created during the group 10376b3a42afSjmmv 10386b3a42afSjmmv# The directory the whole suite works in. 10396b3a42afSjmmv# Should be absolute to let the user `cd' at will. 10406b3a42afSjmmvat_suite_dir=$at_dir/$as_me.dir 10416b3a42afSjmmv# The file containing the suite ($at_dir might have changed since earlier). 10426b3a42afSjmmvat_suite_log=$at_dir/$as_me.log 10436b3a42afSjmmv# The directory containing helper files per test group. 10446b3a42afSjmmvat_helper_dir=$at_suite_dir/at-groups 10456b3a42afSjmmv# Stop file: if it exists, do not start new jobs. 10466b3a42afSjmmvat_stop_file=$at_suite_dir/at-stop 10476b3a42afSjmmv# The fifo used for the job dispatcher. 10486b3a42afSjmmvat_job_fifo=$at_suite_dir/at-job-fifo 10496b3a42afSjmmv 10506b3a42afSjmmvif $at_clean; then 10516b3a42afSjmmv test -d "$at_suite_dir" && 10526b3a42afSjmmv find "$at_suite_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; 10536b3a42afSjmmv rm -f -r "$at_suite_dir" "$at_suite_log" 10546b3a42afSjmmv exit $? 10556b3a42afSjmmvfi 10566b3a42afSjmmv 10576b3a42afSjmmv# Don't take risks: use only absolute directories in PATH. 10586b3a42afSjmmv# 10596b3a42afSjmmv# For stand-alone test suites (ie. atconfig was not found), 10606b3a42afSjmmv# AUTOTEST_PATH is relative to `.'. 10616b3a42afSjmmv# 10626b3a42afSjmmv# For embedded test suites, AUTOTEST_PATH is relative to the top level 10636b3a42afSjmmv# of the package. Then expand it into build/src parts, since users 10646b3a42afSjmmv# may create executables in both places. 10656b3a42afSjmmvAUTOTEST_PATH=`$as_echo "$AUTOTEST_PATH" | sed "s|:|$PATH_SEPARATOR|g"` 10666b3a42afSjmmvat_path= 10676b3a42afSjmmvas_save_IFS=$IFS; IFS=$PATH_SEPARATOR 10686b3a42afSjmmvfor as_dir in $AUTOTEST_PATH $PATH 10696b3a42afSjmmvdo 10706b3a42afSjmmv IFS=$as_save_IFS 10716b3a42afSjmmv test -z "$as_dir" && as_dir=. 10726b3a42afSjmmv test -n "$at_path" && as_fn_append at_path $PATH_SEPARATOR 10736b3a42afSjmmvcase $as_dir in 10746b3a42afSjmmv [\\/]* | ?:[\\/]* ) 10756b3a42afSjmmv as_fn_append at_path "$as_dir" 10766b3a42afSjmmv ;; 10776b3a42afSjmmv * ) 10786b3a42afSjmmv if test -z "$at_top_build_prefix"; then 10796b3a42afSjmmv # Stand-alone test suite. 10806b3a42afSjmmv as_fn_append at_path "$as_dir" 10816b3a42afSjmmv else 10826b3a42afSjmmv # Embedded test suite. 10836b3a42afSjmmv as_fn_append at_path "$at_top_build_prefix$as_dir$PATH_SEPARATOR" 10846b3a42afSjmmv as_fn_append at_path "$at_top_srcdir/$as_dir" 10856b3a42afSjmmv fi 10866b3a42afSjmmv ;; 10876b3a42afSjmmvesac 10886b3a42afSjmmv done 10896b3a42afSjmmvIFS=$as_save_IFS 10906b3a42afSjmmv 10916b3a42afSjmmv 10926b3a42afSjmmv# Now build and simplify PATH. 10936b3a42afSjmmv# 10946b3a42afSjmmv# There might be directories that don't exist, but don't redirect 10956b3a42afSjmmv# builtins' (eg., cd) stderr directly: Ultrix's sh hates that. 10966b3a42afSjmmvat_new_path= 10976b3a42afSjmmvas_save_IFS=$IFS; IFS=$PATH_SEPARATOR 10986b3a42afSjmmvfor as_dir in $at_path 10996b3a42afSjmmvdo 11006b3a42afSjmmv IFS=$as_save_IFS 11016b3a42afSjmmv test -z "$as_dir" && as_dir=. 11026b3a42afSjmmv test -d "$as_dir" || continue 11036b3a42afSjmmvcase $as_dir in 11046b3a42afSjmmv [\\/]* | ?:[\\/]* ) ;; 11056b3a42afSjmmv * ) as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` ;; 11066b3a42afSjmmvesac 11076b3a42afSjmmvcase $PATH_SEPARATOR$at_new_path$PATH_SEPARATOR in 11086b3a42afSjmmv *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR*) ;; 11096b3a42afSjmmv $PATH_SEPARATOR$PATH_SEPARATOR) at_new_path=$as_dir ;; 11106b3a42afSjmmv *) as_fn_append at_new_path "$PATH_SEPARATOR$as_dir" ;; 11116b3a42afSjmmvesac 11126b3a42afSjmmv done 11136b3a42afSjmmvIFS=$as_save_IFS 11146b3a42afSjmmv 11156b3a42afSjmmvPATH=$at_new_path 11166b3a42afSjmmvexport PATH 11176b3a42afSjmmv 11186b3a42afSjmmv# Setting up the FDs. 11196b3a42afSjmmv 11206b3a42afSjmmv 11216b3a42afSjmmv 11226b3a42afSjmmv# 5 is the log file. Not to be overwritten if `-d'. 11236b3a42afSjmmvif $at_debug_p; then 11246b3a42afSjmmv at_suite_log=/dev/null 11256b3a42afSjmmvelse 11266b3a42afSjmmv : >"$at_suite_log" 11276b3a42afSjmmvfi 11286b3a42afSjmmvexec 5>>"$at_suite_log" 11296b3a42afSjmmv 11306b3a42afSjmmv# Banners and logs. 11316b3a42afSjmmv$as_echo "## ------------------------------------------------------------------ ## 1132*f39f9c9bSjmmv## Kyua - Command line interface 0.7 test suite: bootstrapping tests. ## 11336b3a42afSjmmv## ------------------------------------------------------------------ ##" 11346b3a42afSjmmv{ 11356b3a42afSjmmv $as_echo "## ------------------------------------------------------------------ ## 1136*f39f9c9bSjmmv## Kyua - Command line interface 0.7 test suite: bootstrapping tests. ## 11376b3a42afSjmmv## ------------------------------------------------------------------ ##" 11386b3a42afSjmmv echo 11396b3a42afSjmmv 11406b3a42afSjmmv $as_echo "$as_me: command line was:" 11416b3a42afSjmmv $as_echo " \$ $0 $at_cli_args" 11426b3a42afSjmmv echo 11436b3a42afSjmmv 11446b3a42afSjmmv # If ChangeLog exists, list a few lines in case it might help determining 11456b3a42afSjmmv # the exact version. 11466b3a42afSjmmv if test -n "$at_top_srcdir" && test -f "$at_top_srcdir/ChangeLog"; then 11476b3a42afSjmmv $as_echo "## ---------- ## 11486b3a42afSjmmv## ChangeLog. ## 11496b3a42afSjmmv## ---------- ##" 11506b3a42afSjmmv echo 11516b3a42afSjmmv sed 's/^/| /;10q' "$at_top_srcdir/ChangeLog" 11526b3a42afSjmmv echo 11536b3a42afSjmmv fi 11546b3a42afSjmmv 11556b3a42afSjmmv { 11566b3a42afSjmmvcat <<_ASUNAME 11576b3a42afSjmmv## --------- ## 11586b3a42afSjmmv## Platform. ## 11596b3a42afSjmmv## --------- ## 11606b3a42afSjmmv 11616b3a42afSjmmvhostname = `(hostname || uname -n) 2>/dev/null | sed 1q` 11626b3a42afSjmmvuname -m = `(uname -m) 2>/dev/null || echo unknown` 11636b3a42afSjmmvuname -r = `(uname -r) 2>/dev/null || echo unknown` 11646b3a42afSjmmvuname -s = `(uname -s) 2>/dev/null || echo unknown` 11656b3a42afSjmmvuname -v = `(uname -v) 2>/dev/null || echo unknown` 11666b3a42afSjmmv 11676b3a42afSjmmv/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` 11686b3a42afSjmmv/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` 11696b3a42afSjmmv 11706b3a42afSjmmv/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` 11716b3a42afSjmmv/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` 11726b3a42afSjmmv/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` 11736b3a42afSjmmv/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` 11746b3a42afSjmmv/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` 11756b3a42afSjmmv/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` 11766b3a42afSjmmv/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` 11776b3a42afSjmmv 11786b3a42afSjmmv_ASUNAME 11796b3a42afSjmmv 11806b3a42afSjmmvas_save_IFS=$IFS; IFS=$PATH_SEPARATOR 11816b3a42afSjmmvfor as_dir in $PATH 11826b3a42afSjmmvdo 11836b3a42afSjmmv IFS=$as_save_IFS 11846b3a42afSjmmv test -z "$as_dir" && as_dir=. 11856b3a42afSjmmv $as_echo "PATH: $as_dir" 11866b3a42afSjmmv done 11876b3a42afSjmmvIFS=$as_save_IFS 11886b3a42afSjmmv 11896b3a42afSjmmv} 11906b3a42afSjmmv echo 11916b3a42afSjmmv 11926b3a42afSjmmv # Contents of the config files. 11936b3a42afSjmmv for at_file in atconfig atlocal 11946b3a42afSjmmv do 11956b3a42afSjmmv test -r $at_file || continue 11966b3a42afSjmmv $as_echo "$as_me: $at_file:" 11976b3a42afSjmmv sed 's/^/| /' $at_file 11986b3a42afSjmmv echo 11996b3a42afSjmmv done 12006b3a42afSjmmv} >&5 12016b3a42afSjmmv 12026b3a42afSjmmv 12036b3a42afSjmmv## ------------------------- ## 12046b3a42afSjmmv## Autotest shell functions. ## 12056b3a42afSjmmv## ------------------------- ## 12066b3a42afSjmmv 12076b3a42afSjmmv# at_fn_banner NUMBER 12086b3a42afSjmmv# ------------------- 12096b3a42afSjmmv# Output banner NUMBER, provided the testsuite is running multiple groups and 12106b3a42afSjmmv# this particular banner has not yet been printed. 12116b3a42afSjmmvat_fn_banner () 12126b3a42afSjmmv{ 12136b3a42afSjmmv $at_print_banners || return 0 12146b3a42afSjmmv eval at_banner_text=\$at_banner_text_$1 12156b3a42afSjmmv test "x$at_banner_text" = "x " && return 0 12166b3a42afSjmmv eval "at_banner_text_$1=\" \"" 12176b3a42afSjmmv if test -z "$at_banner_text"; then 12186b3a42afSjmmv $at_first || echo 12196b3a42afSjmmv else 12206b3a42afSjmmv $as_echo "$as_nl$at_banner_text$as_nl" 12216b3a42afSjmmv fi 12226b3a42afSjmmv} # at_fn_banner 12236b3a42afSjmmv 12246b3a42afSjmmv# at_fn_check_prepare_notrace REASON LINE 12256b3a42afSjmmv# --------------------------------------- 12266b3a42afSjmmv# Perform AT_CHECK preparations for the command at LINE for an untraceable 12276b3a42afSjmmv# command; REASON is the reason for disabling tracing. 12286b3a42afSjmmvat_fn_check_prepare_notrace () 12296b3a42afSjmmv{ 12306b3a42afSjmmv $at_trace_echo "Not enabling shell tracing (command contains $1)" 12316b3a42afSjmmv $as_echo "$2" >"$at_check_line_file" 12326b3a42afSjmmv at_check_trace=: at_check_filter=: 12336b3a42afSjmmv : >"$at_stdout"; : >"$at_stderr" 12346b3a42afSjmmv} 12356b3a42afSjmmv 12366b3a42afSjmmv# at_fn_check_prepare_trace LINE 12376b3a42afSjmmv# ------------------------------ 12386b3a42afSjmmv# Perform AT_CHECK preparations for the command at LINE for a traceable 12396b3a42afSjmmv# command. 12406b3a42afSjmmvat_fn_check_prepare_trace () 12416b3a42afSjmmv{ 12426b3a42afSjmmv $as_echo "$1" >"$at_check_line_file" 12436b3a42afSjmmv at_check_trace=$at_traceon at_check_filter=$at_check_filter_trace 12446b3a42afSjmmv : >"$at_stdout"; : >"$at_stderr" 12456b3a42afSjmmv} 12466b3a42afSjmmv 12476b3a42afSjmmv# at_fn_check_prepare_dynamic COMMAND LINE 12486b3a42afSjmmv# ---------------------------------------- 12496b3a42afSjmmv# Decide if COMMAND at LINE is traceable at runtime, and call the appropriate 12506b3a42afSjmmv# preparation function. 12516b3a42afSjmmvat_fn_check_prepare_dynamic () 12526b3a42afSjmmv{ 12536b3a42afSjmmv case $1 in 12546b3a42afSjmmv *$as_nl*) 12556b3a42afSjmmv at_fn_check_prepare_notrace 'an embedded newline' "$2" ;; 12566b3a42afSjmmv *) 12576b3a42afSjmmv at_fn_check_prepare_trace "$2" ;; 12586b3a42afSjmmv esac 12596b3a42afSjmmv} 12606b3a42afSjmmv 12616b3a42afSjmmv# at_fn_filter_trace 12626b3a42afSjmmv# ------------------ 12636b3a42afSjmmv# Remove the lines in the file "$at_stderr" generated by "set -x" and print 12646b3a42afSjmmv# them to stderr. 12656b3a42afSjmmvat_fn_filter_trace () 12666b3a42afSjmmv{ 12676b3a42afSjmmv mv "$at_stderr" "$at_stder1" 12686b3a42afSjmmv grep '^ *+' "$at_stder1" >&2 12696b3a42afSjmmv grep -v '^ *+' "$at_stder1" >"$at_stderr" 12706b3a42afSjmmv} 12716b3a42afSjmmv 12726b3a42afSjmmv# at_fn_log_failure FILE-LIST 12736b3a42afSjmmv# --------------------------- 12746b3a42afSjmmv# Copy the files in the list on stdout with a "> " prefix, and exit the shell 12756b3a42afSjmmv# with a failure exit code. 12766b3a42afSjmmvat_fn_log_failure () 12776b3a42afSjmmv{ 12786b3a42afSjmmv for file 12796b3a42afSjmmv do $as_echo "$file:"; sed 's/^/> /' "$file"; done 12806b3a42afSjmmv echo 1 > "$at_status_file" 12816b3a42afSjmmv exit 1 12826b3a42afSjmmv} 12836b3a42afSjmmv 12846b3a42afSjmmv# at_fn_check_skip EXIT-CODE LINE 12856b3a42afSjmmv# ------------------------------- 12866b3a42afSjmmv# Check whether EXIT-CODE is a special exit code (77 or 99), and if so exit 12876b3a42afSjmmv# the test group subshell with that same exit code. Use LINE in any report 12886b3a42afSjmmv# about test failure. 12896b3a42afSjmmvat_fn_check_skip () 12906b3a42afSjmmv{ 12916b3a42afSjmmv case $1 in 12926b3a42afSjmmv 99) echo 99 > "$at_status_file"; at_failed=: 12936b3a42afSjmmv $as_echo "$2: hard failure"; exit 99;; 12946b3a42afSjmmv 77) echo 77 > "$at_status_file"; exit 77;; 12956b3a42afSjmmv esac 12966b3a42afSjmmv} 12976b3a42afSjmmv 12986b3a42afSjmmv# at_fn_check_status EXPECTED EXIT-CODE LINE 12996b3a42afSjmmv# ------------------------------------------ 13006b3a42afSjmmv# Check whether EXIT-CODE is the EXPECTED exit code, and if so do nothing. 13016b3a42afSjmmv# Otherwise, if it is 77 or 99, exit the test group subshell with that same 13026b3a42afSjmmv# exit code; if it is anything else print an error message referring to LINE, 13036b3a42afSjmmv# and fail the test. 13046b3a42afSjmmvat_fn_check_status () 13056b3a42afSjmmv{ 13066b3a42afSjmmv case $2 in 13076b3a42afSjmmv $1 ) ;; 13086b3a42afSjmmv 77) echo 77 > "$at_status_file"; exit 77;; 13096b3a42afSjmmv 99) echo 99 > "$at_status_file"; at_failed=: 13106b3a42afSjmmv $as_echo "$3: hard failure"; exit 99;; 13116b3a42afSjmmv *) $as_echo "$3: exit code was $2, expected $1" 13126b3a42afSjmmv at_failed=:;; 13136b3a42afSjmmv esac 13146b3a42afSjmmv} 13156b3a42afSjmmv 13166b3a42afSjmmv# at_fn_diff_devnull FILE 13176b3a42afSjmmv# ----------------------- 13186b3a42afSjmmv# Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless diff 13196b3a42afSjmmv# invocations. 13206b3a42afSjmmvat_fn_diff_devnull () 13216b3a42afSjmmv{ 13226b3a42afSjmmv test -s "$1" || return 0 13236b3a42afSjmmv $at_diff "$at_devnull" "$1" 13246b3a42afSjmmv} 13256b3a42afSjmmv 13266b3a42afSjmmv# at_fn_test NUMBER 13276b3a42afSjmmv# ----------------- 13286b3a42afSjmmv# Parse out test NUMBER from the tail of this file. 13296b3a42afSjmmvat_fn_test () 13306b3a42afSjmmv{ 13316b3a42afSjmmv eval at_sed=\$at_sed$1 13326b3a42afSjmmv sed "$at_sed" "$at_myself" > "$at_test_source" 13336b3a42afSjmmv} 13346b3a42afSjmmv 13356b3a42afSjmmv# at_fn_create_debugging_script 13366b3a42afSjmmv# ----------------------------- 13376b3a42afSjmmv# Create the debugging script $at_group_dir/run which will reproduce the 13386b3a42afSjmmv# current test group. 13396b3a42afSjmmvat_fn_create_debugging_script () 13406b3a42afSjmmv{ 13416b3a42afSjmmv { 13426b3a42afSjmmv echo "#! /bin/sh" && 13436b3a42afSjmmv echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' && 13446b3a42afSjmmv $as_echo "cd '$at_dir'" && 13456b3a42afSjmmv $as_echo "exec \${CONFIG_SHELL-$SHELL} \"$at_myself\" -v -d $at_debug_args $at_group \${1+\"\$@\"}" && 13466b3a42afSjmmv echo 'exit 1' 13476b3a42afSjmmv } >"$at_group_dir/run" && 13486b3a42afSjmmv chmod +x "$at_group_dir/run" 13496b3a42afSjmmv} 13506b3a42afSjmmv 13516b3a42afSjmmv## -------------------------------- ## 13526b3a42afSjmmv## End of autotest shell functions. ## 13536b3a42afSjmmv## -------------------------------- ## 13546b3a42afSjmmv{ 13556b3a42afSjmmv $as_echo "## ---------------- ## 13566b3a42afSjmmv## Tested programs. ## 13576b3a42afSjmmv## ---------------- ##" 13586b3a42afSjmmv echo 13596b3a42afSjmmv} >&5 13606b3a42afSjmmv 13616b3a42afSjmmv# Report what programs are being tested. 13626b3a42afSjmmvfor at_program in : $at_tested 13636b3a42afSjmmvdo 13646b3a42afSjmmv test "$at_program" = : && continue 13656b3a42afSjmmv case $at_program in 13666b3a42afSjmmv [\\/]* | ?:[\\/]* ) $at_program_=$at_program ;; 13676b3a42afSjmmv * ) 13686b3a42afSjmmv as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 13696b3a42afSjmmvfor as_dir in $PATH 13706b3a42afSjmmvdo 13716b3a42afSjmmv IFS=$as_save_IFS 13726b3a42afSjmmv test -z "$as_dir" && as_dir=. 13736b3a42afSjmmv test -f "$as_dir/$at_program" && break 13746b3a42afSjmmv done 13756b3a42afSjmmvIFS=$as_save_IFS 13766b3a42afSjmmv 13776b3a42afSjmmv at_program_=$as_dir/$at_program ;; 13786b3a42afSjmmv esac 13796b3a42afSjmmv if test -f "$at_program_"; then 13806b3a42afSjmmv { 13816b3a42afSjmmv $as_echo "$at_srcdir/testsuite.at:29: $at_program_ --version" 13826b3a42afSjmmv "$at_program_" --version </dev/null 13836b3a42afSjmmv echo 13846b3a42afSjmmv } >&5 2>&1 13856b3a42afSjmmv else 13866b3a42afSjmmv as_fn_error $? "cannot find $at_program" "$LINENO" 5 13876b3a42afSjmmv fi 13886b3a42afSjmmvdone 13896b3a42afSjmmv 13906b3a42afSjmmv{ 13916b3a42afSjmmv $as_echo "## ------------------ ## 13926b3a42afSjmmv## Running the tests. ## 13936b3a42afSjmmv## ------------------ ##" 13946b3a42afSjmmv} >&5 13956b3a42afSjmmv 13966b3a42afSjmmvat_start_date=`date` 13976b3a42afSjmmvat_start_time=`date +%s 2>/dev/null` 13986b3a42afSjmmv$as_echo "$as_me: starting at: $at_start_date" >&5 13996b3a42afSjmmv 14006b3a42afSjmmv# Create the master directory if it doesn't already exist. 14016b3a42afSjmmvas_dir="$at_suite_dir"; as_fn_mkdir_p || 14026b3a42afSjmmv as_fn_error $? "cannot create \`$at_suite_dir'" "$LINENO" 5 14036b3a42afSjmmv 14046b3a42afSjmmv# Can we diff with `/dev/null'? DU 5.0 refuses. 14056b3a42afSjmmvif diff /dev/null /dev/null >/dev/null 2>&1; then 14066b3a42afSjmmv at_devnull=/dev/null 14076b3a42afSjmmvelse 14086b3a42afSjmmv at_devnull=$at_suite_dir/devnull 14096b3a42afSjmmv >"$at_devnull" 14106b3a42afSjmmvfi 14116b3a42afSjmmv 14126b3a42afSjmmv# Use `diff -u' when possible. 14136b3a42afSjmmvif at_diff=`diff -u "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_diff" 14146b3a42afSjmmvthen 14156b3a42afSjmmv at_diff='diff -u' 14166b3a42afSjmmvelse 14176b3a42afSjmmv at_diff=diff 14186b3a42afSjmmvfi 14196b3a42afSjmmv 14206b3a42afSjmmv# Get the last needed group. 14216b3a42afSjmmvfor at_group in : $at_groups; do :; done 14226b3a42afSjmmv 14236b3a42afSjmmv# Extract the start and end lines of each test group at the tail 14246b3a42afSjmmv# of this file 14256b3a42afSjmmvawk ' 14266b3a42afSjmmvBEGIN { FS="" } 14276b3a42afSjmmv/^#AT_START_/ { 14286b3a42afSjmmv start = NR 14296b3a42afSjmmv} 14306b3a42afSjmmv/^#AT_STOP_/ { 14316b3a42afSjmmv test = substr ($ 0, 10) 14326b3a42afSjmmv print "at_sed" test "=\"1," start "d;" (NR-1) "q\"" 14336b3a42afSjmmv if (test == "'"$at_group"'") exit 14346b3a42afSjmmv}' "$at_myself" > "$at_suite_dir/at-source-lines" && 14356b3a42afSjmmv. "$at_suite_dir/at-source-lines" || 14366b3a42afSjmmv as_fn_error $? "cannot create test line number cache" "$LINENO" 5 14376b3a42afSjmmvrm -f "$at_suite_dir/at-source-lines" 14386b3a42afSjmmv 14396b3a42afSjmmv# Set number of jobs for `-j'; avoid more jobs than test groups. 14406b3a42afSjmmvset X $at_groups; shift; at_max_jobs=$# 14416b3a42afSjmmvif test $at_max_jobs -eq 0; then 14426b3a42afSjmmv at_jobs=1 14436b3a42afSjmmvfi 14446b3a42afSjmmvif test $at_jobs -ne 1 && 14456b3a42afSjmmv { test $at_jobs -eq 0 || test $at_jobs -gt $at_max_jobs; }; then 14466b3a42afSjmmv at_jobs=$at_max_jobs 14476b3a42afSjmmvfi 14486b3a42afSjmmv 14496b3a42afSjmmv# If parallel mode, don't output banners, don't split summary lines. 14506b3a42afSjmmvif test $at_jobs -ne 1; then 14516b3a42afSjmmv at_print_banners=false 14526b3a42afSjmmv at_quiet=: 14536b3a42afSjmmvfi 14546b3a42afSjmmv 14556b3a42afSjmmv# Set up helper dirs. 14566b3a42afSjmmvrm -rf "$at_helper_dir" && 14576b3a42afSjmmvmkdir "$at_helper_dir" && 14586b3a42afSjmmvcd "$at_helper_dir" && 14596b3a42afSjmmv{ test -z "$at_groups" || mkdir $at_groups; } || 14606b3a42afSjmmvas_fn_error $? "testsuite directory setup failed" "$LINENO" 5 14616b3a42afSjmmv 14626b3a42afSjmmv# Functions for running a test group. We leave the actual 14636b3a42afSjmmv# test group execution outside of a shell function in order 14646b3a42afSjmmv# to avoid hitting zsh 4.x exit status bugs. 14656b3a42afSjmmv 14666b3a42afSjmmv# at_fn_group_prepare 14676b3a42afSjmmv# ------------------- 14686b3a42afSjmmv# Prepare for running a test group. 14696b3a42afSjmmvat_fn_group_prepare () 14706b3a42afSjmmv{ 14716b3a42afSjmmv # The directory for additional per-group helper files. 14726b3a42afSjmmv at_job_dir=$at_helper_dir/$at_group 14736b3a42afSjmmv # The file containing the location of the last AT_CHECK. 14746b3a42afSjmmv at_check_line_file=$at_job_dir/check-line 14756b3a42afSjmmv # The file containing the exit status of the last command. 14766b3a42afSjmmv at_status_file=$at_job_dir/status 14776b3a42afSjmmv # The files containing the output of the tested commands. 14786b3a42afSjmmv at_stdout=$at_job_dir/stdout 14796b3a42afSjmmv at_stder1=$at_job_dir/stder1 14806b3a42afSjmmv at_stderr=$at_job_dir/stderr 14816b3a42afSjmmv # The file containing the code for a test group. 14826b3a42afSjmmv at_test_source=$at_job_dir/test-source 14836b3a42afSjmmv # The file containing dates. 14846b3a42afSjmmv at_times_file=$at_job_dir/times 14856b3a42afSjmmv 14866b3a42afSjmmv # Be sure to come back to the top test directory. 14876b3a42afSjmmv cd "$at_suite_dir" 14886b3a42afSjmmv 14896b3a42afSjmmv # Clearly separate the test groups when verbose. 14906b3a42afSjmmv $at_first || $at_verbose echo 14916b3a42afSjmmv 14926b3a42afSjmmv at_group_normalized=$at_group 14936b3a42afSjmmv 14946b3a42afSjmmv eval 'while :; do 14956b3a42afSjmmv case $at_group_normalized in #( 14966b3a42afSjmmv '"$at_format"'*) break;; 14976b3a42afSjmmv esac 14986b3a42afSjmmv at_group_normalized=0$at_group_normalized 14996b3a42afSjmmv done' 15006b3a42afSjmmv 15016b3a42afSjmmv 15026b3a42afSjmmv # Create a fresh directory for the next test group, and enter. 15036b3a42afSjmmv # If one already exists, the user may have invoked ./run from 15046b3a42afSjmmv # within that directory; we remove the contents, but not the 15056b3a42afSjmmv # directory itself, so that we aren't pulling the rug out from 15066b3a42afSjmmv # under the shell's notion of the current directory. 15076b3a42afSjmmv at_group_dir=$at_suite_dir/$at_group_normalized 15086b3a42afSjmmv at_group_log=$at_group_dir/$as_me.log 15096b3a42afSjmmv if test -d "$at_group_dir"; then 15106b3a42afSjmmv find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx {} \; 15116b3a42afSjmmv rm -fr "$at_group_dir"/* "$at_group_dir"/.[!.] "$at_group_dir"/.??* 15126b3a42afSjmmvfi || 15136b3a42afSjmmv { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: test directory for $at_group_normalized could not be cleaned" >&5 15146b3a42afSjmmv$as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned" >&2;} 15156b3a42afSjmmv # Be tolerant if the above `rm' was not able to remove the directory. 15166b3a42afSjmmv as_dir="$at_group_dir"; as_fn_mkdir_p 15176b3a42afSjmmv 15186b3a42afSjmmv echo 0 > "$at_status_file" 15196b3a42afSjmmv 15206b3a42afSjmmv # In verbose mode, append to the log file *and* show on 15216b3a42afSjmmv # the standard output; in quiet mode only write to the log. 15226b3a42afSjmmv if test -z "$at_verbose"; then 15236b3a42afSjmmv at_tee_pipe='tee -a "$at_group_log"' 15246b3a42afSjmmv else 15256b3a42afSjmmv at_tee_pipe='cat >> "$at_group_log"' 15266b3a42afSjmmv fi 15276b3a42afSjmmv} 15286b3a42afSjmmv 15296b3a42afSjmmv# at_fn_group_banner ORDINAL LINE DESC PAD [BANNER] 15306b3a42afSjmmv# ------------------------------------------------- 15316b3a42afSjmmv# Declare the test group ORDINAL, located at LINE with group description DESC, 15326b3a42afSjmmv# and residing under BANNER. Use PAD to align the status column. 15336b3a42afSjmmvat_fn_group_banner () 15346b3a42afSjmmv{ 15356b3a42afSjmmv at_setup_line="$2" 15366b3a42afSjmmv test -n "$5" && at_fn_banner $5 15376b3a42afSjmmv at_desc="$3" 15386b3a42afSjmmv case $1 in 15396b3a42afSjmmv [0-9]) at_desc_line=" $1: ";; 15406b3a42afSjmmv [0-9][0-9]) at_desc_line=" $1: " ;; 15416b3a42afSjmmv *) at_desc_line="$1: " ;; 15426b3a42afSjmmv esac 15436b3a42afSjmmv as_fn_append at_desc_line "$3$4" 15446b3a42afSjmmv $at_quiet $as_echo_n "$at_desc_line" 15456b3a42afSjmmv echo "# -*- compilation -*-" >> "$at_group_log" 15466b3a42afSjmmv} 15476b3a42afSjmmv 15486b3a42afSjmmv# at_fn_group_postprocess 15496b3a42afSjmmv# ----------------------- 15506b3a42afSjmmv# Perform cleanup after running a test group. 15516b3a42afSjmmvat_fn_group_postprocess () 15526b3a42afSjmmv{ 15536b3a42afSjmmv # Be sure to come back to the suite directory, in particular 15546b3a42afSjmmv # since below we might `rm' the group directory we are in currently. 15556b3a42afSjmmv cd "$at_suite_dir" 15566b3a42afSjmmv 15576b3a42afSjmmv if test ! -f "$at_check_line_file"; then 15586b3a42afSjmmv sed "s/^ */$as_me: WARNING: /" <<_ATEOF 15596b3a42afSjmmv A failure happened in a test group before any test could be 15606b3a42afSjmmv run. This means that test suite is improperly designed. Please 15616b3a42afSjmmv report this failure to <kyua-discuss@googlegroups.com>. 15626b3a42afSjmmv_ATEOF 15636b3a42afSjmmv $as_echo "$at_setup_line" >"$at_check_line_file" 15646b3a42afSjmmv at_status=99 15656b3a42afSjmmv fi 15666b3a42afSjmmv $at_verbose $as_echo_n "$at_group. $at_setup_line: " 15676b3a42afSjmmv $as_echo_n "$at_group. $at_setup_line: " >> "$at_group_log" 15686b3a42afSjmmv case $at_xfail:$at_status in 15696b3a42afSjmmv yes:0) 15706b3a42afSjmmv at_msg="UNEXPECTED PASS" 15716b3a42afSjmmv at_res=xpass 15726b3a42afSjmmv at_errexit=$at_errexit_p 15736b3a42afSjmmv at_color=$at_red 15746b3a42afSjmmv ;; 15756b3a42afSjmmv no:0) 15766b3a42afSjmmv at_msg="ok" 15776b3a42afSjmmv at_res=pass 15786b3a42afSjmmv at_errexit=false 15796b3a42afSjmmv at_color=$at_grn 15806b3a42afSjmmv ;; 15816b3a42afSjmmv *:77) 15826b3a42afSjmmv at_msg='skipped ('`cat "$at_check_line_file"`')' 15836b3a42afSjmmv at_res=skip 15846b3a42afSjmmv at_errexit=false 15856b3a42afSjmmv at_color=$at_blu 15866b3a42afSjmmv ;; 15876b3a42afSjmmv no:* | *:99) 15886b3a42afSjmmv at_msg='FAILED ('`cat "$at_check_line_file"`')' 15896b3a42afSjmmv at_res=fail 15906b3a42afSjmmv at_errexit=$at_errexit_p 15916b3a42afSjmmv at_color=$at_red 15926b3a42afSjmmv ;; 15936b3a42afSjmmv yes:*) 15946b3a42afSjmmv at_msg='expected failure ('`cat "$at_check_line_file"`')' 15956b3a42afSjmmv at_res=xfail 15966b3a42afSjmmv at_errexit=false 15976b3a42afSjmmv at_color=$at_lgn 15986b3a42afSjmmv ;; 15996b3a42afSjmmv esac 16006b3a42afSjmmv echo "$at_res" > "$at_job_dir/$at_res" 16016b3a42afSjmmv # In parallel mode, output the summary line only afterwards. 16026b3a42afSjmmv if test $at_jobs -ne 1 && test -n "$at_verbose"; then 16036b3a42afSjmmv $as_echo "$at_desc_line $at_color$at_msg$at_std" 16046b3a42afSjmmv else 16056b3a42afSjmmv # Make sure there is a separator even with long titles. 16066b3a42afSjmmv $as_echo " $at_color$at_msg$at_std" 16076b3a42afSjmmv fi 16086b3a42afSjmmv at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg" 16096b3a42afSjmmv case $at_status in 16106b3a42afSjmmv 0|77) 16116b3a42afSjmmv # $at_times_file is only available if the group succeeded. 16126b3a42afSjmmv # We're not including the group log, so the success message 16136b3a42afSjmmv # is written in the global log separately. But we also 16146b3a42afSjmmv # write to the group log in case they're using -d. 16156b3a42afSjmmv if test -f "$at_times_file"; then 16166b3a42afSjmmv at_log_msg="$at_log_msg ("`sed 1d "$at_times_file"`')' 16176b3a42afSjmmv rm -f "$at_times_file" 16186b3a42afSjmmv fi 16196b3a42afSjmmv $as_echo "$at_log_msg" >> "$at_group_log" 16206b3a42afSjmmv $as_echo "$at_log_msg" >&5 16216b3a42afSjmmv 16226b3a42afSjmmv # Cleanup the group directory, unless the user wants the files 16236b3a42afSjmmv # or the success was unexpected. 16246b3a42afSjmmv if $at_debug_p || test $at_res = xpass; then 16256b3a42afSjmmv at_fn_create_debugging_script 16266b3a42afSjmmv if test $at_res = xpass && $at_errexit; then 16276b3a42afSjmmv echo stop > "$at_stop_file" 16286b3a42afSjmmv fi 16296b3a42afSjmmv else 16306b3a42afSjmmv if test -d "$at_group_dir"; then 16316b3a42afSjmmv find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; 16326b3a42afSjmmv rm -fr "$at_group_dir" 16336b3a42afSjmmv fi 16346b3a42afSjmmv rm -f "$at_test_source" 16356b3a42afSjmmv fi 16366b3a42afSjmmv ;; 16376b3a42afSjmmv *) 16386b3a42afSjmmv # Upon failure, include the log into the testsuite's global 16396b3a42afSjmmv # log. The failure message is written in the group log. It 16406b3a42afSjmmv # is later included in the global log. 16416b3a42afSjmmv $as_echo "$at_log_msg" >> "$at_group_log" 16426b3a42afSjmmv 16436b3a42afSjmmv # Upon failure, keep the group directory for autopsy, and create 16446b3a42afSjmmv # the debugging script. With -e, do not start any further tests. 16456b3a42afSjmmv at_fn_create_debugging_script 16466b3a42afSjmmv if $at_errexit; then 16476b3a42afSjmmv echo stop > "$at_stop_file" 16486b3a42afSjmmv fi 16496b3a42afSjmmv ;; 16506b3a42afSjmmv esac 16516b3a42afSjmmv} 16526b3a42afSjmmv 16536b3a42afSjmmv 16546b3a42afSjmmv## ------------ ## 16556b3a42afSjmmv## Driver loop. ## 16566b3a42afSjmmv## ------------ ## 16576b3a42afSjmmv 16586b3a42afSjmmv 16596b3a42afSjmmvif (set -m && set +m && set +b) >/dev/null 2>&1; then 16606b3a42afSjmmv set +b 16616b3a42afSjmmv at_job_control_on='set -m' at_job_control_off='set +m' at_job_group=- 16626b3a42afSjmmvelse 16636b3a42afSjmmv at_job_control_on=: at_job_control_off=: at_job_group= 16646b3a42afSjmmvfi 16656b3a42afSjmmv 16666b3a42afSjmmvfor at_signal in 1 2 15; do 16676b3a42afSjmmv trap 'set +x; set +e 16686b3a42afSjmmv $at_job_control_off 16696b3a42afSjmmv at_signal='"$at_signal"' 16706b3a42afSjmmv echo stop > "$at_stop_file" 16716b3a42afSjmmv trap "" $at_signal 16726b3a42afSjmmv at_pgids= 16736b3a42afSjmmv for at_pgid in `jobs -p 2>/dev/null`; do 16746b3a42afSjmmv at_pgids="$at_pgids $at_job_group$at_pgid" 16756b3a42afSjmmv done 16766b3a42afSjmmv test -z "$at_pgids" || kill -$at_signal $at_pgids 2>/dev/null 16776b3a42afSjmmv wait 16786b3a42afSjmmv if test "$at_jobs" -eq 1 || test -z "$at_verbose"; then 16796b3a42afSjmmv echo >&2 16806b3a42afSjmmv fi 16816b3a42afSjmmv at_signame=`kill -l $at_signal 2>&1 || echo $at_signal` 16826b3a42afSjmmv set x $at_signame 16836b3a42afSjmmv test 1 -gt 2 && at_signame=$at_signal 16846b3a42afSjmmv { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: caught signal $at_signame, bailing out" >&5 16856b3a42afSjmmv$as_echo "$as_me: WARNING: caught signal $at_signame, bailing out" >&2;} 16866b3a42afSjmmv as_fn_arith 128 + $at_signal && exit_status=$as_val 16876b3a42afSjmmv as_fn_exit $exit_status' $at_signal 16886b3a42afSjmmvdone 16896b3a42afSjmmv 16906b3a42afSjmmvrm -f "$at_stop_file" 16916b3a42afSjmmvat_first=: 16926b3a42afSjmmv 16936b3a42afSjmmvif test $at_jobs -ne 1 && 16946b3a42afSjmmv rm -f "$at_job_fifo" && 16956b3a42afSjmmv test -n "$at_job_group" && 16966b3a42afSjmmv ( mkfifo "$at_job_fifo" && trap 'exit 1' PIPE STOP TSTP ) 2>/dev/null 16976b3a42afSjmmvthen 16986b3a42afSjmmv # FIFO job dispatcher. 16996b3a42afSjmmv 17006b3a42afSjmmv trap 'at_pids= 17016b3a42afSjmmv for at_pid in `jobs -p`; do 17026b3a42afSjmmv at_pids="$at_pids $at_job_group$at_pid" 17036b3a42afSjmmv done 17046b3a42afSjmmv if test -n "$at_pids"; then 17056b3a42afSjmmv at_sig=TSTP 17066b3a42afSjmmv test "${TMOUT+set}" = set && at_sig=STOP 17076b3a42afSjmmv kill -$at_sig $at_pids 2>/dev/null 17086b3a42afSjmmv fi 17096b3a42afSjmmv kill -STOP $$ 17106b3a42afSjmmv test -z "$at_pids" || kill -CONT $at_pids 2>/dev/null' TSTP 17116b3a42afSjmmv 17126b3a42afSjmmv echo 17136b3a42afSjmmv # Turn jobs into a list of numbers, starting from 1. 17146b3a42afSjmmv at_joblist=`$as_echo "$at_groups" | sed -n 1,${at_jobs}p` 17156b3a42afSjmmv 17166b3a42afSjmmv set X $at_joblist 17176b3a42afSjmmv shift 17186b3a42afSjmmv for at_group in $at_groups; do 17196b3a42afSjmmv $at_job_control_on 2>/dev/null 17206b3a42afSjmmv ( 17216b3a42afSjmmv # Start one test group. 17226b3a42afSjmmv $at_job_control_off 17236b3a42afSjmmv if $at_first; then 17246b3a42afSjmmv exec 7>"$at_job_fifo" 17256b3a42afSjmmv else 17266b3a42afSjmmv exec 6<&- 17276b3a42afSjmmv fi 17286b3a42afSjmmv trap 'set +x; set +e 17296b3a42afSjmmv trap "" PIPE 17306b3a42afSjmmv echo stop > "$at_stop_file" 17316b3a42afSjmmv echo >&7 17326b3a42afSjmmv as_fn_exit 141' PIPE 17336b3a42afSjmmv at_fn_group_prepare 17346b3a42afSjmmv if cd "$at_group_dir" && 17356b3a42afSjmmv at_fn_test $at_group && 17366b3a42afSjmmv . "$at_test_source" 17376b3a42afSjmmv then :; else 17386b3a42afSjmmv { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 17396b3a42afSjmmv$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} 17406b3a42afSjmmv at_failed=: 17416b3a42afSjmmv fi 17426b3a42afSjmmv at_fn_group_postprocess 17436b3a42afSjmmv echo >&7 17446b3a42afSjmmv ) & 17456b3a42afSjmmv $at_job_control_off 17466b3a42afSjmmv if $at_first; then 17476b3a42afSjmmv at_first=false 17486b3a42afSjmmv exec 6<"$at_job_fifo" 7>"$at_job_fifo" 17496b3a42afSjmmv fi 17506b3a42afSjmmv shift # Consume one token. 17516b3a42afSjmmv if test $# -gt 0; then :; else 17526b3a42afSjmmv read at_token <&6 || break 17536b3a42afSjmmv set x $* 17546b3a42afSjmmv fi 17556b3a42afSjmmv test -f "$at_stop_file" && break 17566b3a42afSjmmv done 17576b3a42afSjmmv exec 7>&- 17586b3a42afSjmmv # Read back the remaining ($at_jobs - 1) tokens. 17596b3a42afSjmmv set X $at_joblist 17606b3a42afSjmmv shift 17616b3a42afSjmmv if test $# -gt 0; then 17626b3a42afSjmmv shift 17636b3a42afSjmmv for at_job 17646b3a42afSjmmv do 17656b3a42afSjmmv read at_token 17666b3a42afSjmmv done <&6 17676b3a42afSjmmv fi 17686b3a42afSjmmv exec 6<&- 17696b3a42afSjmmv wait 17706b3a42afSjmmvelse 17716b3a42afSjmmv # Run serially, avoid forks and other potential surprises. 17726b3a42afSjmmv for at_group in $at_groups; do 17736b3a42afSjmmv at_fn_group_prepare 17746b3a42afSjmmv if cd "$at_group_dir" && 17756b3a42afSjmmv at_fn_test $at_group && 17766b3a42afSjmmv . "$at_test_source"; then :; else 17776b3a42afSjmmv { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 17786b3a42afSjmmv$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} 17796b3a42afSjmmv at_failed=: 17806b3a42afSjmmv fi 17816b3a42afSjmmv at_fn_group_postprocess 17826b3a42afSjmmv test -f "$at_stop_file" && break 17836b3a42afSjmmv at_first=false 17846b3a42afSjmmv done 17856b3a42afSjmmvfi 17866b3a42afSjmmv 17876b3a42afSjmmv# Wrap up the test suite with summary statistics. 17886b3a42afSjmmvcd "$at_helper_dir" 17896b3a42afSjmmv 17906b3a42afSjmmv# Use ?..???? when the list must remain sorted, the faster * otherwise. 17916b3a42afSjmmvat_pass_list=`for f in */pass; do echo $f; done | sed '/\*/d; s,/pass,,'` 17926b3a42afSjmmvat_skip_list=`for f in */skip; do echo $f; done | sed '/\*/d; s,/skip,,'` 17936b3a42afSjmmvat_xfail_list=`for f in */xfail; do echo $f; done | sed '/\*/d; s,/xfail,,'` 17946b3a42afSjmmvat_xpass_list=`for f in ?/xpass ??/xpass ???/xpass ????/xpass; do 17956b3a42afSjmmv echo $f; done | sed '/?/d; s,/xpass,,'` 17966b3a42afSjmmvat_fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do 17976b3a42afSjmmv echo $f; done | sed '/?/d; s,/fail,,'` 17986b3a42afSjmmv 17996b3a42afSjmmvset X $at_pass_list $at_xpass_list $at_xfail_list $at_fail_list $at_skip_list 18006b3a42afSjmmvshift; at_group_count=$# 18016b3a42afSjmmvset X $at_xpass_list; shift; at_xpass_count=$#; at_xpass_list=$* 18026b3a42afSjmmvset X $at_xfail_list; shift; at_xfail_count=$# 18036b3a42afSjmmvset X $at_fail_list; shift; at_fail_count=$#; at_fail_list=$* 18046b3a42afSjmmvset X $at_skip_list; shift; at_skip_count=$# 18056b3a42afSjmmv 18066b3a42afSjmmvas_fn_arith $at_group_count - $at_skip_count && at_run_count=$as_val 18076b3a42afSjmmvas_fn_arith $at_xpass_count + $at_fail_count && at_unexpected_count=$as_val 18086b3a42afSjmmvas_fn_arith $at_xfail_count + $at_fail_count && at_total_fail_count=$as_val 18096b3a42afSjmmv 18106b3a42afSjmmv# Back to the top directory. 18116b3a42afSjmmvcd "$at_dir" 18126b3a42afSjmmvrm -rf "$at_helper_dir" 18136b3a42afSjmmv 18146b3a42afSjmmv# Compute the duration of the suite. 18156b3a42afSjmmvat_stop_date=`date` 18166b3a42afSjmmvat_stop_time=`date +%s 2>/dev/null` 18176b3a42afSjmmv$as_echo "$as_me: ending at: $at_stop_date" >&5 18186b3a42afSjmmvcase $at_start_time,$at_stop_time in 18196b3a42afSjmmv [0-9]*,[0-9]*) 18206b3a42afSjmmv as_fn_arith $at_stop_time - $at_start_time && at_duration_s=$as_val 18216b3a42afSjmmv as_fn_arith $at_duration_s / 60 && at_duration_m=$as_val 18226b3a42afSjmmv as_fn_arith $at_duration_m / 60 && at_duration_h=$as_val 18236b3a42afSjmmv as_fn_arith $at_duration_s % 60 && at_duration_s=$as_val 18246b3a42afSjmmv as_fn_arith $at_duration_m % 60 && at_duration_m=$as_val 18256b3a42afSjmmv at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s" 18266b3a42afSjmmv $as_echo "$as_me: test suite duration: $at_duration" >&5 18276b3a42afSjmmv ;; 18286b3a42afSjmmvesac 18296b3a42afSjmmv 18306b3a42afSjmmvecho 18316b3a42afSjmmv$as_echo "## ------------- ## 18326b3a42afSjmmv## Test results. ## 18336b3a42afSjmmv## ------------- ##" 18346b3a42afSjmmvecho 18356b3a42afSjmmv{ 18366b3a42afSjmmv echo 18376b3a42afSjmmv $as_echo "## ------------- ## 18386b3a42afSjmmv## Test results. ## 18396b3a42afSjmmv## ------------- ##" 18406b3a42afSjmmv echo 18416b3a42afSjmmv} >&5 18426b3a42afSjmmv 18436b3a42afSjmmvif test $at_run_count = 1; then 18446b3a42afSjmmv at_result="1 test" 18456b3a42afSjmmv at_were=was 18466b3a42afSjmmvelse 18476b3a42afSjmmv at_result="$at_run_count tests" 18486b3a42afSjmmv at_were=were 18496b3a42afSjmmvfi 18506b3a42afSjmmvif $at_errexit_p && test $at_unexpected_count != 0; then 18516b3a42afSjmmv if test $at_xpass_count = 1; then 18526b3a42afSjmmv at_result="$at_result $at_were run, one passed" 18536b3a42afSjmmv else 18546b3a42afSjmmv at_result="$at_result $at_were run, one failed" 18556b3a42afSjmmv fi 18566b3a42afSjmmv at_result="$at_result unexpectedly and inhibited subsequent tests." 18576b3a42afSjmmv at_color=$at_red 18586b3a42afSjmmvelse 18596b3a42afSjmmv # Don't you just love exponential explosion of the number of cases? 18606b3a42afSjmmv at_color=$at_red 18616b3a42afSjmmv case $at_xpass_count:$at_fail_count:$at_xfail_count in 18626b3a42afSjmmv # So far, so good. 18636b3a42afSjmmv 0:0:0) at_result="$at_result $at_were successful." at_color=$at_grn ;; 18646b3a42afSjmmv 0:0:*) at_result="$at_result behaved as expected." at_color=$at_lgn ;; 18656b3a42afSjmmv 18666b3a42afSjmmv # Some unexpected failures 18676b3a42afSjmmv 0:*:0) at_result="$at_result $at_were run, 18686b3a42afSjmmv$at_fail_count failed unexpectedly." ;; 18696b3a42afSjmmv 18706b3a42afSjmmv # Some failures, both expected and unexpected 18716b3a42afSjmmv 0:*:1) at_result="$at_result $at_were run, 18726b3a42afSjmmv$at_total_fail_count failed ($at_xfail_count expected failure)." ;; 18736b3a42afSjmmv 0:*:*) at_result="$at_result $at_were run, 18746b3a42afSjmmv$at_total_fail_count failed ($at_xfail_count expected failures)." ;; 18756b3a42afSjmmv 18766b3a42afSjmmv # No unexpected failures, but some xpasses 18776b3a42afSjmmv *:0:*) at_result="$at_result $at_were run, 18786b3a42afSjmmv$at_xpass_count passed unexpectedly." ;; 18796b3a42afSjmmv 18806b3a42afSjmmv # No expected failures, but failures and xpasses 18816b3a42afSjmmv *:1:0) at_result="$at_result $at_were run, 18826b3a42afSjmmv$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;; 18836b3a42afSjmmv *:*:0) at_result="$at_result $at_were run, 18846b3a42afSjmmv$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;; 18856b3a42afSjmmv 18866b3a42afSjmmv # All of them. 18876b3a42afSjmmv *:*:1) at_result="$at_result $at_were run, 18886b3a42afSjmmv$at_xpass_count passed unexpectedly, 18896b3a42afSjmmv$at_total_fail_count failed ($at_xfail_count expected failure)." ;; 18906b3a42afSjmmv *:*:*) at_result="$at_result $at_were run, 18916b3a42afSjmmv$at_xpass_count passed unexpectedly, 18926b3a42afSjmmv$at_total_fail_count failed ($at_xfail_count expected failures)." ;; 18936b3a42afSjmmv esac 18946b3a42afSjmmv 18956b3a42afSjmmv if test $at_skip_count = 0 && test $at_run_count -gt 1; then 18966b3a42afSjmmv at_result="All $at_result" 18976b3a42afSjmmv fi 18986b3a42afSjmmvfi 18996b3a42afSjmmv 19006b3a42afSjmmv# Now put skips in the mix. 19016b3a42afSjmmvcase $at_skip_count in 19026b3a42afSjmmv 0) ;; 19036b3a42afSjmmv 1) at_result="$at_result 19046b3a42afSjmmv1 test was skipped." ;; 19056b3a42afSjmmv *) at_result="$at_result 19066b3a42afSjmmv$at_skip_count tests were skipped." ;; 19076b3a42afSjmmvesac 19086b3a42afSjmmv 19096b3a42afSjmmvif test $at_unexpected_count = 0; then 19106b3a42afSjmmv echo "$at_color$at_result$at_std" 19116b3a42afSjmmv echo "$at_result" >&5 19126b3a42afSjmmvelse 19136b3a42afSjmmv echo "${at_color}ERROR: $at_result$at_std" >&2 19146b3a42afSjmmv echo "ERROR: $at_result" >&5 19156b3a42afSjmmv { 19166b3a42afSjmmv echo 19176b3a42afSjmmv $as_echo "## ------------------------ ## 19186b3a42afSjmmv## Summary of the failures. ## 19196b3a42afSjmmv## ------------------------ ##" 19206b3a42afSjmmv 19216b3a42afSjmmv # Summary of failed and skipped tests. 19226b3a42afSjmmv if test $at_fail_count != 0; then 19236b3a42afSjmmv echo "Failed tests:" 19246b3a42afSjmmv $SHELL "$at_myself" $at_fail_list --list 19256b3a42afSjmmv echo 19266b3a42afSjmmv fi 19276b3a42afSjmmv if test $at_skip_count != 0; then 19286b3a42afSjmmv echo "Skipped tests:" 19296b3a42afSjmmv $SHELL "$at_myself" $at_skip_list --list 19306b3a42afSjmmv echo 19316b3a42afSjmmv fi 19326b3a42afSjmmv if test $at_xpass_count != 0; then 19336b3a42afSjmmv echo "Unexpected passes:" 19346b3a42afSjmmv $SHELL "$at_myself" $at_xpass_list --list 19356b3a42afSjmmv echo 19366b3a42afSjmmv fi 19376b3a42afSjmmv if test $at_fail_count != 0; then 19386b3a42afSjmmv $as_echo "## ---------------------- ## 19396b3a42afSjmmv## Detailed failed tests. ## 19406b3a42afSjmmv## ---------------------- ##" 19416b3a42afSjmmv echo 19426b3a42afSjmmv for at_group in $at_fail_list 19436b3a42afSjmmv do 19446b3a42afSjmmv at_group_normalized=$at_group 19456b3a42afSjmmv 19466b3a42afSjmmv eval 'while :; do 19476b3a42afSjmmv case $at_group_normalized in #( 19486b3a42afSjmmv '"$at_format"'*) break;; 19496b3a42afSjmmv esac 19506b3a42afSjmmv at_group_normalized=0$at_group_normalized 19516b3a42afSjmmv done' 19526b3a42afSjmmv 19536b3a42afSjmmv cat "$at_suite_dir/$at_group_normalized/$as_me.log" 19546b3a42afSjmmv echo 19556b3a42afSjmmv done 19566b3a42afSjmmv echo 19576b3a42afSjmmv fi 19586b3a42afSjmmv if test -n "$at_top_srcdir"; then 19596b3a42afSjmmv sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX 19606b3a42afSjmmv## ${at_top_build_prefix}config.log ## 19616b3a42afSjmmv_ASBOX 19626b3a42afSjmmv sed 's/^/| /' ${at_top_build_prefix}config.log 19636b3a42afSjmmv echo 19646b3a42afSjmmv fi 19656b3a42afSjmmv } >&5 19666b3a42afSjmmv 19676b3a42afSjmmv sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX 19686b3a42afSjmmv## $as_me.log was created. ## 19696b3a42afSjmmv_ASBOX 19706b3a42afSjmmv 19716b3a42afSjmmv echo 19726b3a42afSjmmv if $at_debug_p; then 19736b3a42afSjmmv at_msg='per-test log files' 19746b3a42afSjmmv else 19756b3a42afSjmmv at_msg="\`${at_testdir+${at_testdir}/}$as_me.log'" 19766b3a42afSjmmv fi 19776b3a42afSjmmv $as_echo "Please send $at_msg and all information you think might help: 19786b3a42afSjmmv 19796b3a42afSjmmv To: <kyua-discuss@googlegroups.com> 1980*f39f9c9bSjmmv 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} 19816b3a42afSjmmv 19826b3a42afSjmmvYou may investigate any problem if you feel able to do so, in which 19836b3a42afSjmmvcase the test suite provides a good starting point. Its output may 19846b3a42afSjmmvbe found below \`${at_testdir+${at_testdir}/}$as_me.dir'. 19856b3a42afSjmmv" 19866b3a42afSjmmv exit 1 19876b3a42afSjmmvfi 19886b3a42afSjmmv 19896b3a42afSjmmvexit 0 19906b3a42afSjmmv 19916b3a42afSjmmv## ------------- ## 19926b3a42afSjmmv## Actual tests. ## 19936b3a42afSjmmv## ------------- ## 19946b3a42afSjmmv#AT_START_1 19956b3a42afSjmmvat_fn_group_banner 1 'testsuite.at:70' \ 19966b3a42afSjmmv "test program crashes in test list" " " 19976b3a42afSjmmvat_xfail=no 19986b3a42afSjmmv( 19996b3a42afSjmmv $as_echo "1. $at_setup_line: testing $at_desc ..." 20006b3a42afSjmmv $at_traceon 20016b3a42afSjmmv 20026b3a42afSjmmv 20036b3a42afSjmmv 20046b3a42afSjmmv 20056b3a42afSjmmv cat >Kyuafile <<'_ATEOF' 20066b3a42afSjmmv 20076b3a42afSjmmvsyntax(2) 20086b3a42afSjmmvtest_suite("bootstrap") 20096b3a42afSjmmvatf_test_program{name="plain_helpers"} 20106b3a42afSjmmv_ATEOF 20116b3a42afSjmmv 20126b3a42afSjmmv ln -s $({ 20136b3a42afSjmmv old=$(pwd) 20146b3a42afSjmmv cd "${at_suite_dir}" 20156b3a42afSjmmv # We need to locate a build product, not a source file, because the 20166b3a42afSjmmv # test suite may be run outside of the source tree (think distcheck). 20176b3a42afSjmmv while test $(pwd) != '/' -a ! -e engine/test_case_test; do 20186b3a42afSjmmv cd .. 20196b3a42afSjmmv done 20206b3a42afSjmmv topdir=$(pwd) 20216b3a42afSjmmv cd ${old} 20226b3a42afSjmmv echo ${topdir} 20236b3a42afSjmmv})/bootstrap/plain_helpers plain_helpers 20246b3a42afSjmmv 20256b3a42afSjmmv{ set +x 20266b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:74: HOME=\$(pwd) HELPER=\"abort_test_cases_list\" kyua --config=none test --store=bootstrap.db" 20276b3a42afSjmmvat_fn_check_prepare_notrace 'a $(...) command substitution' "testsuite.at:74" 20286b3a42afSjmmv( $at_check_trace; HOME=$(pwd) HELPER="abort_test_cases_list" kyua --config=none test --store=bootstrap.db 20296b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 20306b3a42afSjmmvat_status=$? at_failed=false 20316b3a42afSjmmv$at_check_filter 20326b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 20336b3a42afSjmmvecho stdout:; tee stdout <"$at_stdout" 20346b3a42afSjmmvat_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:74" 20356b3a42afSjmmv$at_failed && at_fn_log_failure 20366b3a42afSjmmv$at_traceon; } 20376b3a42afSjmmv 20386b3a42afSjmmvre='plain_helpers:__test_cases_list__.*broken.*Test program list did not return success' 20396b3a42afSjmmv{ set +x 20406b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:76: grep \"\${re}\" stdout" 20416b3a42afSjmmvat_fn_check_prepare_notrace 'a ${...} parameter expansion' "testsuite.at:76" 20426b3a42afSjmmv( $at_check_trace; grep "${re}" stdout 20436b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 20446b3a42afSjmmvat_status=$? at_failed=false 20456b3a42afSjmmv$at_check_filter 20466b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 20476b3a42afSjmmvecho stdout:; cat "$at_stdout" 20486b3a42afSjmmvat_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:76" 20496b3a42afSjmmv$at_failed && at_fn_log_failure 20506b3a42afSjmmv$at_traceon; } 20516b3a42afSjmmv 20526b3a42afSjmmv 20536b3a42afSjmmv set +x 20546b3a42afSjmmv $at_times_p && times >"$at_times_file" 20556b3a42afSjmmv) 5>&1 2>&1 7>&- | eval $at_tee_pipe 20566b3a42afSjmmvread at_status <"$at_status_file" 20576b3a42afSjmmv#AT_STOP_1 20586b3a42afSjmmv#AT_START_2 20596b3a42afSjmmvat_fn_group_banner 2 'testsuite.at:81' \ 20606b3a42afSjmmv "test program prints an empty test list" " " 20616b3a42afSjmmvat_xfail=no 20626b3a42afSjmmv( 20636b3a42afSjmmv $as_echo "2. $at_setup_line: testing $at_desc ..." 20646b3a42afSjmmv $at_traceon 20656b3a42afSjmmv 20666b3a42afSjmmv 20676b3a42afSjmmv 20686b3a42afSjmmv 20696b3a42afSjmmv cat >Kyuafile <<'_ATEOF' 20706b3a42afSjmmv 20716b3a42afSjmmvsyntax(2) 20726b3a42afSjmmvtest_suite("bootstrap") 20736b3a42afSjmmvatf_test_program{name="plain_helpers"} 20746b3a42afSjmmv_ATEOF 20756b3a42afSjmmv 20766b3a42afSjmmv ln -s $({ 20776b3a42afSjmmv old=$(pwd) 20786b3a42afSjmmv cd "${at_suite_dir}" 20796b3a42afSjmmv # We need to locate a build product, not a source file, because the 20806b3a42afSjmmv # test suite may be run outside of the source tree (think distcheck). 20816b3a42afSjmmv while test $(pwd) != '/' -a ! -e engine/test_case_test; do 20826b3a42afSjmmv cd .. 20836b3a42afSjmmv done 20846b3a42afSjmmv topdir=$(pwd) 20856b3a42afSjmmv cd ${old} 20866b3a42afSjmmv echo ${topdir} 20876b3a42afSjmmv})/bootstrap/plain_helpers plain_helpers 20886b3a42afSjmmv 20896b3a42afSjmmv{ set +x 20906b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:85: HOME=\$(pwd) HELPER=\"empty_test_cases_list\" kyua --config=none test --store=bootstrap.db" 20916b3a42afSjmmvat_fn_check_prepare_notrace 'a $(...) command substitution' "testsuite.at:85" 20926b3a42afSjmmv( $at_check_trace; HOME=$(pwd) HELPER="empty_test_cases_list" kyua --config=none test --store=bootstrap.db 20936b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 20946b3a42afSjmmvat_status=$? at_failed=false 20956b3a42afSjmmv$at_check_filter 20966b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 20976b3a42afSjmmvecho stdout:; tee stdout <"$at_stdout" 20986b3a42afSjmmvat_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:85" 20996b3a42afSjmmv$at_failed && at_fn_log_failure 21006b3a42afSjmmv$at_traceon; } 21016b3a42afSjmmv 21026b3a42afSjmmvre='plain_helpers:__test_cases_list__.*broken.*failed to read.*unexpected EOF' 21036b3a42afSjmmv{ set +x 21046b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:87: grep \"\${re}\" stdout" 21056b3a42afSjmmvat_fn_check_prepare_notrace 'a ${...} parameter expansion' "testsuite.at:87" 21066b3a42afSjmmv( $at_check_trace; grep "${re}" stdout 21076b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 21086b3a42afSjmmvat_status=$? at_failed=false 21096b3a42afSjmmv$at_check_filter 21106b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 21116b3a42afSjmmvecho stdout:; cat "$at_stdout" 21126b3a42afSjmmvat_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:87" 21136b3a42afSjmmv$at_failed && at_fn_log_failure 21146b3a42afSjmmv$at_traceon; } 21156b3a42afSjmmv 21166b3a42afSjmmv 21176b3a42afSjmmv set +x 21186b3a42afSjmmv $at_times_p && times >"$at_times_file" 21196b3a42afSjmmv) 5>&1 2>&1 7>&- | eval $at_tee_pipe 21206b3a42afSjmmvread at_status <"$at_status_file" 21216b3a42afSjmmv#AT_STOP_2 21226b3a42afSjmmv#AT_START_3 21236b3a42afSjmmvat_fn_group_banner 3 'testsuite.at:92' \ 21246b3a42afSjmmv "test program with zero test cases" " " 21256b3a42afSjmmvat_xfail=no 21266b3a42afSjmmv( 21276b3a42afSjmmv $as_echo "3. $at_setup_line: testing $at_desc ..." 21286b3a42afSjmmv $at_traceon 21296b3a42afSjmmv 21306b3a42afSjmmv 21316b3a42afSjmmv 21326b3a42afSjmmv 21336b3a42afSjmmv cat >Kyuafile <<'_ATEOF' 21346b3a42afSjmmv 21356b3a42afSjmmvsyntax(2) 21366b3a42afSjmmvtest_suite("bootstrap") 21376b3a42afSjmmvatf_test_program{name="plain_helpers"} 21386b3a42afSjmmv_ATEOF 21396b3a42afSjmmv 21406b3a42afSjmmv ln -s $({ 21416b3a42afSjmmv old=$(pwd) 21426b3a42afSjmmv cd "${at_suite_dir}" 21436b3a42afSjmmv # We need to locate a build product, not a source file, because the 21446b3a42afSjmmv # test suite may be run outside of the source tree (think distcheck). 21456b3a42afSjmmv while test $(pwd) != '/' -a ! -e engine/test_case_test; do 21466b3a42afSjmmv cd .. 21476b3a42afSjmmv done 21486b3a42afSjmmv topdir=$(pwd) 21496b3a42afSjmmv cd ${old} 21506b3a42afSjmmv echo ${topdir} 21516b3a42afSjmmv})/bootstrap/plain_helpers plain_helpers 21526b3a42afSjmmv 21536b3a42afSjmmv{ set +x 21546b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:96: HOME=\$(pwd) HELPER=\"zero_test_cases\" kyua --config=none test --store=bootstrap.db" 21556b3a42afSjmmvat_fn_check_prepare_notrace 'a $(...) command substitution' "testsuite.at:96" 21566b3a42afSjmmv( $at_check_trace; HOME=$(pwd) HELPER="zero_test_cases" kyua --config=none test --store=bootstrap.db 21576b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 21586b3a42afSjmmvat_status=$? at_failed=false 21596b3a42afSjmmv$at_check_filter 21606b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 21616b3a42afSjmmvecho stdout:; tee stdout <"$at_stdout" 21626b3a42afSjmmvat_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:96" 21636b3a42afSjmmv$at_failed && at_fn_log_failure 21646b3a42afSjmmv$at_traceon; } 21656b3a42afSjmmv 21666b3a42afSjmmvre='plain_helpers:__test_cases_list__.*broken.*Empty test cases list' 21676b3a42afSjmmv{ set +x 21686b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:98: grep \"\${re}\" stdout" 21696b3a42afSjmmvat_fn_check_prepare_notrace 'a ${...} parameter expansion' "testsuite.at:98" 21706b3a42afSjmmv( $at_check_trace; grep "${re}" stdout 21716b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 21726b3a42afSjmmvat_status=$? at_failed=false 21736b3a42afSjmmv$at_check_filter 21746b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 21756b3a42afSjmmvecho stdout:; cat "$at_stdout" 21766b3a42afSjmmvat_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:98" 21776b3a42afSjmmv$at_failed && at_fn_log_failure 21786b3a42afSjmmv$at_traceon; } 21796b3a42afSjmmv 21806b3a42afSjmmv 21816b3a42afSjmmv set +x 21826b3a42afSjmmv $at_times_p && times >"$at_times_file" 21836b3a42afSjmmv) 5>&1 2>&1 7>&- | eval $at_tee_pipe 21846b3a42afSjmmvread at_status <"$at_status_file" 21856b3a42afSjmmv#AT_STOP_3 21866b3a42afSjmmv#AT_START_4 21876b3a42afSjmmvat_fn_group_banner 4 'testsuite.at:103' \ 21886b3a42afSjmmv "run test case that passes" " " 21896b3a42afSjmmvat_xfail=no 21906b3a42afSjmmv( 21916b3a42afSjmmv $as_echo "4. $at_setup_line: testing $at_desc ..." 21926b3a42afSjmmv $at_traceon 21936b3a42afSjmmv 21946b3a42afSjmmv 21956b3a42afSjmmv 21966b3a42afSjmmv 21976b3a42afSjmmv cat >Kyuafile <<'_ATEOF' 21986b3a42afSjmmv 21996b3a42afSjmmvsyntax(2) 22006b3a42afSjmmvtest_suite("bootstrap") 22016b3a42afSjmmvatf_test_program{name="atf_helpers"} 22026b3a42afSjmmv_ATEOF 22036b3a42afSjmmv 22046b3a42afSjmmv ln -s $({ 22056b3a42afSjmmv old=$(pwd) 22066b3a42afSjmmv cd "${at_suite_dir}" 22076b3a42afSjmmv # We need to locate a build product, not a source file, because the 22086b3a42afSjmmv # test suite may be run outside of the source tree (think distcheck). 22096b3a42afSjmmv while test $(pwd) != '/' -a ! -e engine/test_case_test; do 22106b3a42afSjmmv cd .. 22116b3a42afSjmmv done 22126b3a42afSjmmv topdir=$(pwd) 22136b3a42afSjmmv cd ${old} 22146b3a42afSjmmv echo ${topdir} 22156b3a42afSjmmv})/bootstrap/atf_helpers atf_helpers 22166b3a42afSjmmv 22176b3a42afSjmmv{ set +x 22186b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:107: HOME=\$(pwd) TESTS=\"passes\" kyua --config=none test --store=bootstrap.db " 22196b3a42afSjmmvat_fn_check_prepare_notrace 'a $(...) command substitution' "testsuite.at:107" 22206b3a42afSjmmv( $at_check_trace; HOME=$(pwd) TESTS="passes" kyua --config=none test --store=bootstrap.db 22216b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 22226b3a42afSjmmvat_status=$? at_failed=false 22236b3a42afSjmmv$at_check_filter 22246b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 22256b3a42afSjmmvecho stdout:; tee stdout <"$at_stdout" 22266b3a42afSjmmvat_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:107" 22276b3a42afSjmmv$at_failed && at_fn_log_failure 22286b3a42afSjmmv$at_traceon; } 22296b3a42afSjmmv 22306b3a42afSjmmv{ set +x 22316b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:108: grep \"atf_helpers:fails\" stdout" 22326b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:108" 22336b3a42afSjmmv( $at_check_trace; grep "atf_helpers:fails" stdout 22346b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 22356b3a42afSjmmvat_status=$? at_failed=false 22366b3a42afSjmmv$at_check_filter 22376b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 22386b3a42afSjmmvat_fn_diff_devnull "$at_stdout" || at_failed=: 22396b3a42afSjmmvat_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:108" 22406b3a42afSjmmv$at_failed && at_fn_log_failure 22416b3a42afSjmmv$at_traceon; } 22426b3a42afSjmmv 22436b3a42afSjmmv{ set +x 22446b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:109: grep \"atf_helpers:passes.*passed\" stdout" 22456b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:109" 22466b3a42afSjmmv( $at_check_trace; grep "atf_helpers:passes.*passed" stdout 22476b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 22486b3a42afSjmmvat_status=$? at_failed=false 22496b3a42afSjmmv$at_check_filter 22506b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 22516b3a42afSjmmvecho stdout:; cat "$at_stdout" 22526b3a42afSjmmvat_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:109" 22536b3a42afSjmmv$at_failed && at_fn_log_failure 22546b3a42afSjmmv$at_traceon; } 22556b3a42afSjmmv 22566b3a42afSjmmv{ set +x 22576b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:110: grep \"atf_helpers:skips\" stdout" 22586b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:110" 22596b3a42afSjmmv( $at_check_trace; grep "atf_helpers:skips" stdout 22606b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 22616b3a42afSjmmvat_status=$? at_failed=false 22626b3a42afSjmmv$at_check_filter 22636b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 22646b3a42afSjmmvat_fn_diff_devnull "$at_stdout" || at_failed=: 22656b3a42afSjmmvat_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:110" 22666b3a42afSjmmv$at_failed && at_fn_log_failure 22676b3a42afSjmmv$at_traceon; } 22686b3a42afSjmmv 22696b3a42afSjmmv 22706b3a42afSjmmv set +x 22716b3a42afSjmmv $at_times_p && times >"$at_times_file" 22726b3a42afSjmmv) 5>&1 2>&1 7>&- | eval $at_tee_pipe 22736b3a42afSjmmvread at_status <"$at_status_file" 22746b3a42afSjmmv#AT_STOP_4 22756b3a42afSjmmv#AT_START_5 22766b3a42afSjmmvat_fn_group_banner 5 'testsuite.at:115' \ 22776b3a42afSjmmv "run test case that fails" " " 22786b3a42afSjmmvat_xfail=no 22796b3a42afSjmmv( 22806b3a42afSjmmv $as_echo "5. $at_setup_line: testing $at_desc ..." 22816b3a42afSjmmv $at_traceon 22826b3a42afSjmmv 22836b3a42afSjmmv 22846b3a42afSjmmv 22856b3a42afSjmmv 22866b3a42afSjmmv cat >Kyuafile <<'_ATEOF' 22876b3a42afSjmmv 22886b3a42afSjmmvsyntax(2) 22896b3a42afSjmmvtest_suite("bootstrap") 22906b3a42afSjmmvatf_test_program{name="atf_helpers"} 22916b3a42afSjmmv_ATEOF 22926b3a42afSjmmv 22936b3a42afSjmmv ln -s $({ 22946b3a42afSjmmv old=$(pwd) 22956b3a42afSjmmv cd "${at_suite_dir}" 22966b3a42afSjmmv # We need to locate a build product, not a source file, because the 22976b3a42afSjmmv # test suite may be run outside of the source tree (think distcheck). 22986b3a42afSjmmv while test $(pwd) != '/' -a ! -e engine/test_case_test; do 22996b3a42afSjmmv cd .. 23006b3a42afSjmmv done 23016b3a42afSjmmv topdir=$(pwd) 23026b3a42afSjmmv cd ${old} 23036b3a42afSjmmv echo ${topdir} 23046b3a42afSjmmv})/bootstrap/atf_helpers atf_helpers 23056b3a42afSjmmv 23066b3a42afSjmmv{ set +x 23076b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:119: HOME=\$(pwd) TESTS=\"fails\" kyua --config=none test --store=bootstrap.db " 23086b3a42afSjmmvat_fn_check_prepare_notrace 'a $(...) command substitution' "testsuite.at:119" 23096b3a42afSjmmv( $at_check_trace; HOME=$(pwd) TESTS="fails" kyua --config=none test --store=bootstrap.db 23106b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 23116b3a42afSjmmvat_status=$? at_failed=false 23126b3a42afSjmmv$at_check_filter 23136b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 23146b3a42afSjmmvecho stdout:; tee stdout <"$at_stdout" 23156b3a42afSjmmvat_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:119" 23166b3a42afSjmmv$at_failed && at_fn_log_failure 23176b3a42afSjmmv$at_traceon; } 23186b3a42afSjmmv 23196b3a42afSjmmv{ set +x 23206b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:120: grep \"atf_helpers:fails.*failed.*Failed on purpose\" stdout" 23216b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:120" 23226b3a42afSjmmv( $at_check_trace; grep "atf_helpers:fails.*failed.*Failed on purpose" stdout 23236b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 23246b3a42afSjmmvat_status=$? at_failed=false 23256b3a42afSjmmv$at_check_filter 23266b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 23276b3a42afSjmmvecho stdout:; cat "$at_stdout" 23286b3a42afSjmmvat_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:120" 23296b3a42afSjmmv$at_failed && at_fn_log_failure 23306b3a42afSjmmv$at_traceon; } 23316b3a42afSjmmv 23326b3a42afSjmmv{ set +x 23336b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:122: grep \"atf_helpers:passes\" stdout" 23346b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:122" 23356b3a42afSjmmv( $at_check_trace; grep "atf_helpers:passes" stdout 23366b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 23376b3a42afSjmmvat_status=$? at_failed=false 23386b3a42afSjmmv$at_check_filter 23396b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 23406b3a42afSjmmvat_fn_diff_devnull "$at_stdout" || at_failed=: 23416b3a42afSjmmvat_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:122" 23426b3a42afSjmmv$at_failed && at_fn_log_failure 23436b3a42afSjmmv$at_traceon; } 23446b3a42afSjmmv 23456b3a42afSjmmv{ set +x 23466b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:123: grep \"atf_helpers:skips\" stdout" 23476b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:123" 23486b3a42afSjmmv( $at_check_trace; grep "atf_helpers:skips" stdout 23496b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 23506b3a42afSjmmvat_status=$? at_failed=false 23516b3a42afSjmmv$at_check_filter 23526b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 23536b3a42afSjmmvat_fn_diff_devnull "$at_stdout" || at_failed=: 23546b3a42afSjmmvat_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:123" 23556b3a42afSjmmv$at_failed && at_fn_log_failure 23566b3a42afSjmmv$at_traceon; } 23576b3a42afSjmmv 23586b3a42afSjmmv 23596b3a42afSjmmv set +x 23606b3a42afSjmmv $at_times_p && times >"$at_times_file" 23616b3a42afSjmmv) 5>&1 2>&1 7>&- | eval $at_tee_pipe 23626b3a42afSjmmvread at_status <"$at_status_file" 23636b3a42afSjmmv#AT_STOP_5 23646b3a42afSjmmv#AT_START_6 23656b3a42afSjmmvat_fn_group_banner 6 'testsuite.at:128' \ 23666b3a42afSjmmv "run test case that skips" " " 23676b3a42afSjmmvat_xfail=no 23686b3a42afSjmmv( 23696b3a42afSjmmv $as_echo "6. $at_setup_line: testing $at_desc ..." 23706b3a42afSjmmv $at_traceon 23716b3a42afSjmmv 23726b3a42afSjmmv 23736b3a42afSjmmv 23746b3a42afSjmmv 23756b3a42afSjmmv cat >Kyuafile <<'_ATEOF' 23766b3a42afSjmmv 23776b3a42afSjmmvsyntax(2) 23786b3a42afSjmmvtest_suite("bootstrap") 23796b3a42afSjmmvatf_test_program{name="atf_helpers"} 23806b3a42afSjmmv_ATEOF 23816b3a42afSjmmv 23826b3a42afSjmmv ln -s $({ 23836b3a42afSjmmv old=$(pwd) 23846b3a42afSjmmv cd "${at_suite_dir}" 23856b3a42afSjmmv # We need to locate a build product, not a source file, because the 23866b3a42afSjmmv # test suite may be run outside of the source tree (think distcheck). 23876b3a42afSjmmv while test $(pwd) != '/' -a ! -e engine/test_case_test; do 23886b3a42afSjmmv cd .. 23896b3a42afSjmmv done 23906b3a42afSjmmv topdir=$(pwd) 23916b3a42afSjmmv cd ${old} 23926b3a42afSjmmv echo ${topdir} 23936b3a42afSjmmv})/bootstrap/atf_helpers atf_helpers 23946b3a42afSjmmv 23956b3a42afSjmmv{ set +x 23966b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:132: HOME=\$(pwd) TESTS=\"skips\" kyua --config=none test --store=bootstrap.db " 23976b3a42afSjmmvat_fn_check_prepare_notrace 'a $(...) command substitution' "testsuite.at:132" 23986b3a42afSjmmv( $at_check_trace; HOME=$(pwd) TESTS="skips" kyua --config=none test --store=bootstrap.db 23996b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 24006b3a42afSjmmvat_status=$? at_failed=false 24016b3a42afSjmmv$at_check_filter 24026b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 24036b3a42afSjmmvecho stdout:; tee stdout <"$at_stdout" 24046b3a42afSjmmvat_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:132" 24056b3a42afSjmmv$at_failed && at_fn_log_failure 24066b3a42afSjmmv$at_traceon; } 24076b3a42afSjmmv 24086b3a42afSjmmv{ set +x 24096b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:133: grep \"atf_helpers:fails\" stdout" 24106b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:133" 24116b3a42afSjmmv( $at_check_trace; grep "atf_helpers:fails" stdout 24126b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 24136b3a42afSjmmvat_status=$? at_failed=false 24146b3a42afSjmmv$at_check_filter 24156b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 24166b3a42afSjmmvat_fn_diff_devnull "$at_stdout" || at_failed=: 24176b3a42afSjmmvat_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:133" 24186b3a42afSjmmv$at_failed && at_fn_log_failure 24196b3a42afSjmmv$at_traceon; } 24206b3a42afSjmmv 24216b3a42afSjmmv{ set +x 24226b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:134: grep \"atf_helpers:passes\" stdout" 24236b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:134" 24246b3a42afSjmmv( $at_check_trace; grep "atf_helpers:passes" stdout 24256b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 24266b3a42afSjmmvat_status=$? at_failed=false 24276b3a42afSjmmv$at_check_filter 24286b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 24296b3a42afSjmmvat_fn_diff_devnull "$at_stdout" || at_failed=: 24306b3a42afSjmmvat_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:134" 24316b3a42afSjmmv$at_failed && at_fn_log_failure 24326b3a42afSjmmv$at_traceon; } 24336b3a42afSjmmv 24346b3a42afSjmmv{ set +x 24356b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:135: grep \"atf_helpers:skips.*skipped.*Skipped on purpose\" stdout" 24366b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:135" 24376b3a42afSjmmv( $at_check_trace; grep "atf_helpers:skips.*skipped.*Skipped on purpose" stdout 24386b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 24396b3a42afSjmmvat_status=$? at_failed=false 24406b3a42afSjmmv$at_check_filter 24416b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 24426b3a42afSjmmvecho stdout:; cat "$at_stdout" 24436b3a42afSjmmvat_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:135" 24446b3a42afSjmmv$at_failed && at_fn_log_failure 24456b3a42afSjmmv$at_traceon; } 24466b3a42afSjmmv 24476b3a42afSjmmv 24486b3a42afSjmmv set +x 24496b3a42afSjmmv $at_times_p && times >"$at_times_file" 24506b3a42afSjmmv) 5>&1 2>&1 7>&- | eval $at_tee_pipe 24516b3a42afSjmmvread at_status <"$at_status_file" 24526b3a42afSjmmv#AT_STOP_6 24536b3a42afSjmmv#AT_START_7 24546b3a42afSjmmvat_fn_group_banner 7 'testsuite.at:141' \ 24556b3a42afSjmmv "run two test cases, success" " " 24566b3a42afSjmmvat_xfail=no 24576b3a42afSjmmv( 24586b3a42afSjmmv $as_echo "7. $at_setup_line: testing $at_desc ..." 24596b3a42afSjmmv $at_traceon 24606b3a42afSjmmv 24616b3a42afSjmmv 24626b3a42afSjmmv 24636b3a42afSjmmv 24646b3a42afSjmmv cat >Kyuafile <<'_ATEOF' 24656b3a42afSjmmv 24666b3a42afSjmmvsyntax(2) 24676b3a42afSjmmvtest_suite("bootstrap") 24686b3a42afSjmmvatf_test_program{name="atf_helpers"} 24696b3a42afSjmmv_ATEOF 24706b3a42afSjmmv 24716b3a42afSjmmv ln -s $({ 24726b3a42afSjmmv old=$(pwd) 24736b3a42afSjmmv cd "${at_suite_dir}" 24746b3a42afSjmmv # We need to locate a build product, not a source file, because the 24756b3a42afSjmmv # test suite may be run outside of the source tree (think distcheck). 24766b3a42afSjmmv while test $(pwd) != '/' -a ! -e engine/test_case_test; do 24776b3a42afSjmmv cd .. 24786b3a42afSjmmv done 24796b3a42afSjmmv topdir=$(pwd) 24806b3a42afSjmmv cd ${old} 24816b3a42afSjmmv echo ${topdir} 24826b3a42afSjmmv})/bootstrap/atf_helpers atf_helpers 24836b3a42afSjmmv 24846b3a42afSjmmv{ set +x 24856b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:145: HOME=\$(pwd) TESTS=\"passes skips\" kyua --config=none test --store=bootstrap.db " 24866b3a42afSjmmvat_fn_check_prepare_notrace 'a $(...) command substitution' "testsuite.at:145" 24876b3a42afSjmmv( $at_check_trace; HOME=$(pwd) TESTS="passes skips" kyua --config=none test --store=bootstrap.db 24886b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 24896b3a42afSjmmvat_status=$? at_failed=false 24906b3a42afSjmmv$at_check_filter 24916b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 24926b3a42afSjmmvecho stdout:; tee stdout <"$at_stdout" 24936b3a42afSjmmvat_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:145" 24946b3a42afSjmmv$at_failed && at_fn_log_failure 24956b3a42afSjmmv$at_traceon; } 24966b3a42afSjmmv 24976b3a42afSjmmv{ set +x 24986b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:146: grep \"atf_helpers:fails\" stdout" 24996b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:146" 25006b3a42afSjmmv( $at_check_trace; grep "atf_helpers:fails" stdout 25016b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 25026b3a42afSjmmvat_status=$? at_failed=false 25036b3a42afSjmmv$at_check_filter 25046b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 25056b3a42afSjmmvat_fn_diff_devnull "$at_stdout" || at_failed=: 25066b3a42afSjmmvat_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:146" 25076b3a42afSjmmv$at_failed && at_fn_log_failure 25086b3a42afSjmmv$at_traceon; } 25096b3a42afSjmmv 25106b3a42afSjmmv{ set +x 25116b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:147: grep \"atf_helpers:passes.*passed\" stdout" 25126b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:147" 25136b3a42afSjmmv( $at_check_trace; grep "atf_helpers:passes.*passed" stdout 25146b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 25156b3a42afSjmmvat_status=$? at_failed=false 25166b3a42afSjmmv$at_check_filter 25176b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 25186b3a42afSjmmvecho stdout:; cat "$at_stdout" 25196b3a42afSjmmvat_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:147" 25206b3a42afSjmmv$at_failed && at_fn_log_failure 25216b3a42afSjmmv$at_traceon; } 25226b3a42afSjmmv 25236b3a42afSjmmv{ set +x 25246b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:148: grep \"atf_helpers:skips.*skipped.*Skipped on purpose\" stdout" 25256b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:148" 25266b3a42afSjmmv( $at_check_trace; grep "atf_helpers:skips.*skipped.*Skipped on purpose" stdout 25276b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 25286b3a42afSjmmvat_status=$? at_failed=false 25296b3a42afSjmmv$at_check_filter 25306b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 25316b3a42afSjmmvecho stdout:; cat "$at_stdout" 25326b3a42afSjmmvat_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:148" 25336b3a42afSjmmv$at_failed && at_fn_log_failure 25346b3a42afSjmmv$at_traceon; } 25356b3a42afSjmmv 25366b3a42afSjmmv 25376b3a42afSjmmv set +x 25386b3a42afSjmmv $at_times_p && times >"$at_times_file" 25396b3a42afSjmmv) 5>&1 2>&1 7>&- | eval $at_tee_pipe 25406b3a42afSjmmvread at_status <"$at_status_file" 25416b3a42afSjmmv#AT_STOP_7 25426b3a42afSjmmv#AT_START_8 25436b3a42afSjmmvat_fn_group_banner 8 'testsuite.at:154' \ 25446b3a42afSjmmv "run two test cases, failure" " " 25456b3a42afSjmmvat_xfail=no 25466b3a42afSjmmv( 25476b3a42afSjmmv $as_echo "8. $at_setup_line: testing $at_desc ..." 25486b3a42afSjmmv $at_traceon 25496b3a42afSjmmv 25506b3a42afSjmmv 25516b3a42afSjmmv 25526b3a42afSjmmv 25536b3a42afSjmmv cat >Kyuafile <<'_ATEOF' 25546b3a42afSjmmv 25556b3a42afSjmmvsyntax(2) 25566b3a42afSjmmvtest_suite("bootstrap") 25576b3a42afSjmmvatf_test_program{name="atf_helpers"} 25586b3a42afSjmmv_ATEOF 25596b3a42afSjmmv 25606b3a42afSjmmv ln -s $({ 25616b3a42afSjmmv old=$(pwd) 25626b3a42afSjmmv cd "${at_suite_dir}" 25636b3a42afSjmmv # We need to locate a build product, not a source file, because the 25646b3a42afSjmmv # test suite may be run outside of the source tree (think distcheck). 25656b3a42afSjmmv while test $(pwd) != '/' -a ! -e engine/test_case_test; do 25666b3a42afSjmmv cd .. 25676b3a42afSjmmv done 25686b3a42afSjmmv topdir=$(pwd) 25696b3a42afSjmmv cd ${old} 25706b3a42afSjmmv echo ${topdir} 25716b3a42afSjmmv})/bootstrap/atf_helpers atf_helpers 25726b3a42afSjmmv 25736b3a42afSjmmv{ set +x 25746b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:158: HOME=\$(pwd) TESTS=\"fails passes\" kyua --config=none test --store=bootstrap.db " 25756b3a42afSjmmvat_fn_check_prepare_notrace 'a $(...) command substitution' "testsuite.at:158" 25766b3a42afSjmmv( $at_check_trace; HOME=$(pwd) TESTS="fails passes" kyua --config=none test --store=bootstrap.db 25776b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 25786b3a42afSjmmvat_status=$? at_failed=false 25796b3a42afSjmmv$at_check_filter 25806b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 25816b3a42afSjmmvecho stdout:; tee stdout <"$at_stdout" 25826b3a42afSjmmvat_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:158" 25836b3a42afSjmmv$at_failed && at_fn_log_failure 25846b3a42afSjmmv$at_traceon; } 25856b3a42afSjmmv 25866b3a42afSjmmv{ set +x 25876b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:159: grep \"atf_helpers:fails.*failure.*Failed on purpose\" stdout" 25886b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:159" 25896b3a42afSjmmv( $at_check_trace; grep "atf_helpers:fails.*failure.*Failed on purpose" stdout 25906b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 25916b3a42afSjmmvat_status=$? at_failed=false 25926b3a42afSjmmv$at_check_filter 25936b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 25946b3a42afSjmmvat_fn_diff_devnull "$at_stdout" || at_failed=: 25956b3a42afSjmmvat_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:159" 25966b3a42afSjmmv$at_failed && at_fn_log_failure 25976b3a42afSjmmv$at_traceon; } 25986b3a42afSjmmv 25996b3a42afSjmmv{ set +x 26006b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:161: grep \"atf_helpers:passes.*passed\" stdout" 26016b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:161" 26026b3a42afSjmmv( $at_check_trace; grep "atf_helpers:passes.*passed" stdout 26036b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 26046b3a42afSjmmvat_status=$? at_failed=false 26056b3a42afSjmmv$at_check_filter 26066b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 26076b3a42afSjmmvecho stdout:; cat "$at_stdout" 26086b3a42afSjmmvat_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:161" 26096b3a42afSjmmv$at_failed && at_fn_log_failure 26106b3a42afSjmmv$at_traceon; } 26116b3a42afSjmmv 26126b3a42afSjmmv{ set +x 26136b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:162: grep \"atf_helpers:skips\" stdout" 26146b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:162" 26156b3a42afSjmmv( $at_check_trace; grep "atf_helpers:skips" stdout 26166b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 26176b3a42afSjmmvat_status=$? at_failed=false 26186b3a42afSjmmv$at_check_filter 26196b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 26206b3a42afSjmmvat_fn_diff_devnull "$at_stdout" || at_failed=: 26216b3a42afSjmmvat_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:162" 26226b3a42afSjmmv$at_failed && at_fn_log_failure 26236b3a42afSjmmv$at_traceon; } 26246b3a42afSjmmv 26256b3a42afSjmmv 26266b3a42afSjmmv set +x 26276b3a42afSjmmv $at_times_p && times >"$at_times_file" 26286b3a42afSjmmv) 5>&1 2>&1 7>&- | eval $at_tee_pipe 26296b3a42afSjmmvread at_status <"$at_status_file" 26306b3a42afSjmmv#AT_STOP_8 26316b3a42afSjmmv#AT_START_9 26326b3a42afSjmmvat_fn_group_banner 9 'testsuite.at:167' \ 26336b3a42afSjmmv "run mixed test cases" " " 26346b3a42afSjmmvat_xfail=no 26356b3a42afSjmmv( 26366b3a42afSjmmv $as_echo "9. $at_setup_line: testing $at_desc ..." 26376b3a42afSjmmv $at_traceon 26386b3a42afSjmmv 26396b3a42afSjmmv 26406b3a42afSjmmv 26416b3a42afSjmmv 26426b3a42afSjmmv cat >Kyuafile <<'_ATEOF' 26436b3a42afSjmmv 26446b3a42afSjmmvsyntax(2) 26456b3a42afSjmmvtest_suite("bootstrap") 26466b3a42afSjmmvatf_test_program{name="atf_helpers"} 26476b3a42afSjmmv_ATEOF 26486b3a42afSjmmv 26496b3a42afSjmmv ln -s $({ 26506b3a42afSjmmv old=$(pwd) 26516b3a42afSjmmv cd "${at_suite_dir}" 26526b3a42afSjmmv # We need to locate a build product, not a source file, because the 26536b3a42afSjmmv # test suite may be run outside of the source tree (think distcheck). 26546b3a42afSjmmv while test $(pwd) != '/' -a ! -e engine/test_case_test; do 26556b3a42afSjmmv cd .. 26566b3a42afSjmmv done 26576b3a42afSjmmv topdir=$(pwd) 26586b3a42afSjmmv cd ${old} 26596b3a42afSjmmv echo ${topdir} 26606b3a42afSjmmv})/bootstrap/atf_helpers atf_helpers 26616b3a42afSjmmv 26626b3a42afSjmmv{ set +x 26636b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:171: HOME=\$(pwd) TESTS=\"fails passes skips\" kyua --config=none test --store=bootstrap.db " 26646b3a42afSjmmvat_fn_check_prepare_notrace 'a $(...) command substitution' "testsuite.at:171" 26656b3a42afSjmmv( $at_check_trace; HOME=$(pwd) TESTS="fails passes skips" kyua --config=none test --store=bootstrap.db 26666b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 26676b3a42afSjmmvat_status=$? at_failed=false 26686b3a42afSjmmv$at_check_filter 26696b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 26706b3a42afSjmmvecho stdout:; tee stdout <"$at_stdout" 26716b3a42afSjmmvat_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:171" 26726b3a42afSjmmv$at_failed && at_fn_log_failure 26736b3a42afSjmmv$at_traceon; } 26746b3a42afSjmmv 26756b3a42afSjmmv{ set +x 26766b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:172: grep \"atf_helpers:fails.*failure.*Failed on purpose\" stdout" 26776b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:172" 26786b3a42afSjmmv( $at_check_trace; grep "atf_helpers:fails.*failure.*Failed on purpose" stdout 26796b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 26806b3a42afSjmmvat_status=$? at_failed=false 26816b3a42afSjmmv$at_check_filter 26826b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 26836b3a42afSjmmvat_fn_diff_devnull "$at_stdout" || at_failed=: 26846b3a42afSjmmvat_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:172" 26856b3a42afSjmmv$at_failed && at_fn_log_failure 26866b3a42afSjmmv$at_traceon; } 26876b3a42afSjmmv 26886b3a42afSjmmv{ set +x 26896b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:174: grep \"atf_helpers:passes.*passed\" stdout" 26906b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:174" 26916b3a42afSjmmv( $at_check_trace; grep "atf_helpers:passes.*passed" stdout 26926b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 26936b3a42afSjmmvat_status=$? at_failed=false 26946b3a42afSjmmv$at_check_filter 26956b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 26966b3a42afSjmmvecho stdout:; cat "$at_stdout" 26976b3a42afSjmmvat_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:174" 26986b3a42afSjmmv$at_failed && at_fn_log_failure 26996b3a42afSjmmv$at_traceon; } 27006b3a42afSjmmv 27016b3a42afSjmmv{ set +x 27026b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:175: grep \"atf_helpers:skips.*skipped.*Skipped on purpose\" stdout" 27036b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:175" 27046b3a42afSjmmv( $at_check_trace; grep "atf_helpers:skips.*skipped.*Skipped on purpose" stdout 27056b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 27066b3a42afSjmmvat_status=$? at_failed=false 27076b3a42afSjmmv$at_check_filter 27086b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 27096b3a42afSjmmvecho stdout:; cat "$at_stdout" 27106b3a42afSjmmvat_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:175" 27116b3a42afSjmmv$at_failed && at_fn_log_failure 27126b3a42afSjmmv$at_traceon; } 27136b3a42afSjmmv 27146b3a42afSjmmv 27156b3a42afSjmmv set +x 27166b3a42afSjmmv $at_times_p && times >"$at_times_file" 27176b3a42afSjmmv) 5>&1 2>&1 7>&- | eval $at_tee_pipe 27186b3a42afSjmmvread at_status <"$at_status_file" 27196b3a42afSjmmv#AT_STOP_9 27206b3a42afSjmmv#AT_START_10 27216b3a42afSjmmvat_fn_group_banner 10 'testsuite.at:181' \ 27226b3a42afSjmmv "run tests from build directories" " " 27236b3a42afSjmmvat_xfail=no 27246b3a42afSjmmv( 27256b3a42afSjmmv $as_echo "10. $at_setup_line: testing $at_desc ..." 27266b3a42afSjmmv $at_traceon 27276b3a42afSjmmv 27286b3a42afSjmmv 27296b3a42afSjmmv 27306b3a42afSjmmv 27316b3a42afSjmmv cat >Kyuafile <<'_ATEOF' 27326b3a42afSjmmv 27336b3a42afSjmmvsyntax(2) 27346b3a42afSjmmvtest_suite("bootstrap") 27356b3a42afSjmmvatf_test_program{name="atf_helpers"} 27366b3a42afSjmmv_ATEOF 27376b3a42afSjmmv 27386b3a42afSjmmv ln -s $({ 27396b3a42afSjmmv old=$(pwd) 27406b3a42afSjmmv cd "${at_suite_dir}" 27416b3a42afSjmmv # We need to locate a build product, not a source file, because the 27426b3a42afSjmmv # test suite may be run outside of the source tree (think distcheck). 27436b3a42afSjmmv while test $(pwd) != '/' -a ! -e engine/test_case_test; do 27446b3a42afSjmmv cd .. 27456b3a42afSjmmv done 27466b3a42afSjmmv topdir=$(pwd) 27476b3a42afSjmmv cd ${old} 27486b3a42afSjmmv echo ${topdir} 27496b3a42afSjmmv})/bootstrap/atf_helpers atf_helpers 27506b3a42afSjmmv 27516b3a42afSjmmv{ set +x 27526b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:185: mkdir src" 27536b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:185" 27546b3a42afSjmmv( $at_check_trace; mkdir src 27556b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 27566b3a42afSjmmvat_status=$? at_failed=false 27576b3a42afSjmmv$at_check_filter 27586b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 27596b3a42afSjmmvat_fn_diff_devnull "$at_stdout" || at_failed=: 27606b3a42afSjmmvat_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:185" 27616b3a42afSjmmv$at_failed && at_fn_log_failure 27626b3a42afSjmmv$at_traceon; } 27636b3a42afSjmmv 27646b3a42afSjmmv{ set +x 27656b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:186: mv Kyuafile src" 27666b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:186" 27676b3a42afSjmmv( $at_check_trace; mv Kyuafile src 27686b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 27696b3a42afSjmmvat_status=$? at_failed=false 27706b3a42afSjmmv$at_check_filter 27716b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 27726b3a42afSjmmvat_fn_diff_devnull "$at_stdout" || at_failed=: 27736b3a42afSjmmvat_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:186" 27746b3a42afSjmmv$at_failed && at_fn_log_failure 27756b3a42afSjmmv$at_traceon; } 27766b3a42afSjmmv 27776b3a42afSjmmv{ set +x 27786b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:187: mkdir obj" 27796b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:187" 27806b3a42afSjmmv( $at_check_trace; mkdir obj 27816b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 27826b3a42afSjmmvat_status=$? at_failed=false 27836b3a42afSjmmv$at_check_filter 27846b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 27856b3a42afSjmmvat_fn_diff_devnull "$at_stdout" || at_failed=: 27866b3a42afSjmmvat_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:187" 27876b3a42afSjmmv$at_failed && at_fn_log_failure 27886b3a42afSjmmv$at_traceon; } 27896b3a42afSjmmv 27906b3a42afSjmmv{ set +x 27916b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:188: mv atf_helpers obj" 27926b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:188" 27936b3a42afSjmmv( $at_check_trace; mv atf_helpers obj 27946b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 27956b3a42afSjmmvat_status=$? at_failed=false 27966b3a42afSjmmv$at_check_filter 27976b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 27986b3a42afSjmmvat_fn_diff_devnull "$at_stdout" || at_failed=: 27996b3a42afSjmmvat_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:188" 28006b3a42afSjmmv$at_failed && at_fn_log_failure 28016b3a42afSjmmv$at_traceon; } 28026b3a42afSjmmv 28036b3a42afSjmmv{ set +x 28046b3a42afSjmmv$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" 28056b3a42afSjmmvat_fn_check_prepare_notrace 'a $(...) command substitution' "testsuite.at:189" 28066b3a42afSjmmv( $at_check_trace; HOME=$(pwd) TESTS="fails passes skips" kyua --config=none test --store=bootstrap.db --kyuafile=src/Kyuafile --build-root=obj 28076b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 28086b3a42afSjmmvat_status=$? at_failed=false 28096b3a42afSjmmv$at_check_filter 28106b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 28116b3a42afSjmmvecho stdout:; tee stdout <"$at_stdout" 28126b3a42afSjmmvat_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:189" 28136b3a42afSjmmv$at_failed && at_fn_log_failure 28146b3a42afSjmmv$at_traceon; } 28156b3a42afSjmmv 28166b3a42afSjmmv{ set +x 28176b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:192: grep \"atf_helpers:fails.*failure.*Failed on purpose\" stdout" 28186b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:192" 28196b3a42afSjmmv( $at_check_trace; grep "atf_helpers:fails.*failure.*Failed on purpose" stdout 28206b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 28216b3a42afSjmmvat_status=$? at_failed=false 28226b3a42afSjmmv$at_check_filter 28236b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 28246b3a42afSjmmvat_fn_diff_devnull "$at_stdout" || at_failed=: 28256b3a42afSjmmvat_fn_check_status 1 $at_status "$at_srcdir/testsuite.at:192" 28266b3a42afSjmmv$at_failed && at_fn_log_failure 28276b3a42afSjmmv$at_traceon; } 28286b3a42afSjmmv 28296b3a42afSjmmv{ set +x 28306b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:194: grep \"atf_helpers:passes.*passed\" stdout" 28316b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:194" 28326b3a42afSjmmv( $at_check_trace; grep "atf_helpers:passes.*passed" stdout 28336b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 28346b3a42afSjmmvat_status=$? at_failed=false 28356b3a42afSjmmv$at_check_filter 28366b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 28376b3a42afSjmmvecho stdout:; cat "$at_stdout" 28386b3a42afSjmmvat_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:194" 28396b3a42afSjmmv$at_failed && at_fn_log_failure 28406b3a42afSjmmv$at_traceon; } 28416b3a42afSjmmv 28426b3a42afSjmmv{ set +x 28436b3a42afSjmmv$as_echo "$at_srcdir/testsuite.at:195: grep \"atf_helpers:skips.*skipped.*Skipped on purpose\" stdout" 28446b3a42afSjmmvat_fn_check_prepare_trace "testsuite.at:195" 28456b3a42afSjmmv( $at_check_trace; grep "atf_helpers:skips.*skipped.*Skipped on purpose" stdout 28466b3a42afSjmmv) >>"$at_stdout" 2>>"$at_stderr" 5>&- 28476b3a42afSjmmvat_status=$? at_failed=false 28486b3a42afSjmmv$at_check_filter 28496b3a42afSjmmvat_fn_diff_devnull "$at_stderr" || at_failed=: 28506b3a42afSjmmvecho stdout:; cat "$at_stdout" 28516b3a42afSjmmvat_fn_check_status 0 $at_status "$at_srcdir/testsuite.at:195" 28526b3a42afSjmmv$at_failed && at_fn_log_failure 28536b3a42afSjmmv$at_traceon; } 28546b3a42afSjmmv 28556b3a42afSjmmv 28566b3a42afSjmmv set +x 28576b3a42afSjmmv $at_times_p && times >"$at_times_file" 28586b3a42afSjmmv) 5>&1 2>&1 7>&- | eval $at_tee_pipe 28596b3a42afSjmmvread at_status <"$at_status_file" 28606b3a42afSjmmv#AT_STOP_10 2861