summaryrefslogtreecommitdiff
path: root/tests/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'tests/testsuite')
-rwxr-xr-xtests/testsuite2656
1 files changed, 1212 insertions, 1444 deletions
diff --git a/tests/testsuite b/tests/testsuite
index 96ee5f9..11117ab 100755
--- a/tests/testsuite
+++ b/tests/testsuite
@@ -1,17 +1,17 @@
#! /bin/sh
-# Generated from testsuite.at by GNU Autoconf 2.63.
+# Generated from testsuite.at by GNU Autoconf 2.69.
+#
+# Copyright (C) 2009-2012 Free Software Foundation, Inc.
#
-# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
# This test suite is free software; the Free Software Foundation gives
# unlimited permission to copy, distribute and modify it.
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
@@ -19,23 +19,15 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
esac
-
fi
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
as_nl='
'
export as_nl
@@ -43,7 +35,13 @@ export as_nl
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
as_echo='printf %s\n'
as_echo_n='printf %s'
else
@@ -54,7 +52,7 @@ else
as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
as_echo_n_body='eval
arg=$1;
- case $arg in
+ case $arg in #(
*"$as_nl"*)
expr "X$arg" : "X\\(.*\\)$as_nl";
arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
@@ -77,13 +75,6 @@ if test "${PATH_SEPARATOR+set}" != set; then
}
fi
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
# IFS
# We need space, tab and new line, in precisely that order. Quoting is
@@ -93,15 +84,16 @@ fi
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
-case $0 in
+as_myself=
+case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
IFS=$as_save_IFS
;;
@@ -113,12 +105,16 @@ if test "x$as_myself" = x; then
fi
if test ! -f "$as_myself"; then
$as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- { (exit 1); exit 1; }
+ exit 1
fi
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
PS1='$ '
PS2='> '
@@ -130,330 +126,319 @@ export LC_ALL
LANGUAGE=C
export LANGUAGE
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
# CDPATH.
-$as_unset CDPATH
-
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
if test "x$CONFIG_SHELL" = x; then
- if (eval ":") 2>/dev/null; then
- as_have_required=yes
+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
else
- as_have_required=no
+ case \`(set -o) 2>/dev/null\` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
fi
-
- if test $as_have_required = yes && (eval ":
-(as_func_return () {
- (exit \$1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
+"
+ as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
- :
+ exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
+ if (eval "$as_required") 2>/dev/null; then :
+ as_have_required=yes
else
- exitcode=1
- echo positional parameters were not saved.
+ as_have_required=no
fi
+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-test \$exitcode = 0) || { (exit 1); exit 1; }
-
-(
- as_lineno_1=\$LINENO
- as_lineno_2=\$LINENO
- test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
- test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
-") 2> /dev/null; then
- :
else
- as_candidate_shells=
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- case $as_dir in
+ as_found=:
+ case $as_dir in #(
/*)
for as_base in sh bash ksh sh5; do
- as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+ # Try only shells that exist, to save several forks.
+ as_shell=$as_dir/$as_base
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ CONFIG_SHELL=$as_shell as_have_required=yes
+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ break 2
+fi
+fi
done;;
esac
+ as_found=false
done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+ CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
IFS=$as_save_IFS
- for as_shell in $as_candidate_shells $SHELL; do
- # Try only shells that exist, to save several forks.
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { ("$as_shell") 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
+ if test "x$CONFIG_SHELL" != x; then :
+ export CONFIG_SHELL
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
esac
-
-fi
-
-
-:
-_ASEOF
-}; then
- CONFIG_SHELL=$as_shell
- as_have_required=yes
- if { "$as_shell" 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in
- *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-(as_func_return () {
- (exit $1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
-
-exitcode=0
-if as_func_success; then
- :
-else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
- :
-else
- exitcode=1
- echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = "$1" ); then
- :
-else
- exitcode=1
- echo positional parameters were not saved.
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+fi
+
+ if test x$as_have_required = xno; then :
+ $as_echo "$0: This script requires a shell more modern than all"
+ $as_echo "$0: the shells that I found on your system."
+ if test x${ZSH_VERSION+set} = xset ; then
+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+ $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+ else
+ $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
+$0: including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+ fi
+ exit 1
fi
-
-test $exitcode = 0) || { (exit 1); exit 1; }
-
-(
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
-
-_ASEOF
-}; then
- break
fi
-
fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
- done
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
- if test "x$CONFIG_SHELL" != x; then
- for as_var in BASH_ENV ENV
- do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- done
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-fi
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
- if test $as_have_required = no; then
- echo This script requires a shell more modern than all the
- echo shells that I found on your system. Please install a
- echo modern shell, or manually run the script under such a
- echo shell if you do have one.
- { (exit 1); exit 1; }
-fi
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-fi
-fi
+} # as_fn_mkdir_p
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
-(eval "as_func_return () {
- (exit \$1)
-}
-as_func_success () {
- as_func_return 0
-}
-as_func_failure () {
- as_func_return 1
-}
-as_func_ret_success () {
- return 0
-}
-as_func_ret_failure () {
- return 1
-}
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
-exitcode=0
-if as_func_success; then
- :
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
else
- exitcode=1
- echo as_func_success failed.
-fi
-
-if as_func_failure; then
- exitcode=1
- echo as_func_failure succeeded.
+ as_expr=false
fi
-if as_func_ret_success; then
- :
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
else
- exitcode=1
- echo as_func_ret_success failed.
+ as_basename=false
fi
-if as_func_ret_failure; then
- exitcode=1
- echo as_func_ret_failure succeeded.
-fi
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
- :
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
else
- exitcode=1
- echo positional parameters were not saved.
+ as_dirname=false
fi
-test \$exitcode = 0") || {
- echo No shell found that supports shell functions.
- echo Please tell bug-autoconf@gnu.org about your system,
- echo including any error possibly output before this message.
- echo This can help us improve future autoconf versions.
- echo Configuration will now proceed without shell functions.
-}
-
-
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line after each line using $LINENO; the second 'sed'
- # does the real work. The second script uses 'N' to pair each
- # line-number line with the line containing $LINENO, and appends
- # trailing '-' during substitution so that $LINENO is not a special
- # case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # scripts with optimization help from Paolo Bonzini. Blame Lee
- # E. McMahon (1931-1989) for sed's syntax. :-)
+ as_lineno_1=$LINENO as_lineno_1a=$LINENO
+ as_lineno_2=$LINENO as_lineno_2a=$LINENO
+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
sed -n '
p
/[$]LINENO/=
@@ -470,10 +455,12 @@ test \$exitcode = 0") || {
s/-\n.*//
' >$as_me.lineno &&
chmod +x "$as_me.lineno" ||
- { { $as_echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-$as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
- { (exit 1); exit 1; }; }
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+ # already done that, so ensure we don't try to do so again and fall
+ # in an infinite loop. This has already happened in practice.
+ _as_can_reexec=no; export _as_can_reexec
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
# original and so on. Autoconf is especially sensitive to this).
@@ -482,29 +469,18 @@ $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell"
exit
}
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
+case `echo -n x` in #(((((
-n*)
- case `echo 'x\c'` in
+ case `echo 'xy\c'` in
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
- *) ECHO_C='\c';;
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
esac;;
*)
ECHO_N='-n';;
esac
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
@@ -519,49 +495,29 @@ if (echo >conf$$.file) 2>/dev/null; then
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
+ # In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
else
- as_ln_s='cp -p'
+ as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
+ as_mkdir_p='mkdir -p "$as_dir"'
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -591,6 +547,11 @@ at_errexit_p=false
# Shall we be verbose? ':' means no, empty means yes.
at_verbose=:
at_quiet=
+# Running several jobs in parallel, 0 means as many as test groups.
+at_jobs=1
+at_traceon=:
+at_trace_echo=:
+at_check_filter_trace=:
# Shall we keep the debug scripts? Must be `:' when the suite is
# run by a debug script, so that the script doesn't remove itself.
@@ -605,6 +566,8 @@ at_list_p=false
at_clean=false
# Test groups to run
at_groups=
+# Whether to rerun failed tests.
+at_recheck=
# Whether a write failure occurred
at_write_fail=0
@@ -618,10 +581,10 @@ esac
# Whether -C is in effect.
at_change_dir=false
+# Whether to enable colored test results.
+at_color=no
# List of the tested programs.
at_tested=''
-# List of the all the test groups.
-at_groups_all=' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22'
# As many question marks as there are digits in the last test group number.
# Used to normalize the test group numbers so that `ls' lists them in
# numerical order.
@@ -650,12 +613,14 @@ at_help_all="1;version.at:17;gdbm version;;
21;cloexec02.at:17;cloexec: dbm_open;ndbm dbm_open cloexec cloexec02;
22;cloexec03.at:17;cloexec: dbm_open -creat;ndbm dbm_open cloexec cloexec03;
"
+# List of the all the test groups.
+at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'`
-# at_func_validate_ranges [NAME...]
-# ---------------------------------
-# Validate and normalize the test group number contained in each
-# variable NAME. Leading zeroes are treated as decimal.
-at_func_validate_ranges ()
+# at_fn_validate_ranges NAME...
+# -----------------------------
+# Validate and normalize the test group number contained in each variable
+# NAME. Leading zeroes are treated as decimal.
+at_fn_validate_ranges ()
{
for at_grp
do
@@ -666,7 +631,7 @@ at_func_validate_ranges ()
fi
case $at_value in
0*) # We want to treat leading 0 as decimal, like expr and test, but
- # at_func_arith treats it as octal if it uses $(( )).
+ # AS_VAR_ARITH treats it as octal if it uses $(( )).
# With XSI shells, ${at_value#${at_value%%[1-9]*}} avoids the
# expr fork, but it is not worth the effort to determine if the
# shell supports XSI when the user can just avoid leading 0.
@@ -685,8 +650,8 @@ do
fi
case $at_option in
- *=*) at_optarg=`expr "x$at_option" : 'x[^=]*=\(.*\)'` ;;
- *) at_optarg= ;;
+ *=?*) at_optarg=`expr "X$at_option" : '[^=]*=\(.*\)'` ;;
+ *) at_optarg= ;;
esac
# Accept the important Cygnus configure options, so we can diagnose typos.
@@ -708,6 +673,19 @@ do
at_clean=:
;;
+ --color )
+ at_color=always
+ ;;
+ --color=* )
+ case $at_optarg in
+ no | never | none) at_color=never ;;
+ auto | tty | if-tty) at_color=auto ;;
+ always | yes | force) at_color=always ;;
+ *) at_optname=`echo " $at_option" | sed 's/^ //; s/=.*//'`
+ as_fn_error $? "unrecognized argument to $at_optname: $at_optarg" ;;
+ esac
+ ;;
+
--debug | -d )
at_debug_p=:
;;
@@ -722,29 +700,31 @@ do
;;
--trace | -x )
- at_traceon='set -x'; at_traceoff='set +x'
+ at_traceon='set -x'
+ at_trace_echo=echo
+ at_check_filter_trace=at_fn_filter_trace
;;
[0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9])
- at_func_validate_ranges at_option
- at_groups="$at_groups$at_option "
+ at_fn_validate_ranges at_option
+ as_fn_append at_groups "$at_option$as_nl"
;;
# Ranges
[0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-)
at_range_start=`echo $at_option |tr -d X-`
- at_func_validate_ranges at_range_start
- at_range=`$as_echo " $at_groups_all " | \
- sed -e 's/^.* \('$at_range_start' \)/\1/'`
- at_groups="$at_groups$at_range "
+ at_fn_validate_ranges at_range_start
+ at_range=`$as_echo "$at_groups_all" | \
+ sed -ne '/^'$at_range_start'$/,$p'`
+ as_fn_append at_groups "$at_range$as_nl"
;;
-[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9])
at_range_end=`echo $at_option |tr -d X-`
- at_func_validate_ranges at_range_end
- at_range=`$as_echo " $at_groups_all " | \
- sed -e 's/\( '$at_range_end'\) .*$/\1/'`
- at_groups="$at_groups$at_range "
+ at_fn_validate_ranges at_range_end
+ at_range=`$as_echo "$at_groups_all" | \
+ sed -ne '1,/^'$at_range_end'$/p'`
+ as_fn_append at_groups "$at_range$as_nl"
;;
[0-9]-[0-9] | [0-9]-[0-9][0-9] | [0-9]-[0-9][0-9][0-9] | \
@@ -760,11 +740,10 @@ do
at_range_end=$at_range_start
at_range_start=$at_tmp
fi
- at_func_validate_ranges at_range_start at_range_end
- at_range=`$as_echo " $at_groups_all " | \
- sed -e 's/^.*\( '$at_range_start' \)/\1/' \
- -e 's/\( '$at_range_end'\) .*$/\1/'`
- at_groups="$at_groups$at_range "
+ at_fn_validate_ranges at_range_start at_range_end
+ at_range=`$as_echo "$at_groups_all" | \
+ sed -ne '/^'$at_range_start'$/,/^'$at_range_end'$/p'`
+ as_fn_append at_groups "$at_range$as_nl"
;;
# Directory selection.
@@ -774,6 +753,25 @@ do
--directory=* )
at_change_dir=:
at_dir=$at_optarg
+ if test x- = "x$at_dir" ; then
+ at_dir=./-
+ fi
+ ;;
+
+ # Parallel execution.
+ --jobs | -j )
+ at_jobs=0
+ ;;
+ --jobs=* | -j[0-9]* )
+ if test -n "$at_optarg"; then
+ at_jobs=$at_optarg
+ else
+ at_jobs=`expr X$at_option : 'X-j\(.*\)'`
+ fi
+ case $at_jobs in *[!0-9]*)
+ at_optname=`echo " $at_option" | sed 's/^ //; s/[0-9=].*//'`
+ as_fn_error $? "non-numeric argument to $at_optname: $at_jobs" ;;
+ esac
;;
# Keywords.
@@ -800,11 +798,12 @@ do
at_groups_selected=`$as_echo "$at_groups_selected" |
grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"`
done
- # Smash the newlines.
- at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//' |
- tr "$as_nl" ' '
- `
- at_groups="$at_groups$at_groups_selected "
+ # Smash the keywords.
+ at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//'`
+ as_fn_append at_groups "$at_groups_selected$as_nl"
+ ;;
+ --recheck)
+ at_recheck=:
;;
*=*)
@@ -812,14 +811,12 @@ do
# Reject names that are not valid shell variable names.
case $at_envvar in
'' | [0-9]* | *[!_$as_cr_alnum]* )
- { { $as_echo "$as_me:$LINENO: error: invalid variable name: $at_envvar" >&5
-$as_echo "$as_me: error: invalid variable name: $at_envvar" >&2;}
- { (exit 1); exit 1; }; } ;;
+ as_fn_error $? "invalid variable name: \`$at_envvar'" ;;
esac
at_value=`$as_echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"`
# Export now, but save eval for later and for debug scripts.
export $at_envvar
- at_debug_args="$at_debug_args $at_envvar='$at_value'"
+ as_fn_append at_debug_args " $at_envvar='$at_value'"
;;
*) $as_echo "$as_me: invalid option: $at_option" >&2
@@ -830,19 +827,42 @@ $as_echo "$as_me: error: invalid variable name: $at_envvar" >&2;}
done
# Verify our last option didn't require an argument
-if test -n "$at_prev"; then
- { { $as_echo "$as_me:$LINENO: error: \`$at_prev' requires an argument." >&5
-$as_echo "$as_me: error: \`$at_prev' requires an argument." >&2;}
- { (exit 1); exit 1; }; }
+if test -n "$at_prev"; then :
+ as_fn_error $? "\`$at_prev' requires an argument"
fi
+# The file containing the suite.
+at_suite_log=$at_dir/$as_me.log
# Selected test groups.
-if test -z "$at_groups"; then
+if test -z "$at_groups$at_recheck"; then
at_groups=$at_groups_all
else
+ if test -n "$at_recheck" && test -r "$at_suite_log"; then
+ at_oldfails=`sed -n '
+ /^Failed tests:$/,/^Skipped tests:$/{
+ s/^[ ]*\([1-9][0-9]*\):.*/\1/p
+ }
+ /^Unexpected passes:$/,/^## Detailed failed tests/{
+ s/^[ ]*\([1-9][0-9]*\):.*/\1/p
+ }
+ /^## Detailed failed tests/q
+ ' "$at_suite_log"`
+ as_fn_append at_groups "$at_oldfails$as_nl"
+ fi
# Sort the tests, removing duplicates.
- at_groups=`$as_echo "$at_groups" | tr ' ' "$as_nl" | sort -nu`
+ at_groups=`$as_echo "$at_groups" | sort -nu | sed '/^$/d'`
+fi
+
+if test x"$at_color" = xalways \
+ || { test x"$at_color" = xauto && test -t 1; }; then
+ at_red=`printf '\033[0;31m'`
+ at_grn=`printf '\033[0;32m'`
+ at_lgn=`printf '\033[1;32m'`
+ at_blu=`printf '\033[1;34m'`
+ at_std=`printf '\033[m'`
+else
+ at_red= at_grn= at_lgn= at_blu= at_std=
fi
# Help message.
@@ -853,16 +873,17 @@ Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS]
Run all the tests, or the selected TESTS, given by numeric ranges, and
save a detailed log file. Upon failure, create debugging scripts.
-You should not change environment variables unless explicitly passed
-as command line arguments. Set \`AUTOTEST_PATH' to select the executables
+Do not change environment variables directly. Instead, set them via
+command line arguments. Set \`AUTOTEST_PATH' to select the executables
to exercise. Each relative directory is expanded as build and source
-directories relatively to the top level of this distribution. E.g.,
+directories relative to the top level of this distribution.
+E.g., from within the build directory /tmp/foo-1.0, invoking this:
$ $0 AUTOTEST_PATH=bin
-possibly amounts into
+is equivalent to the following, assuming the source directory is /src/foo-1.0:
- PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH
+ PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH $0
_ATEOF
cat <<_ATEOF || at_write_fail=1
@@ -877,9 +898,14 @@ cat <<_ATEOF || at_write_fail=1
Execution tuning:
-C, --directory=DIR
change to directory DIR before starting
+ --color[=never|auto|always]
+ enable colored test results on terminal, or always
+ -j, --jobs[=N]
+ Allow N jobs at once; infinite jobs with no arg (default 1)
-k, --keywords=KEYWORDS
select the tests matching all the comma-separated KEYWORDS
multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD
+ --recheck select all tests that failed or passed unexpectedly last time
-e, --errexit abort as soon as a test fails; implies --debug
-v, --verbose force more detailed output
default for debugging scripts
@@ -897,54 +923,64 @@ fi
# List of tests.
if $at_list_p; then
cat <<_ATEOF || at_write_fail=1
-gdbm 1.10 test suite test groups:
+gdbm 1.11 test suite test groups:
NUM: FILE-NAME:LINE TEST-GROUP-NAME
KEYWORDS
_ATEOF
- # Passing at_groups is tricky. We cannot use it to form a literal string
- # or regexp because of the limitation of AIX awk. And Solaris' awk
- # doesn't grok more than 99 fields in a record, so we have to use `split'.
- # at_groups needs to be space-separated for this script to work.
- case $at_groups in
- *"$as_nl"* )
- at_groups=`$as_echo "$at_groups" | tr "$as_nl" ' '` ;;
- esac
- $as_echo "$at_groups$as_nl$at_help_all" |
- awk 'BEGIN { FS = ";" }
- NR == 1 {
- for (n = split($ 0, a, " "); n; n--) selected[a[n]] = 1
+ # Pass an empty line as separator between selected groups and help.
+ $as_echo "$at_groups$as_nl$as_nl$at_help_all" |
+ awk 'NF == 1 && FS != ";" {
+ selected[$ 1] = 1
next
}
- {
+ /^$/ { FS = ";" }
+ NF > 0 {
if (selected[$ 1]) {
printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3
- if ($ 4) printf " %s\n", $ 4
+ if ($ 4) {
+ lmax = 79
+ indent = " "
+ line = indent
+ len = length (line)
+ n = split ($ 4, a, " ")
+ for (i = 1; i <= n; i++) {
+ l = length (a[i]) + 1
+ if (i > 1 && len + l > lmax) {
+ print line
+ line = indent " " a[i]
+ len = length (line)
+ } else {
+ line = line " " a[i]
+ len += l
+ }
+ }
+ if (n)
+ print line
+ }
}
}' || at_write_fail=1
exit $at_write_fail
fi
if $at_version_p; then
- $as_echo "$as_me (gdbm 1.10)" &&
- cat <<\_ACEOF || at_write_fail=1
+ $as_echo "$as_me (gdbm 1.11)" &&
+ cat <<\_ATEOF || at_write_fail=1
-Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
This test suite is free software; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
-_ACEOF
+_ATEOF
exit $at_write_fail
fi
-# Should we print banners? at_groups is space-separated for entire test,
-# newline-separated if only a subset of the testsuite is run.
-case $at_groups in
- *' '*' '* | *"$as_nl"*"$as_nl"* )
- at_print_banners=: ;;
+# Should we print banners? Yes if more than one test is run.
+case $at_groups in #(
+ *$as_nl* )
+ at_print_banners=: ;; #(
* ) at_print_banners=false ;;
esac
-# Text for banner N, set to empty once printed.
+# Text for banner N, set to a single space once printed.
# Banner 1. testsuite.at:35
# Category starts at test group 2.
at_banner_text_1="GDBM interface"
@@ -960,13 +996,8 @@ at_banner_text_4="Cloexec"
# Take any -C into account.
if $at_change_dir ; then
- if test x- = "x$at_dir" ; then
- at_dir=./-
- fi
test x != "x$at_dir" && cd "$at_dir" \
- || { { $as_echo "$as_me:$LINENO: error: unable to change directory" >&5
-$as_echo "$as_me: error: unable to change directory" >&2;}
- { (exit 1); exit 1; }; }
+ || as_fn_error $? "unable to change directory"
at_dir=`pwd`
fi
@@ -974,13 +1005,11 @@ fi
for at_file in atconfig atlocal
do
test -r $at_file || continue
- . ./$at_file || { { $as_echo "$as_me:$LINENO: error: invalid content: $at_file" >&5
-$as_echo "$as_me: error: invalid content: $at_file" >&2;}
- { (exit 1); exit 1; }; }
+ . ./$at_file || as_fn_error $? "invalid content: $at_file"
done
# Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix:
-: ${at_top_build_prefix=$at_top_builddir}
+: "${at_top_build_prefix=$at_top_builddir}"
# Perform any assignments requested during argument parsing.
eval "$at_debug_args"
@@ -991,8 +1020,7 @@ if test -n "$at_top_srcdir"; then
builddir=../..
for at_dir_var in srcdir top_srcdir top_build_prefix
do
- at_val=`eval 'as_val=${'at_$at_dir_var'}
- $as_echo "$as_val"'`
+ eval at_val=\$at_$at_dir_var
case $at_val in
[\\/$]* | ?:[\\/]* ) at_prefix= ;;
*) at_prefix=../../ ;;
@@ -1001,9 +1029,9 @@ if test -n "$at_top_srcdir"; then
done
fi
-## ------------------- ##
-## Directory structure ##
-## ------------------- ##
+## -------------------- ##
+## Directory structure. ##
+## -------------------- ##
# This is the set of directories and files used by this script
# (non-literals are capitalized):
@@ -1034,12 +1062,14 @@ fi
# The directory the whole suite works in.
# Should be absolute to let the user `cd' at will.
at_suite_dir=$at_dir/$as_me.dir
-# The file containing the suite.
+# The file containing the suite ($at_dir might have changed since earlier).
at_suite_log=$at_dir/$as_me.log
# The directory containing helper files per test group.
at_helper_dir=$at_suite_dir/at-groups
# Stop file: if it exists, do not start new jobs.
at_stop_file=$at_suite_dir/at-stop
+# The fifo used for the job dispatcher.
+at_job_fifo=$at_suite_dir/at-job-fifo
if $at_clean; then
test -d "$at_suite_dir" &&
@@ -1063,23 +1093,23 @@ for as_dir in $AUTOTEST_PATH $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- test -n "$at_path" && at_path=$at_path$PATH_SEPARATOR
+ test -n "$at_path" && as_fn_append at_path $PATH_SEPARATOR
case $as_dir in
[\\/]* | ?:[\\/]* )
- at_path=$at_path$as_dir
+ as_fn_append at_path "$as_dir"
;;
* )
if test -z "$at_top_build_prefix"; then
# Stand-alone test suite.
- at_path=$at_path$as_dir
+ as_fn_append at_path "$as_dir"
else
# Embedded test suite.
- at_path=$at_path$at_top_build_prefix$as_dir$PATH_SEPARATOR
- at_path=$at_path$at_top_srcdir/$as_dir
+ as_fn_append at_path "$at_top_build_prefix$as_dir$PATH_SEPARATOR"
+ as_fn_append at_path "$at_top_srcdir/$as_dir"
fi
;;
esac
-done
+ done
IFS=$as_save_IFS
@@ -1093,7 +1123,7 @@ for as_dir in $at_path
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- test -d "$as_dir" || continue
+ test -d "$as_dir" || continue
case $as_dir in
[\\/]* | ?:[\\/]* ) ;;
* ) as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` ;;
@@ -1101,15 +1131,18 @@ esac
case $PATH_SEPARATOR$at_new_path$PATH_SEPARATOR in
*$PATH_SEPARATOR$as_dir$PATH_SEPARATOR*) ;;
$PATH_SEPARATOR$PATH_SEPARATOR) at_new_path=$as_dir ;;
- *) at_new_path=$at_new_path$PATH_SEPARATOR$as_dir ;;
+ *) as_fn_append at_new_path "$PATH_SEPARATOR$as_dir" ;;
esac
-done
+ done
IFS=$as_save_IFS
PATH=$at_new_path
export PATH
# Setting up the FDs.
+
+
+
# 5 is the log file. Not to be overwritten if `-d'.
if $at_debug_p; then
at_suite_log=/dev/null
@@ -1119,43 +1152,28 @@ fi
exec 5>>"$at_suite_log"
# Banners and logs.
-cat <<\_ASBOX
-## --------------------- ##
-## gdbm 1.10 test suite. ##
-## --------------------- ##
-_ASBOX
+$as_echo "## --------------------- ##
+## gdbm 1.11 test suite. ##
+## --------------------- ##"
{
- cat <<\_ASBOX
-## --------------------- ##
-## gdbm 1.10 test suite. ##
-## --------------------- ##
-_ASBOX
+ $as_echo "## --------------------- ##
+## gdbm 1.11 test suite. ##
+## --------------------- ##"
echo
$as_echo "$as_me: command line was:"
$as_echo " \$ $0 $at_cli_args"
echo
- # Try to find a few ChangeLogs in case it might help determining the
- # exact version. Use the relative dir: if the top dir is a symlink,
- # find will not follow it (and options to follow the links are not
- # portable), which would result in no output here. Prune directories
- # matching the package tarname, since they tend to be leftovers from
- # `make dist' or `make distcheck' and contain redundant or stale logs.
- if test -n "$at_top_srcdir"; then
- cat <<\_ASBOX
-## ----------- ##
-## ChangeLogs. ##
-## ----------- ##
-_ASBOX
+ # If ChangeLog exists, list a few lines in case it might help determining
+ # the exact version.
+ if test -n "$at_top_srcdir" && test -f "$at_top_srcdir/ChangeLog"; then
+ $as_echo "## ---------- ##
+## ChangeLog. ##
+## ---------- ##"
+ echo
+ sed 's/^/| /;10q' "$at_top_srcdir/ChangeLog"
echo
- for at_file in `find "$at_top_srcdir" -name "gdbm-*" -prune -o -name ChangeLog -print`
- do
- $as_echo "$as_me: $at_file:"
- sed 's/^/| /;10q' $at_file
- echo
- done
-
fi
{
@@ -1188,8 +1206,8 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
-done
+ $as_echo "PATH: $as_dir"
+ done
IFS=$as_save_IFS
}
@@ -1206,53 +1224,80 @@ IFS=$as_save_IFS
} >&5
-## --------------- ##
-## Shell functions ##
-## --------------- ##
+## ------------------------- ##
+## Autotest shell functions. ##
+## ------------------------- ##
-# at_func_banner NUMBER
-# ---------------------
-# Output banner NUMBER, provided the testsuite is running multiple groups
-# and this particular banner has not yet been printed.
-at_func_banner ()
+# at_fn_banner NUMBER
+# -------------------
+# Output banner NUMBER, provided the testsuite is running multiple groups and
+# this particular banner has not yet been printed.
+at_fn_banner ()
{
$at_print_banners || return 0
eval at_banner_text=\$at_banner_text_$1
- test "x$at_banner_text" = x && return 0
- eval at_banner_text_$1=
- $as_echo "$as_nl$at_banner_text$as_nl"
-} # at_func_banner
+ test "x$at_banner_text" = "x " && return 0
+ eval "at_banner_text_$1=\" \""
+ if test -z "$at_banner_text"; then
+ $at_first || echo
+ else
+ $as_echo "$as_nl$at_banner_text$as_nl"
+ fi
+} # at_fn_banner
-# at_func_check_newline COMMAND
-# -----------------------------
-# Test if COMMAND includes a newline and, if so, print a message and return
-# exit code 1
-at_func_check_newline ()
+# at_fn_check_prepare_notrace REASON LINE
+# ---------------------------------------
+# Perform AT_CHECK preparations for the command at LINE for an untraceable
+# command; REASON is the reason for disabling tracing.
+at_fn_check_prepare_notrace ()
{
- case "$1" in
- *'
-'*) echo 'Not enabling shell tracing (command contains an embedded newline)'
- return 1 ;;
- *) return 0 ;;
- esac
+ $at_trace_echo "Not enabling shell tracing (command contains $1)"
+ $as_echo "$2" >"$at_check_line_file"
+ at_check_trace=: at_check_filter=:
+ : >"$at_stdout"; : >"$at_stderr"
}
-# at_func_filter_trace EXIT-CODE
+# at_fn_check_prepare_trace LINE
# ------------------------------
-# Split the contents of file "$at_stder1" into the "set -x" trace (on stderr)
-# and the other lines (on file "$at_stderr"). Return the exit code EXIT-CODE.
-at_func_filter_trace ()
+# Perform AT_CHECK preparations for the command at LINE for a traceable
+# command.
+at_fn_check_prepare_trace ()
+{
+ $as_echo "$1" >"$at_check_line_file"
+ at_check_trace=$at_traceon at_check_filter=$at_check_filter_trace
+ : >"$at_stdout"; : >"$at_stderr"
+}
+
+# at_fn_check_prepare_dynamic COMMAND LINE
+# ----------------------------------------
+# Decide if COMMAND at LINE is traceable at runtime, and call the appropriate
+# preparation function.
+at_fn_check_prepare_dynamic ()
+{
+ case $1 in
+ *$as_nl*)
+ at_fn_check_prepare_notrace 'an embedded newline' "$2" ;;
+ *)
+ at_fn_check_prepare_trace "$2" ;;
+ esac
+}
+
+# at_fn_filter_trace
+# ------------------
+# Remove the lines in the file "$at_stderr" generated by "set -x" and print
+# them to stderr.
+at_fn_filter_trace ()
{
+ mv "$at_stderr" "$at_stder1"
grep '^ *+' "$at_stder1" >&2
grep -v '^ *+' "$at_stder1" >"$at_stderr"
- return $1
}
-# at_func_log_failure FILE-LIST
-# -----------------------------
+# at_fn_log_failure FILE-LIST
+# ---------------------------
# Copy the files in the list on stdout with a "> " prefix, and exit the shell
# with a failure exit code.
-at_func_log_failure ()
+at_fn_log_failure ()
{
for file
do $as_echo "$file:"; sed 's/^/> /' "$file"; done
@@ -1260,56 +1305,62 @@ at_func_log_failure ()
exit 1
}
-# at_func_check_skip EXIT-CODE
-# ----------------------------
-# Check whether EXIT-CODE is the special exit code 77, and if so exit the shell
-# with that same exit code.
-at_func_check_skip ()
+# at_fn_check_skip EXIT-CODE LINE
+# -------------------------------
+# Check whether EXIT-CODE is a special exit code (77 or 99), and if so exit
+# the test group subshell with that same exit code. Use LINE in any report
+# about test failure.
+at_fn_check_skip ()
{
case $1 in
+ 99) echo 99 > "$at_status_file"; at_failed=:
+ $as_echo "$2: hard failure"; exit 99;;
77) echo 77 > "$at_status_file"; exit 77;;
esac
}
-# at_func_check_status EXPECTED EXIT-CODE LINE
-# --------------------------------------------
-# Check whether EXIT-CODE is the expected exit code, and if so do nothing.
-# Otherwise, if it is 77 exit the shell with that same exit code; if it is
-# anything else print an error message and fail the test.
-at_func_check_status ()
+# at_fn_check_status EXPECTED EXIT-CODE LINE
+# ------------------------------------------
+# Check whether EXIT-CODE is the EXPECTED exit code, and if so do nothing.
+# Otherwise, if it is 77 or 99, exit the test group subshell with that same
+# exit code; if it is anything else print an error message referring to LINE,
+# and fail the test.
+at_fn_check_status ()
{
case $2 in
$1 ) ;;
77) echo 77 > "$at_status_file"; exit 77;;
+ 99) echo 99 > "$at_status_file"; at_failed=:
+ $as_echo "$3: hard failure"; exit 99;;
*) $as_echo "$3: exit code was $2, expected $1"
at_failed=:;;
esac
}
-# at_func_diff_devnull FILE
-# -------------------------
-# Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless
-# diff invocations.
-at_func_diff_devnull ()
+# at_fn_diff_devnull FILE
+# -----------------------
+# Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless diff
+# invocations.
+at_fn_diff_devnull ()
{
test -s "$1" || return 0
$at_diff "$at_devnull" "$1"
}
-# at_func_test NUMBER
-# -------------------
+# at_fn_test NUMBER
+# -----------------
# Parse out test NUMBER from the tail of this file.
-at_func_test ()
+at_fn_test ()
{
eval at_sed=\$at_sed$1
sed "$at_sed" "$at_myself" > "$at_test_source"
}
-# at_func_create_debugging_script
-# -------------------------------
+# at_fn_create_debugging_script
+# -----------------------------
# Create the debugging script $at_group_dir/run which will reproduce the
# current test group.
-at_func_create_debugging_script ()
+at_fn_create_debugging_script ()
{
{
echo "#! /bin/sh" &&
@@ -1321,34 +1372,13 @@ at_func_create_debugging_script ()
chmod +x "$at_group_dir/run"
}
-# at_func_arith
-# -------------
-# Arithmetic evaluation, avoids expr if the shell is sane. The
-# interpretation of leading zeroes is unspecified.
-#
-# subshell and eval are needed to keep Solaris sh from bailing out:
-if ( eval 'test $(( 1 + 1 )) = 2' ) 2>/dev/null; then
- # With "$@", bash does not split positional parameters:
- eval 'at_func_arith ()
- {
- at_func_arith_result=$(( $* ))
- }'
-else
- at_func_arith ()
- {
- at_func_arith_result=`expr "$@"`
- }
-fi
-
-## ---------------------- ##
-## End of shell functions ##
-## ---------------------- ##
+## -------------------------------- ##
+## End of autotest shell functions. ##
+## -------------------------------- ##
{
- cat <<\_ASBOX
-## ---------------- ##
+ $as_echo "## ---------------- ##
## Tested programs. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
echo
} >&5
@@ -1356,34 +1386,35 @@ _ASBOX
for at_program in : $at_tested
do
test "$at_program" = : && continue
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+ case $at_program in
+ [\\/]* | ?:[\\/]* ) $at_program_=$at_program ;;
+ * )
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- test -f "$as_dir/$at_program" && break
-done
+ test -f "$as_dir/$at_program" && break
+ done
IFS=$as_save_IFS
- if test -f "$as_dir/$at_program"; then
+ at_program_=$as_dir/$at_program ;;
+ esac
+ if test -f "$at_program_"; then
{
- $as_echo "$at_srcdir/testsuite.at:32: $as_dir/$at_program --version"
- "$as_dir/$at_program" --version </dev/null
+ $as_echo "$at_srcdir/testsuite.at:32: $at_program_ --version"
+ "$at_program_" --version </dev/null
echo
} >&5 2>&1
else
- { { $as_echo "$as_me:$LINENO: error: cannot find $at_program" >&5
-$as_echo "$as_me: error: cannot find $at_program" >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "cannot find $at_program" "$LINENO" 5
fi
done
{
- cat <<\_ASBOX
-## ------------------ ##
+ $as_echo "## ------------------ ##
## Running the tests. ##
-## ------------------ ##
-_ASBOX
+## ------------------ ##"
} >&5
at_start_date=`date`
@@ -1391,11 +1422,8 @@ at_start_time=`date +%s 2>/dev/null`
$as_echo "$as_me: starting at: $at_start_date" >&5
# Create the master directory if it doesn't already exist.
-test -d "$at_suite_dir" ||
- mkdir "$at_suite_dir" ||
- { { $as_echo "$as_me:$LINENO: error: cannot create '$at_suite_dir'" >&5
-$as_echo "$as_me: error: cannot create '$at_suite_dir'" >&2;}
- { (exit 1); exit 1; }; }
+as_dir="$at_suite_dir"; as_fn_mkdir_p ||
+ as_fn_error $? "cannot create \`$at_suite_dir'" "$LINENO" 5
# Can we diff with `/dev/null'? DU 5.0 refuses.
if diff /dev/null /dev/null >/dev/null 2>&1; then
@@ -1429,28 +1457,40 @@ BEGIN { FS="" }
if (test == "'"$at_group"'") exit
}' "$at_myself" > "$at_suite_dir/at-source-lines" &&
. "$at_suite_dir/at-source-lines" ||
- { { $as_echo "$as_me:$LINENO: error: cannot create test line number cache" >&5
-$as_echo "$as_me: error: cannot create test line number cache" >&2;}
- { (exit 1); exit 1; }; }
+ as_fn_error $? "cannot create test line number cache" "$LINENO" 5
rm -f "$at_suite_dir/at-source-lines"
+# Set number of jobs for `-j'; avoid more jobs than test groups.
+set X $at_groups; shift; at_max_jobs=$#
+if test $at_max_jobs -eq 0; then
+ at_jobs=1
+fi
+if test $at_jobs -ne 1 &&
+ { test $at_jobs -eq 0 || test $at_jobs -gt $at_max_jobs; }; then
+ at_jobs=$at_max_jobs
+fi
+
+# If parallel mode, don't output banners, don't split summary lines.
+if test $at_jobs -ne 1; then
+ at_print_banners=false
+ at_quiet=:
+fi
+
# Set up helper dirs.
rm -rf "$at_helper_dir" &&
mkdir "$at_helper_dir" &&
cd "$at_helper_dir" &&
{ test -z "$at_groups" || mkdir $at_groups; } ||
-{ { $as_echo "$as_me:$LINENO: error: testsuite directory setup failed" >&5
-$as_echo "$as_me: error: testsuite directory setup failed" >&2;}
- { (exit 1); exit 1; }; }
+as_fn_error $? "testsuite directory setup failed" "$LINENO" 5
# Functions for running a test group. We leave the actual
# test group execution outside of a shell function in order
# to avoid hitting zsh 4.x exit status bugs.
-# at_func_group_prepare
-# ---------------------
-# Prepare running a test group
-at_func_group_prepare ()
+# at_fn_group_prepare
+# -------------------
+# Prepare for running a test group.
+at_fn_group_prepare ()
{
# The directory for additional per-group helper files.
at_job_dir=$at_helper_dir/$at_group
@@ -1484,56 +1524,20 @@ at_func_group_prepare ()
# Create a fresh directory for the next test group, and enter.
+ # If one already exists, the user may have invoked ./run from
+ # within that directory; we remove the contents, but not the
+ # directory itself, so that we aren't pulling the rug out from
+ # under the shell's notion of the current directory.
at_group_dir=$at_suite_dir/$at_group_normalized
at_group_log=$at_group_dir/$as_me.log
if test -d "$at_group_dir"; then
- find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
- rm -fr "$at_group_dir" ||
- { $as_echo "$as_me:$LINENO: WARNING: test directory for $at_group_normalized could not be cleaned." >&5
-$as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned." >&2;}
- fi
+ find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx {} \;
+ rm -fr "$at_group_dir"/* "$at_group_dir"/.[!.] "$at_group_dir"/.??*
+fi ||
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: test directory for $at_group_normalized could not be cleaned" >&5
+$as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned" >&2;}
# Be tolerant if the above `rm' was not able to remove the directory.
- { as_dir="$at_group_dir"
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
- { (exit 1); exit 1; }; }; }
+ as_dir="$at_group_dir"; as_fn_mkdir_p
echo 0 > "$at_status_file"
@@ -1546,9 +1550,29 @@ $as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
fi
}
-# at_func_group_postprocess
-# -------------------------
-at_func_group_postprocess ()
+# at_fn_group_banner ORDINAL LINE DESC PAD [BANNER]
+# -------------------------------------------------
+# Declare the test group ORDINAL, located at LINE with group description DESC,
+# and residing under BANNER. Use PAD to align the status column.
+at_fn_group_banner ()
+{
+ at_setup_line="$2"
+ test -n "$5" && at_fn_banner $5
+ at_desc="$3"
+ case $1 in
+ [0-9]) at_desc_line=" $1: ";;
+ [0-9][0-9]) at_desc_line=" $1: " ;;
+ *) at_desc_line="$1: " ;;
+ esac
+ as_fn_append at_desc_line "$3$4"
+ $at_quiet $as_echo_n "$at_desc_line"
+ echo "# -*- compilation -*-" >> "$at_group_log"
+}
+
+# at_fn_group_postprocess
+# -----------------------
+# Perform cleanup after running a test group.
+at_fn_group_postprocess ()
{
# Be sure to come back to the suite directory, in particular
# since below we might `rm' the group directory we are in currently.
@@ -1561,6 +1585,7 @@ at_func_group_postprocess ()
report this failure to <bug-gdbm@gnu.org>.
_ATEOF
$as_echo "$at_setup_line" >"$at_check_line_file"
+ at_status=99
fi
$at_verbose $as_echo_n "$at_group. $at_setup_line: "
$as_echo_n "$at_group. $at_setup_line: " >> "$at_group_log"
@@ -1569,31 +1594,41 @@ _ATEOF
at_msg="UNEXPECTED PASS"
at_res=xpass
at_errexit=$at_errexit_p
+ at_color=$at_red
;;
no:0)
at_msg="ok"
at_res=pass
at_errexit=false
+ at_color=$at_grn
;;
*:77)
at_msg='skipped ('`cat "$at_check_line_file"`')'
at_res=skip
at_errexit=false
+ at_color=$at_blu
+ ;;
+ no:* | *:99)
+ at_msg='FAILED ('`cat "$at_check_line_file"`')'
+ at_res=fail
+ at_errexit=$at_errexit_p
+ at_color=$at_red
;;
yes:*)
at_msg='expected failure ('`cat "$at_check_line_file"`')'
at_res=xfail
at_errexit=false
- ;;
- no:*)
- at_msg='FAILED ('`cat "$at_check_line_file"`')'
- at_res=fail
- at_errexit=$at_errexit_p
+ at_color=$at_lgn
;;
esac
echo "$at_res" > "$at_job_dir/$at_res"
- # Make sure there is a separator even with long titles.
- $as_echo " $at_msg"
+ # In parallel mode, output the summary line only afterwards.
+ if test $at_jobs -ne 1 && test -n "$at_verbose"; then
+ $as_echo "$at_desc_line $at_color$at_msg$at_std"
+ else
+ # Make sure there is a separator even with long titles.
+ $as_echo " $at_color$at_msg$at_std"
+ fi
at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg"
case $at_status in
0|77)
@@ -1608,9 +1643,13 @@ _ATEOF
$as_echo "$at_log_msg" >> "$at_group_log"
$as_echo "$at_log_msg" >&5
- # Cleanup the group directory, unless the user wants the files.
- if $at_debug_p; then
- at_func_create_debugging_script
+ # Cleanup the group directory, unless the user wants the files
+ # or the success was unexpected.
+ if $at_debug_p || test $at_res = xpass; then
+ at_fn_create_debugging_script
+ if test $at_res = xpass && $at_errexit; then
+ echo stop > "$at_stop_file"
+ fi
else
if test -d "$at_group_dir"; then
find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
@@ -1627,7 +1666,7 @@ _ATEOF
# Upon failure, keep the group directory for autopsy, and create
# the debugging script. With -e, do not start any further tests.
- at_func_create_debugging_script
+ at_fn_create_debugging_script
if $at_errexit; then
echo stop > "$at_stop_file"
fi
@@ -1640,22 +1679,134 @@ _ATEOF
## Driver loop. ##
## ------------ ##
+
+if (set -m && set +m && set +b) >/dev/null 2>&1; then
+ set +b
+ at_job_control_on='set -m' at_job_control_off='set +m' at_job_group=-
+else
+ at_job_control_on=: at_job_control_off=: at_job_group=
+fi
+
+for at_signal in 1 2 15; do
+ trap 'set +x; set +e
+ $at_job_control_off
+ at_signal='"$at_signal"'
+ echo stop > "$at_stop_file"
+ trap "" $at_signal
+ at_pgids=
+ for at_pgid in `jobs -p 2>/dev/null`; do
+ at_pgids="$at_pgids $at_job_group$at_pgid"
+ done
+ test -z "$at_pgids" || kill -$at_signal $at_pgids 2>/dev/null
+ wait
+ if test "$at_jobs" -eq 1 || test -z "$at_verbose"; then
+ echo >&2
+ fi
+ at_signame=`kill -l $at_signal 2>&1 || echo $at_signal`
+ set x $at_signame
+ test 0 -gt 2 && at_signame=$at_signal
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: caught signal $at_signame, bailing out" >&5
+$as_echo "$as_me: WARNING: caught signal $at_signame, bailing out" >&2;}
+ as_fn_arith 128 + $at_signal && exit_status=$as_val
+ as_fn_exit $exit_status' $at_signal
+done
+
rm -f "$at_stop_file"
at_first=:
-for at_group in $at_groups; do
- at_func_group_prepare
- if cd "$at_group_dir" &&
- at_func_test $at_group &&
- . "$at_test_source"; then :; else
- { $as_echo "$as_me:$LINENO: WARNING: unable to parse test group: $at_group" >&5
+if test $at_jobs -ne 1 &&
+ rm -f "$at_job_fifo" &&
+ test -n "$at_job_group" &&
+ ( mkfifo "$at_job_fifo" && trap 'exit 1' PIPE STOP TSTP ) 2>/dev/null
+then
+ # FIFO job dispatcher.
+
+ trap 'at_pids=
+ for at_pid in `jobs -p`; do
+ at_pids="$at_pids $at_job_group$at_pid"
+ done
+ if test -n "$at_pids"; then
+ at_sig=TSTP
+ test "${TMOUT+set}" = set && at_sig=STOP
+ kill -$at_sig $at_pids 2>/dev/null
+ fi
+ kill -STOP $$
+ test -z "$at_pids" || kill -CONT $at_pids 2>/dev/null' TSTP
+
+ echo
+ # Turn jobs into a list of numbers, starting from 1.
+ at_joblist=`$as_echo "$at_groups" | sed -n 1,${at_jobs}p`
+
+ set X $at_joblist
+ shift
+ for at_group in $at_groups; do
+ $at_job_control_on 2>/dev/null
+ (
+ # Start one test group.
+ $at_job_control_off
+ if $at_first; then
+ exec 7>"$at_job_fifo"
+ else
+ exec 6<&-
+ fi
+ trap 'set +x; set +e
+ trap "" PIPE
+ echo stop > "$at_stop_file"
+ echo >&7
+ as_fn_exit 141' PIPE
+ at_fn_group_prepare
+ if cd "$at_group_dir" &&
+ at_fn_test $at_group &&
+ . "$at_test_source"
+ then :; else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5
$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;}
- at_failed=:
+ at_failed=:
+ fi
+ at_fn_group_postprocess
+ echo >&7
+ ) &
+ $at_job_control_off
+ if $at_first; then
+ at_first=false
+ exec 6<"$at_job_fifo" 7>"$at_job_fifo"
+ fi
+ shift # Consume one token.
+ if test $# -gt 0; then :; else
+ read at_token <&6 || break
+ set x $*
+ fi
+ test -f "$at_stop_file" && break
+ done
+ exec 7>&-
+ # Read back the remaining ($at_jobs - 1) tokens.
+ set X $at_joblist
+ shift
+ if test $# -gt 0; then
+ shift
+ for at_job
+ do
+ read at_token
+ done <&6
fi
- at_func_group_postprocess
- test -f "$at_stop_file" && break
- at_first=false
-done
+ exec 6<&-
+ wait
+else
+ # Run serially, avoid forks and other potential surprises.
+ for at_group in $at_groups; do
+ at_fn_group_prepare
+ if cd "$at_group_dir" &&
+ at_fn_test $at_group &&
+ . "$at_test_source"; then :; else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5
+$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;}
+ at_failed=:
+ fi
+ at_fn_group_postprocess
+ test -f "$at_stop_file" && break
+ at_first=false
+ done
+fi
# Wrap up the test suite with summary statistics.
cd "$at_helper_dir"
@@ -1676,12 +1827,9 @@ set X $at_xfail_list; shift; at_xfail_count=$#
set X $at_fail_list; shift; at_fail_count=$#; at_fail_list=$*
set X $at_skip_list; shift; at_skip_count=$#
-at_func_arith $at_group_count - $at_skip_count
-at_run_count=$at_func_arith_result
-at_func_arith $at_xpass_count + $at_fail_count
-at_unexpected_count=$at_func_arith_result
-at_func_arith $at_xfail_count + $at_fail_count
-at_total_fail_count=$at_func_arith_result
+as_fn_arith $at_group_count - $at_skip_count && at_run_count=$as_val
+as_fn_arith $at_xpass_count + $at_fail_count && at_unexpected_count=$as_val
+as_fn_arith $at_xfail_count + $at_fail_count && at_total_fail_count=$as_val
# Back to the top directory.
cd "$at_dir"
@@ -1693,35 +1841,26 @@ at_stop_time=`date +%s 2>/dev/null`
$as_echo "$as_me: ending at: $at_stop_date" >&5
case $at_start_time,$at_stop_time in
[0-9]*,[0-9]*)
- at_func_arith $at_stop_time - $at_start_time
- at_duration_s=$at_func_arith_result
- at_func_arith $at_duration_s / 60
- at_duration_m=$at_func_arith_result
- at_func_arith $at_duration_m / 60
- at_duration_h=$at_func_arith_result
- at_func_arith $at_duration_s % 60
- at_duration_s=$at_func_arith_result
- at_func_arith $at_duration_m % 60
- at_duration_m=$at_func_arith_result
+ as_fn_arith $at_stop_time - $at_start_time && at_duration_s=$as_val
+ as_fn_arith $at_duration_s / 60 && at_duration_m=$as_val
+ as_fn_arith $at_duration_m / 60 && at_duration_h=$as_val
+ as_fn_arith $at_duration_s % 60 && at_duration_s=$as_val
+ as_fn_arith $at_duration_m % 60 && at_duration_m=$as_val
at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s"
$as_echo "$as_me: test suite duration: $at_duration" >&5
;;
esac
echo
-cat <<\_ASBOX
-## ------------- ##
+$as_echo "## ------------- ##
## Test results. ##
-## ------------- ##
-_ASBOX
+## ------------- ##"
echo
{
echo
- cat <<\_ASBOX
-## ------------- ##
+ $as_echo "## ------------- ##
## Test results. ##
-## ------------- ##
-_ASBOX
+## ------------- ##"
echo
} >&5
@@ -1739,12 +1878,14 @@ if $at_errexit_p && test $at_unexpected_count != 0; then
at_result="$at_result $at_were run, one failed"
fi
at_result="$at_result unexpectedly and inhibited subsequent tests."
+ at_color=$at_red
else
# Don't you just love exponential explosion of the number of cases?
+ at_color=$at_red
case $at_xpass_count:$at_fail_count:$at_xfail_count in
# So far, so good.
- 0:0:0) at_result="$at_result $at_were successful." ;;
- 0:0:*) at_result="$at_result behaved as expected." ;;
+ 0:0:0) at_result="$at_result $at_were successful." at_color=$at_grn ;;
+ 0:0:*) at_result="$at_result behaved as expected." at_color=$at_lgn ;;
# Some unexpected failures
0:*:0) at_result="$at_result $at_were run,
@@ -1790,18 +1931,16 @@ $at_skip_count tests were skipped." ;;
esac
if test $at_unexpected_count = 0; then
- echo "$at_result"
+ echo "$at_color$at_result$at_std"
echo "$at_result" >&5
else
- echo "ERROR: $at_result" >&2
+ echo "${at_color}ERROR: $at_result$at_std" >&2
echo "ERROR: $at_result" >&5
{
echo
- cat <<\_ASBOX
-## ------------------------ ##
+ $as_echo "## ------------------------ ##
## Summary of the failures. ##
-## ------------------------ ##
-_ASBOX
+## ------------------------ ##"
# Summary of failed and skipped tests.
if test $at_fail_count != 0; then
@@ -1820,11 +1959,9 @@ _ASBOX
echo
fi
if test $at_fail_count != 0; then
- cat <<\_ASBOX
-## ---------------------- ##
+ $as_echo "## ---------------------- ##
## Detailed failed tests. ##
-## ---------------------- ##
-_ASBOX
+## ---------------------- ##"
echo
for at_group in $at_fail_list
do
@@ -1856,19 +1993,21 @@ _ASBOX
_ASBOX
echo
- $as_echo "Please send \`${at_testdir+${at_testdir}/}$as_me.log' and all information you think might help:
+ if $at_debug_p; then
+ at_msg='per-test log files'
+ else
+ at_msg="\`${at_testdir+${at_testdir}/}$as_me.log'"
+ fi
+ $as_echo "Please send $at_msg and all information you think might help:
To: <bug-gdbm@gnu.org>
- Subject: [gdbm 1.10] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
+ Subject: [gdbm 1.11] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
+
+You may investigate any problem if you feel able to do so, in which
+case the test suite provides a good starting point. Its output may
+be found below \`${at_testdir+${at_testdir}/}$as_me.dir'.
"
- if test $at_debug_p = false; then
- echo
- echo 'You may investigate any problem if you feel able to do so, in which'
- echo 'case the test suite provides a good starting point. Its output may'
- $as_echo "be found below \`${at_testdir+${at_testdir}/}$as_me.dir'."
- echo
- fi
- exit 1
+ exit 1
fi
exit 0
@@ -1877,262 +2016,189 @@ exit 0
## Actual tests. ##
## ------------- ##
#AT_START_1
-# 1. version.at:17: gdbm version
-at_setup_line='version.at:17'
-at_desc="gdbm version"
-$at_quiet $as_echo_n " 1: $at_desc "
+at_fn_group_banner 1 'version.at:17' \
+ "gdbm version" " "
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "1. version.at:17: testing ..."
+ $as_echo "1. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/version.at:19: gtver -lib -full -header -full"
-echo version.at:19 >"$at_check_line_file"
-
-if test -n "$at_traceon"; then
- ( $at_traceon; gtver -lib -full -header -full ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :; gtver -lib -full -header -full ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
-echo >>"$at_stdout"; $as_echo "1.10.0
-1.10.0
+at_fn_check_prepare_trace "version.at:19"
+( $at_check_trace; gtver -lib -full -header -full
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "1.11.0
+1.11.0
" | \
$at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/version.at:19"
-
-$at_failed && at_func_log_failure
+at_fn_check_status 0 $at_status "$at_srcdir/version.at:19"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_1
#AT_START_2
-# 2. create00.at:17: create database
-at_setup_line='create00.at:17'
-at_func_banner 1
-at_desc="create database"
-$at_quiet $as_echo_n " 2: $at_desc "
+at_fn_group_banner 2 'create00.at:17' \
+ "create database" " " 1
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "2. create00.at:17: testing ..."
+ $as_echo "2. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/create00.at:20:
-test -z "`sort < /dev/null 2>&1`" || exit 77
+test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
num2word 1:1000 > input
gtload test.db < input
gtdump test.db | sort -k1,2 -n > output
-diff -u input output
+cmp -s input output || diff -u input output
"
-echo create00.at:20 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
-
-test -z "`sort < /dev/null 2>&1`" || exit 77
-
-num2word 1:1000 > input
-gtload test.db < input
-gtdump test.db | sort -k1,2 -n > output
-diff -u input output
- ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
+at_fn_check_prepare_notrace 'a `...` command substitution' "create00.at:20"
+( $at_check_trace;
test -z "`sort < /dev/null 2>&1`" || exit 77
num2word 1:1000 > input
gtload test.db < input
gtdump test.db | sort -k1,2 -n > output
-diff -u input output
- ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
-at_func_diff_devnull "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/create00.at:20"
-
-$at_failed && at_func_log_failure
+cmp -s input output || diff -u input output
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/create00.at:20"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_2
#AT_START_3
-# 3. fetch00.at:17: fetch a record
-at_setup_line='fetch00.at:17'
-at_func_banner 1
-at_desc="fetch a record"
-$at_quiet $as_echo_n " 3: $at_desc "
+at_fn_group_banner 3 'fetch00.at:17' \
+ "fetch a record" " " 1
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "3. fetch00.at:17: testing ..."
+ $as_echo "3. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/fetch00.at:20:
num2word 1:10000 | gtload test.db
gtfetch test.db 1 2745 9999
"
-echo fetch00.at:20 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
+at_fn_check_prepare_notrace 'an embedded newline' "fetch00.at:20"
+( $at_check_trace;
num2word 1:10000 | gtload test.db
gtfetch test.db 1 2745 9999
- ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
-num2word 1:10000 | gtload test.db
-gtfetch test.db 1 2745 9999
- ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "one
two thousand seven hundred and fourty-five
nine thousand nine hundred and ninety-nine
" | \
$at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/fetch00.at:20"
-
-$at_failed && at_func_log_failure
+at_fn_check_status 0 $at_status "$at_srcdir/fetch00.at:20"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_3
#AT_START_4
-# 4. fetch01.at:17: fetch: nonexisting record
-at_setup_line='fetch01.at:17'
-at_func_banner 1
-at_desc="fetch: nonexisting record"
-$at_quiet $as_echo_n " 4: $at_desc "
+at_fn_group_banner 4 'fetch01.at:17' \
+ "fetch: nonexisting record" " " 1
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "4. fetch01.at:17: testing ..."
+ $as_echo "4. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/fetch01.at:20:
num2word 1:10000 | gtload test.db
gtfetch test.db 0
"
-echo fetch01.at:20 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
-num2word 1:10000 | gtload test.db
-gtfetch test.db 0
- ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
+at_fn_check_prepare_notrace 'an embedded newline' "fetch01.at:20"
+( $at_check_trace;
num2word 1:10000 | gtload test.db
gtfetch test.db 0
- ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
echo >>"$at_stderr"; $as_echo "gtfetch: 0: not found
" | \
$at_diff - "$at_stderr" || at_failed=:
-at_func_diff_devnull "$at_stdout" || at_failed=:
-at_func_check_status 2 $at_status "$at_srcdir/fetch01.at:20"
-
-$at_failed && at_func_log_failure
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/fetch01.at:20"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_4
#AT_START_5
-# 5. delete00.at:17: delete a record
-at_setup_line='delete00.at:17'
-at_func_banner 1
-at_desc="delete a record"
-$at_quiet $as_echo_n " 5: $at_desc "
+at_fn_group_banner 5 'delete00.at:17' \
+ "delete a record" " " 1
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "5. delete00.at:17: testing ..."
+ $as_echo "5. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/delete00.at:20:
-test -z "`sort < /dev/null 2>&1`" || exit 77
+test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
num2word 1:10 | gtload test.db
gtdel test.db 8
gtdump test.db | sort -k1,2 -n
"
-echo delete00.at:20 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
+at_fn_check_prepare_notrace 'a `...` command substitution' "delete00.at:20"
+( $at_check_trace;
test -z "`sort < /dev/null 2>&1`" || exit 77
num2word 1:10 | gtload test.db
gtdel test.db 8
gtdump test.db | sort -k1,2 -n
- ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
-test -z "`sort < /dev/null 2>&1`" || exit 77
-
-num2word 1:10 | gtload test.db
-gtdel test.db 8
-gtdump test.db | sort -k1,2 -n
- ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1 one
2 two
3 three
@@ -2144,161 +2210,121 @@ echo >>"$at_stdout"; $as_echo "1 one
10 ten
" | \
$at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/delete00.at:20"
-
-$at_failed && at_func_log_failure
+at_fn_check_status 0 $at_status "$at_srcdir/delete00.at:20"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_5
#AT_START_6
-# 6. delete01.at:17: delete: non existing record
-at_setup_line='delete01.at:17'
-at_func_banner 1
-at_desc="delete: non existing record"
-$at_quiet $as_echo_n " 6: $at_desc "
+at_fn_group_banner 6 'delete01.at:17' \
+ "delete: non existing record" " " 1
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "6. delete01.at:17: testing ..."
+ $as_echo "6. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/delete01.at:20:
-test -z "`sort < /dev/null 2>&1`" || exit 77
+test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
num2word 1:10 | gtload test.db
gtdel test.db 11
"
-echo delete01.at:20 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
+at_fn_check_prepare_notrace 'a `...` command substitution' "delete01.at:20"
+( $at_check_trace;
test -z "`sort < /dev/null 2>&1`" || exit 77
num2word 1:10 | gtload test.db
gtdel test.db 11
- ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
-
-test -z "`sort < /dev/null 2>&1`" || exit 77
-num2word 1:10 | gtload test.db
-gtdel test.db 11
- ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
echo >>"$at_stderr"; $as_echo "gtdel: cannot delete 11: Item not found
" | \
$at_diff - "$at_stderr" || at_failed=:
-at_func_diff_devnull "$at_stdout" || at_failed=:
-at_func_check_status 2 $at_status "$at_srcdir/delete01.at:20"
-
-$at_failed && at_func_log_failure
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/delete01.at:20"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_6
#AT_START_7
-# 7. delete02.at:17: delete: all records
-at_setup_line='delete02.at:17'
-at_func_banner 1
-at_desc="delete: all records"
-$at_quiet $as_echo_n " 7: $at_desc "
+at_fn_group_banner 7 'delete02.at:17' \
+ "delete: all records" " " 1
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "7. delete02.at:17: testing ..."
+ $as_echo "7. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/delete02.at:20:
num2word 1:10 | gtload test.db
gtdel test.db 1 2 3 4 5 6 7 8 9 10
gtdump test.db
"
-echo delete02.at:20 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
+at_fn_check_prepare_notrace 'an embedded newline' "delete02.at:20"
+( $at_check_trace;
num2word 1:10 | gtload test.db
gtdel test.db 1 2 3 4 5 6 7 8 9 10
gtdump test.db
- ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
-num2word 1:10 | gtload test.db
-gtdel test.db 1 2 3 4 5 6 7 8 9 10
-gtdump test.db
- ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
-at_func_diff_devnull "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/delete02.at:20"
-$at_failed && at_func_log_failure
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/delete02.at:20"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_7
#AT_START_8
-# 8. dbmcreate00.at:17: create database
-at_setup_line='dbmcreate00.at:17'
-at_func_banner 2
-at_desc="create database"
-$at_quiet $as_echo_n " 8: $at_desc "
+at_fn_group_banner 8 'dbmcreate00.at:17' \
+ "create database" " " 2
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "8. dbmcreate00.at:17: testing ..."
+ $as_echo "8. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/dbmcreate00.at:20:
-test $COMPAT -eq 1 || exit 77
+test \$COMPAT -eq 1 || exit 77
-test -z "`sort < /dev/null 2>&1`" || exit 77
+test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
num2word 1:1000 > input
dtload test < input
dtdump test | sort -k1,2 -n > output
-diff -u input output
+cmp -s input output || diff -u input output
"
-echo dbmcreate00.at:20 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
+at_fn_check_prepare_notrace 'a `...` command substitution' "dbmcreate00.at:20"
+( $at_check_trace;
test $COMPAT -eq 1 || exit 77
@@ -2308,56 +2334,37 @@ test -z "`sort < /dev/null 2>&1`" || exit 77
num2word 1:1000 > input
dtload test < input
dtdump test | sort -k1,2 -n > output
-diff -u input output
- ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
-
-test $COMPAT -eq 1 || exit 77
-
-
-test -z "`sort < /dev/null 2>&1`" || exit 77
-
-num2word 1:1000 > input
-dtload test < input
-dtdump test | sort -k1,2 -n > output
-diff -u input output
- ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
-at_func_diff_devnull "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/dbmcreate00.at:20"
-
-$at_failed && at_func_log_failure
+cmp -s input output || diff -u input output
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/dbmcreate00.at:20"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_8
#AT_START_9
-# 9. dbmcvt.at:17: converting a 1.8-style database
-at_setup_line='dbmcvt.at:17'
-at_func_banner 2
-at_desc="converting a 1.8-style database"
-$at_quiet $as_echo_n " 9: $at_desc "
+at_fn_group_banner 9 'dbmcvt.at:17' \
+ "converting a 1.8-style database" " " 2
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "9. dbmcvt.at:17: testing ..."
+ $as_echo "9. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/dbmcvt.at:20:
-test $COMPAT -eq 1 || exit 77
+test \$COMPAT -eq 1 || exit 77
num2word 1:10 | dtload test
rm test.dir
@@ -2366,11 +2373,8 @@ dtfetch test 6
cmp test.pag test.dir >/dev/null 2>&1 && exit 1
exit 0
"
-echo dbmcvt.at:20 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
+at_fn_check_prepare_notrace 'an embedded newline' "dbmcvt.at:20"
+( $at_check_trace;
test $COMPAT -eq 1 || exit 77
@@ -2380,242 +2384,172 @@ ln test.pag test.dir
dtfetch test 6
cmp test.pag test.dir >/dev/null 2>&1 && exit 1
exit 0
- ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
-
-test $COMPAT -eq 1 || exit 77
-num2word 1:10 | dtload test
-rm test.dir
-ln test.pag test.dir
-dtfetch test 6
-cmp test.pag test.dir >/dev/null 2>&1 && exit 1
-exit 0
- ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "six
" | \
$at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/dbmcvt.at:20"
-
-$at_failed && at_func_log_failure
+at_fn_check_status 0 $at_status "$at_srcdir/dbmcvt.at:20"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_9
#AT_START_10
-# 10. dbmfetch00.at:17: fetch a record
-at_setup_line='dbmfetch00.at:17'
-at_func_banner 2
-at_desc="fetch a record"
-$at_quiet $as_echo_n " 10: $at_desc "
+at_fn_group_banner 10 'dbmfetch00.at:17' \
+ "fetch a record" " " 2
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "10. dbmfetch00.at:17: testing ..."
+ $as_echo "10. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/dbmfetch00.at:20:
-test $COMPAT -eq 1 || exit 77
+test \$COMPAT -eq 1 || exit 77
num2word 1:10000 | dtload test
dtfetch test 1 2745 9999
"
-echo dbmfetch00.at:20 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
+at_fn_check_prepare_notrace 'an embedded newline' "dbmfetch00.at:20"
+( $at_check_trace;
test $COMPAT -eq 1 || exit 77
num2word 1:10000 | dtload test
dtfetch test 1 2745 9999
- ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
-
-test $COMPAT -eq 1 || exit 77
-num2word 1:10000 | dtload test
-dtfetch test 1 2745 9999
- ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "one
two thousand seven hundred and fourty-five
nine thousand nine hundred and ninety-nine
" | \
$at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/dbmfetch00.at:20"
-
-$at_failed && at_func_log_failure
+at_fn_check_status 0 $at_status "$at_srcdir/dbmfetch00.at:20"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_10
#AT_START_11
-# 11. dbmfetch01.at:17: fetch: nonexisting record
-at_setup_line='dbmfetch01.at:17'
-at_func_banner 2
-at_desc="fetch: nonexisting record"
-$at_quiet $as_echo_n " 11: $at_desc "
+at_fn_group_banner 11 'dbmfetch01.at:17' \
+ "fetch: nonexisting record" " " 2
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "11. dbmfetch01.at:17: testing ..."
+ $as_echo "11. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/dbmfetch01.at:20:
-test $COMPAT -eq 1 || exit 77
+test \$COMPAT -eq 1 || exit 77
num2word 1:10000 | dtload test
dtfetch test 0
"
-echo dbmfetch01.at:20 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
+at_fn_check_prepare_notrace 'an embedded newline' "dbmfetch01.at:20"
+( $at_check_trace;
test $COMPAT -eq 1 || exit 77
num2word 1:10000 | dtload test
dtfetch test 0
- ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
-
-test $COMPAT -eq 1 || exit 77
-num2word 1:10000 | dtload test
-dtfetch test 0
- ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
echo >>"$at_stderr"; $as_echo "dtfetch: 0: not found
" | \
$at_diff - "$at_stderr" || at_failed=:
-at_func_diff_devnull "$at_stdout" || at_failed=:
-at_func_check_status 2 $at_status "$at_srcdir/dbmfetch01.at:20"
-
-$at_failed && at_func_log_failure
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/dbmfetch01.at:20"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_11
#AT_START_12
-# 12. dbmfetch02.at:17: fetch from a read-only database
-at_setup_line='dbmfetch02.at:17'
-at_func_banner 2
-at_desc="fetch from a read-only database"
-$at_quiet $as_echo_n " 12: $at_desc "
+at_fn_group_banner 12 'dbmfetch02.at:17' \
+ "fetch from a read-only database" " " 2
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "12. dbmfetch02.at:17: testing ..."
+ $as_echo "12. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/dbmfetch02.at:20:
-test $COMPAT -eq 1 || exit 77
+test \$COMPAT -eq 1 || exit 77
num2word 1:10 | dtload test
chmod -w test.dir test.pag
dtfetch test 6 10
"
-echo dbmfetch02.at:20 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
+at_fn_check_prepare_notrace 'an embedded newline' "dbmfetch02.at:20"
+( $at_check_trace;
test $COMPAT -eq 1 || exit 77
num2word 1:10 | dtload test
chmod -w test.dir test.pag
dtfetch test 6 10
- ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
-test $COMPAT -eq 1 || exit 77
-
-num2word 1:10 | dtload test
-chmod -w test.dir test.pag
-dtfetch test 6 10
- ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "six
ten
" | \
$at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/dbmfetch02.at:20"
-
-$at_failed && at_func_log_failure
+at_fn_check_status 0 $at_status "$at_srcdir/dbmfetch02.at:20"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_12
#AT_START_13
-# 13. dbmfetch03.at:17: fetch from a read-only 1.8-style database
-at_setup_line='dbmfetch03.at:17'
-at_func_banner 2
-at_desc="fetch from a read-only 1.8-style database"
-$at_quiet $as_echo_n " 13: $at_desc "
+at_fn_group_banner 13 'dbmfetch03.at:17' \
+ "fetch from a read-only 1.8-style database" " " 2
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "13. dbmfetch03.at:17: testing ..."
+ $as_echo "13. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/dbmfetch03.at:20:
-test $COMPAT -eq 1 || exit 77
+test \$COMPAT -eq 1 || exit 77
mkdir dir
cd dir
@@ -2625,11 +2559,8 @@ ln test.pag test.dir
chmod -w test.dir test.pag .
dtfetch test 6 10
"
-echo dbmfetch03.at:20 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
+at_fn_check_prepare_notrace 'an embedded newline' "dbmfetch03.at:20"
+( $at_check_trace;
test $COMPAT -eq 1 || exit 77
@@ -2640,71 +2571,49 @@ rm test.dir
ln test.pag test.dir
chmod -w test.dir test.pag .
dtfetch test 6 10
- ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
-test $COMPAT -eq 1 || exit 77
-
-mkdir dir
-cd dir
-num2word 1:10 | dtload test
-rm test.dir
-ln test.pag test.dir
-chmod -w test.dir test.pag .
-dtfetch test 6 10
- ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "six
ten
" | \
$at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/dbmfetch03.at:20"
-
-$at_failed && at_func_log_failure
+at_fn_check_status 0 $at_status "$at_srcdir/dbmfetch03.at:20"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_13
#AT_START_14
-# 14. dbmdel00.at:17: delete a record
-at_setup_line='dbmdel00.at:17'
-at_func_banner 2
-at_desc="delete a record"
-$at_quiet $as_echo_n " 14: $at_desc "
+at_fn_group_banner 14 'dbmdel00.at:17' \
+ "delete a record" " " 2
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "14. dbmdel00.at:17: testing ..."
+ $as_echo "14. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/dbmdel00.at:20:
-test $COMPAT -eq 1 || exit 77
+test \$COMPAT -eq 1 || exit 77
-test -z "`sort < /dev/null 2>&1`" || exit 77
+test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
num2word 1:10 | dtload test
dtdel test 8
dtdump test | sort -k1,2 -n
"
-echo dbmdel00.at:20 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
+at_fn_check_prepare_notrace 'a `...` command substitution' "dbmdel00.at:20"
+( $at_check_trace;
test $COMPAT -eq 1 || exit 77
@@ -2714,24 +2623,11 @@ test -z "`sort < /dev/null 2>&1`" || exit 77
num2word 1:10 | dtload test
dtdel test 8
dtdump test | sort -k1,2 -n
- ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
-
-test $COMPAT -eq 1 || exit 77
-
-test -z "`sort < /dev/null 2>&1`" || exit 77
-
-num2word 1:10 | dtload test
-dtdel test 8
-dtdump test | sort -k1,2 -n
- ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1 one
2 two
3 three
@@ -2743,47 +2639,39 @@ echo >>"$at_stdout"; $as_echo "1 one
10 ten
" | \
$at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/dbmdel00.at:20"
-
-$at_failed && at_func_log_failure
+at_fn_check_status 0 $at_status "$at_srcdir/dbmdel00.at:20"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_14
#AT_START_15
-# 15. dbmdel01.at:17: delete: non existing record
-at_setup_line='dbmdel01.at:17'
-at_func_banner 2
-at_desc="delete: non existing record"
-$at_quiet $as_echo_n " 15: $at_desc "
+at_fn_group_banner 15 'dbmdel01.at:17' \
+ "delete: non existing record" " " 2
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "15. dbmdel01.at:17: testing ..."
+ $as_echo "15. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/dbmdel01.at:20:
-test $COMPAT -eq 1 || exit 77
+test \$COMPAT -eq 1 || exit 77
-test -z "`sort < /dev/null 2>&1`" || exit 77
+test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
num2word 1:10 | dtload test
dtdel test 11
"
-echo dbmdel01.at:20 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
+at_fn_check_prepare_notrace 'a `...` command substitution' "dbmdel01.at:20"
+( $at_check_trace;
test $COMPAT -eq 1 || exit 77
@@ -2792,135 +2680,91 @@ test -z "`sort < /dev/null 2>&1`" || exit 77
num2word 1:10 | dtload test
dtdel test 11
- ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
-test $COMPAT -eq 1 || exit 77
-
-
-test -z "`sort < /dev/null 2>&1`" || exit 77
-
-num2word 1:10 | dtload test
-dtdel test 11
- ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
echo >>"$at_stderr"; $as_echo "dtdel: cannot delete 11: Item not found
" | \
$at_diff - "$at_stderr" || at_failed=:
-at_func_diff_devnull "$at_stdout" || at_failed=:
-at_func_check_status 2 $at_status "$at_srcdir/dbmdel01.at:20"
-
-$at_failed && at_func_log_failure
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 2 $at_status "$at_srcdir/dbmdel01.at:20"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_15
#AT_START_16
-# 16. dbmdel02.at:17: delete: all records
-at_setup_line='dbmdel02.at:17'
-at_func_banner 2
-at_desc="delete: all records"
-$at_quiet $as_echo_n " 16: $at_desc "
+at_fn_group_banner 16 'dbmdel02.at:17' \
+ "delete: all records" " " 2
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "16. dbmdel02.at:17: testing ..."
+ $as_echo "16. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/dbmdel02.at:20:
-test $COMPAT -eq 1 || exit 77
+test \$COMPAT -eq 1 || exit 77
num2word 1:10 | dtload test
dtdel test 1 2 3 4 5 6 7 8 9 10
dtdump test
"
-echo dbmdel02.at:20 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
-
-test $COMPAT -eq 1 || exit 77
-
-num2word 1:10 | dtload test
-dtdel test 1 2 3 4 5 6 7 8 9 10
-dtdump test
- ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
+at_fn_check_prepare_notrace 'an embedded newline' "dbmdel02.at:20"
+( $at_check_trace;
test $COMPAT -eq 1 || exit 77
num2word 1:10 | dtload test
dtdel test 1 2 3 4 5 6 7 8 9 10
dtdump test
- ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
-at_func_diff_devnull "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/dbmdel02.at:20"
-$at_failed && at_func_log_failure
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/dbmdel02.at:20"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_16
#AT_START_17
-# 17. setopt00.at:17: setopt
-at_setup_line='setopt00.at:17'
-at_func_banner 3
-at_desc="setopt"
-$at_quiet $as_echo_n " 17: $at_desc "
+at_fn_group_banner 17 'setopt00.at:17' \
+ "setopt" " " 3
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "17. setopt00.at:17: testing ..."
+ $as_echo "17. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/setopt00.at:20:
num2word 1:1000 | gtload test.db || exit 2
gtopt test.db '!MMAP'
"
-echo setopt00.at:20 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
+at_fn_check_prepare_notrace 'an embedded newline' "setopt00.at:20"
+( $at_check_trace;
num2word 1:1000 | gtload test.db || exit 2
gtopt test.db '!MMAP'
- ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
-num2word 1:1000 | gtload test.db || exit 2
-gtopt test.db '!MMAP'
- ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "GDBM_GETFLAGS: PASS
* CACHESIZE:
initial GDBM_SETCACHESIZE: PASS
@@ -2953,60 +2797,44 @@ GDBM_GETCOALESCEBLKS: PASS
GDBM_GETDBNAME: PASS
" | \
$at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/setopt00.at:20"
-
-$at_failed && at_func_log_failure
+at_fn_check_status 0 $at_status "$at_srcdir/setopt00.at:20"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_17
#AT_START_18
-# 18. setopt01.at:17: setopt: mmap options
-at_setup_line='setopt01.at:17'
-at_func_banner 3
-at_desc="setopt: mmap options"
-$at_quiet $as_echo_n " 18: $at_desc "
+at_fn_group_banner 18 'setopt01.at:17' \
+ "setopt: mmap options" " " 3
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "18. setopt01.at:17: testing ..."
+ $as_echo "18. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/setopt01.at:20:
num2word 1:1000 | gtload test.db || exit 2
gtopt test.db 'MMAP' > out
grep 'MMAP: SKIP' out >/dev/null && exit 77
cat out
"
-echo setopt01.at:20 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
-num2word 1:1000 | gtload test.db || exit 2
-gtopt test.db 'MMAP' > out
-grep 'MMAP: SKIP' out >/dev/null && exit 77
-cat out
- ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
+at_fn_check_prepare_notrace 'an embedded newline' "setopt01.at:20"
+( $at_check_trace;
num2word 1:1000 | gtload test.db || exit 2
gtopt test.db 'MMAP' > out
grep 'MMAP: SKIP' out >/dev/null && exit 77
cat out
- ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
+
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "* MMAP:
initial GDBM_GETMMAP: PASS
GDBM_SETMMAP false: PASS
@@ -3016,219 +2844,159 @@ GDBM_SETMAXMAPSIZE: PASS
GDBM_GETMAXMAPSIZE: PASS
" | \
$at_diff - "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/setopt01.at:20"
-
-$at_failed && at_func_log_failure
+at_fn_check_status 0 $at_status "$at_srcdir/setopt01.at:20"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_18
#AT_START_19
-# 19. cloexec00.at:17: cloexec: gdbm_open
-at_setup_line='cloexec00.at:17'
-at_func_banner 4
-at_desc="cloexec: gdbm_open"
-$at_quiet $as_echo_n " 19: $at_desc "
+at_fn_group_banner 19 'cloexec00.at:17' \
+ "cloexec: gdbm_open" " " 4
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "19. cloexec00.at:17: testing ..."
+ $as_echo "19. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/cloexec00.at:20:
g_open_ce \"\$abs_builddir/fdop\"
"
-echo cloexec00.at:20 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
-g_open_ce "$abs_builddir/fdop"
- ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
+at_fn_check_prepare_notrace 'an embedded newline' "cloexec00.at:20"
+( $at_check_trace;
g_open_ce "$abs_builddir/fdop"
- ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
-at_func_diff_devnull "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/cloexec00.at:20"
-$at_failed && at_func_log_failure
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/cloexec00.at:20"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_19
#AT_START_20
-# 20. cloexec01.at:17: cloexec: gdbm_reorganize
-at_setup_line='cloexec01.at:17'
-at_func_banner 4
-at_desc="cloexec: gdbm_reorganize"
-$at_quiet $as_echo_n " 20: $at_desc "
+at_fn_group_banner 20 'cloexec01.at:17' \
+ "cloexec: gdbm_reorganize" " " 4
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "20. cloexec01.at:17: testing ..."
+ $as_echo "20. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/cloexec01.at:20:
g_reorg_ce \"\$abs_builddir/fdop\"
"
-echo cloexec01.at:20 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
+at_fn_check_prepare_notrace 'an embedded newline' "cloexec01.at:20"
+( $at_check_trace;
g_reorg_ce "$abs_builddir/fdop"
- ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
-g_reorg_ce "$abs_builddir/fdop"
- ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
-at_func_diff_devnull "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/cloexec01.at:20"
-$at_failed && at_func_log_failure
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/cloexec01.at:20"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_20
#AT_START_21
-# 21. cloexec02.at:17: cloexec: dbm_open
-at_setup_line='cloexec02.at:17'
-at_func_banner 4
-at_desc="cloexec: dbm_open"
-$at_quiet $as_echo_n " 21: $at_desc "
+at_fn_group_banner 21 'cloexec02.at:17' \
+ "cloexec: dbm_open" " " 4
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "21. cloexec02.at:17: testing ..."
+ $as_echo "21. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/cloexec02.at:20:
-test $COMPAT -eq 1 || exit 77
+test \$COMPAT -eq 1 || exit 77
num2word 1:10 | dtload file
d_creat_ce \"\$abs_builddir/fdop\"
"
-echo cloexec02.at:20 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
-
-test $COMPAT -eq 1 || exit 77
-
-num2word 1:10 | dtload file
-d_creat_ce "$abs_builddir/fdop"
- ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
+at_fn_check_prepare_notrace 'an embedded newline' "cloexec02.at:20"
+( $at_check_trace;
test $COMPAT -eq 1 || exit 77
num2word 1:10 | dtload file
d_creat_ce "$abs_builddir/fdop"
- ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
-at_func_diff_devnull "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/cloexec02.at:20"
-$at_failed && at_func_log_failure
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/cloexec02.at:20"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_21
#AT_START_22
-# 22. cloexec03.at:17: cloexec: dbm_open -creat
-at_setup_line='cloexec03.at:17'
-at_func_banner 4
-at_desc="cloexec: dbm_open -creat"
-$at_quiet $as_echo_n " 22: $at_desc "
+at_fn_group_banner 22 'cloexec03.at:17' \
+ "cloexec: dbm_open -creat" " " 4
at_xfail=no
-echo "# -*- compilation -*-" >> "$at_group_log"
(
- $as_echo "22. cloexec03.at:17: testing ..."
+ $as_echo "22. $at_setup_line: testing $at_desc ..."
$at_traceon
-{ $at_traceoff
+{ set +x
$as_echo "$at_srcdir/cloexec03.at:20:
-test $COMPAT -eq 1 || exit 77
+test \$COMPAT -eq 1 || exit 77
d_creat_ce \"\$abs_builddir/fdop\" -creat
"
-echo cloexec03.at:20 >"$at_check_line_file"
-
-if { echo 'Not enabling shell tracing (command contains an embedded newline)'
- false; }; then
- ( $at_traceon;
-
-test $COMPAT -eq 1 || exit 77
-
-d_creat_ce "$abs_builddir/fdop" -creat
- ) >"$at_stdout" 2>"$at_stder1"
- at_func_filter_trace $?
-else
- ( :;
+at_fn_check_prepare_notrace 'an embedded newline' "cloexec03.at:20"
+( $at_check_trace;
test $COMPAT -eq 1 || exit 77
d_creat_ce "$abs_builddir/fdop" -creat
- ) >"$at_stdout" 2>"$at_stderr"
-fi
-at_status=$?
-at_failed=false
-at_func_diff_devnull "$at_stderr" || at_failed=:
-at_func_diff_devnull "$at_stdout" || at_failed=:
-at_func_check_status 0 $at_status "$at_srcdir/cloexec03.at:20"
-$at_failed && at_func_log_failure
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/cloexec03.at:20"
+$at_failed && at_fn_log_failure
$at_traceon; }
- $at_traceoff
+ set +x
$at_times_p && times >"$at_times_file"
-) 5>&1 2>&1 | eval $at_tee_pipe
-at_status=`cat "$at_status_file"`
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
#AT_STOP_22