rush-1.8/ 0000755 0001750 0001750 00000000000 12773666037 012356 5 ustar 00mats mats 0000000 0000000 rush-1.8/configure.ac 0000644 0001750 0001750 00000005251 12773663607 014647 0 ustar 00mats mats 0000000 0000000 # This file is part of GNU Rush. -*- Autoconf -*-
# Copyright (C) 2008-2011, 2013-2016 Sergey Poznyakoff
#
# GNU Rush is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GNU Rush is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Rush. If not, see .
AC_PREREQ(2.63)
AC_INIT([GNU rush], [1.8], [bug-rush@gnu.org])
AC_CONFIG_SRCDIR([src/rush.c])
AC_CONFIG_HEADER([config.h])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([1.11.1 gnits tar-ustar dist-bzip2 dist-xz std-options])
# Enable silent rules by default:
AM_SILENT_RULES([yes])
# Checks for programs.
AC_PROG_CC
gl_EARLY
AC_PROG_INSTALL
AC_PROG_RANLIB
# Checks for libraries.
# Checks for header files.
AC_HEADER_STDC
AC_HEADER_TIME
AC_CHECK_HEADERS([stdlib.h string.h socket.h sys/socket.h syslog.h unistd.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_UID_T
AC_TYPE_MODE_T
AC_TYPE_SIZE_T
AC_CHECK_TYPE(socklen_t, , AC_DEFINE(socklen_t, int, [Define to int if does not]),
[
#if HAVE_SYS_TYPES_H
# include
#endif
#ifdef HAVE_SYS_SOCKET_H
# include
#endif
#ifdef HAVE_SOCKET_H
# include
#endif
])
# Checks for library functions.
AC_FUNC_GETGROUPS
AC_FUNC_MALLOC
AC_FUNC_MEMCMP
AC_FUNC_REALLOC
AC_FUNC_STAT
AC_FUNC_ALLOCA
AC_CHECK_FUNCS([strdup strerror strrchr strtoul sysconf getdtablesize \
flock ftruncate])
gl_INIT
# Gettext.
AM_ICONV
AM_GNU_GETTEXT([external], [need-formatstring-macros])
AM_GNU_GETTEXT_VERSION([0.18])
IMPRIMATUR_INIT(doc/imprimatur)
AC_ARG_WITH([default-config],
AC_HELP_STRING([--with-default-config=FILE],
[read the default configuration from FILE]),
[dir=`AS_DIRNAME(["$withval"])`
if test -d $dir; then
dir=`cd $dir; pwd`
else
AC_MSG_ERROR([No such directory: $dir])
fi
name=`expr x"$withval" : '.*/\(.*\)'`
AC_SUBST(RUSH_DEFAULT_CONFIG, $dir/$name)])
# Initialize the test suite.
AC_CONFIG_TESTDIR(tests)
AC_CONFIG_FILES([tests/Makefile tests/atlocal])
AM_MISSING_PROG([AUTOM4TE], [autom4te])
AC_CONFIG_FILES([Makefile
gnu/Makefile
lib/Makefile
src/Makefile
etc/Makefile
doc/Makefile
po/Makefile.in])
AC_OUTPUT
rush-1.8/tests/ 0000755 0001750 0001750 00000000000 12773666037 013520 5 ustar 00mats mats 0000000 0000000 rush-1.8/tests/umask.at 0000644 0001750 0001750 00000001470 12755764036 015166 0 ustar 00mats mats 0000000 0000000 # This file is part of GNU Rush.
# Copyright (C) 2016 Sergey Poznyakoff
#
# GNU Rush is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GNU Rush is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Rush. If not, see .
AT_SETUP([umask])
AT_KEYWORDS([umask])
AT_RUSH_TEST([
rule
umask 017
],
[umask],
[command],
[0],
[{
"umask":017
}
],
[])
AT_CLEANUP
rush-1.8/tests/myid.c 0000644 0001750 0001750 00000000637 12755767264 014640 0 ustar 00mats mats 0000000 0000000 #include
#include
#include
#include
#include
int
main(int argc, char **argv)
{
struct passwd *pw;
struct group *gr;
pw = getpwuid(getuid());
assert(pw!=NULL);
gr = getgrgid(pw->pw_gid);
assert(gr!=NULL);
printf("%s %lu %s %lu\n",
pw->pw_name,
(unsigned long) pw->pw_uid,
gr->gr_name,
(unsigned long) gr->gr_gid);
return 0;
}
rush-1.8/tests/transform.at 0000644 0001750 0001750 00000003363 12755764036 016064 0 ustar 00mats mats 0000000 0000000 # This file is part of GNU Rush.
# Copyright (C) 2016 Sergey Poznyakoff
#
# GNU Rush is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GNU Rush is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Rush. If not, see .
AT_SETUP([transform])
AT_KEYWORDS([transform])
AT_RUSH_TEST([
rule
transform s/^[^[:space:]]+/& -t/
],
[cmdline,argv,prog],
[svnserve],
[0],
[{
"cmdline":"svnserve -t",
"argv":[[
"svnserve",
"-t"
]],
"prog":null
}
],
[])
AT_RUSH_TEST([
rule
transform "\${command} end" s/[[:space:]]+-[^[:space:]]+//g
],
[cmdline,argv,prog],
[echo -c -t foo -n bar],
[0],
[{
"cmdline":"echo foo bar end",
"argv":[[
"echo",
"foo",
"bar",
"end"
]],
"prog":null
}
],
[])
AT_RUSH_TEST([
rule
transform[0] s|^[^/]|/usr/bin/&|
],
[cmdline,argv,prog],
[echo foo],
[0],
[{
"cmdline":"/usr/bin/echo foo",
"argv":[[
"/usr/bin/echo",
"foo"
]],
"prog":null
}
],
[],
[/bin/echo foo],
[0],
[{
"cmdline":"/bin/echo foo",
"argv":[[
"/bin/echo",
"foo"
]],
"prog":null
}
],
[])
AT_RUSH_TEST([
rule
transform[0] \${^} s,.*/,-,
],
[cmdline,argv,prog],
[/bin/sh],
[0],
[{
"cmdline":"-sh",
"argv":[[
"-sh"
]],
"prog":null
}
],
[])
AT_CLEANUP
rush-1.8/tests/argc.at 0000644 0001750 0001750 00000002147 12773663353 014764 0 ustar 00mats mats 0000000 0000000 # This file is part of GNU Rush.
# Copyright (C) 2008-2016 Sergey Poznyakoff
#
# GNU Rush is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GNU Rush is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Rush. If not, see .
AT_SETUP([argc])
AT_KEYWORDS([argc])
AT_RUSH_TEST([
rule
argc 2
],
[cmdline,argv,prog,interactive,fork,acct],
[/usr/bin/echo foo],
[0],
[{
"cmdline":"/usr/bin/echo foo",
"argv":[[
"/usr/bin/echo",
"foo"
]],
"prog":null,
"interactive":0,
"fork":-1,
"acct":-1
}
],
[],
[/usr/bin/echo foo bar],
[1],
[],
[rush: Error: no matching rule for "/usr/bin/echo foo bar", user $MY_USER
])
AT_CLEANUP
rush-1.8/tests/env.at 0000644 0001750 0001750 00000006202 12773663353 014634 0 ustar 00mats mats 0000000 0000000 # This file is part of GNU Rush.
# Copyright (C) 2016 Sergey Poznyakoff
#
# GNU Rush is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GNU Rush is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Rush. If not, see .
AT_SETUP([env])
AT_KEYWORDS([env])
AT_RUSH_TEST([
rule
env -
],
[environ],
[command],
[0],
[{
"environ":[[]]
}
],
[])
m4_pushdef([RUSH_ENVIRON],[-i HOME=$PWD USER=$MY_USER LOGIN=$MY_USER])
AT_RUSH_TEST([
rule
env -LOGIN
],
[environ],
[command],
[0],
[{
"environ":[[
"HOME=$TESTDIR",
"USER=$MY_USER"
]]
}
],
[])
AT_RUSH_TEST([
rule
env -LOGIN=$MY_USER
],
[environ],
[command],
[0],
[{
"environ":[[
"HOME=$TESTDIR",
"USER=$MY_USER"
]]
}
],
[])
m4_popdef([RUSH_ENVIRON])
m4_pushdef([RUSH_ENVIRON],[-i HOME=$PWD USER=$MY_USER LOGIN=NO_$MY_USER])
AT_RUSH_TEST([
rule
env -LOGIN=$MY_USER
],
[environ],
[command],
[0],
[{
"environ":[[
"HOME=$TESTDIR",
"LOGIN=NO_$MY_USER",
"USER=$MY_USER"
]]
}
],
[])
m4_popdef([RUSH_ENVIRON])
m4_pushdef([RUSH_ENVIRON],[-i HOME=$PWD USER=$MY_USER LOGIN=NO_$MY_USER PATH=$PATH])
AT_RUSH_TEST([
rule
env - HOME USER
],
[environ],
[command],
[0],
[{
"environ":[[
"HOME=$TESTDIR",
"USER=$MY_USER"
]]
}
],
[])
m4_popdef([RUSH_ENVIRON])
m4_pushdef([RUSH_ENVIRON],[-i HOME=$PWD USER=$MY_USER])
AT_RUSH_TEST([
rule
env NEWVAR=foo
],
[environ],
[command],
[0],
[{
"environ":[[
"HOME=$TESTDIR",
"NEWVAR=foo",
"USER=$MY_USER"
]]
}
],
[])
m4_popdef([RUSH_ENVIRON])
m4_pushdef([RUSH_ENVIRON],[-i])
AT_RUSH_TEST([
rule
env MYPATH+=:/usr/local/bin
],
[environ],
[command],
[0],
[{
"environ":[[
"MYPATH=/usr/local/bin"
]]
}
],
[])
m4_popdef([RUSH_ENVIRON])
m4_pushdef([RUSH_ENVIRON],[-i MYPATH=/bin:/usr/bin])
AT_RUSH_TEST([
rule
env MYPATH+=:/usr/local/bin
],
[environ],
[command],
[0],
[{
"environ":[[
"MYPATH=/bin:/usr/bin:/usr/local/bin"
]]
}
],
[])
m4_popdef([RUSH_ENVIRON])
m4_pushdef([RUSH_ENVIRON],[-i])
AT_RUSH_TEST([
rule
env MYPATH=+/usr/local/bin:
],
[environ],
[command],
[0],
[{
"environ":[[
"MYPATH=/usr/local/bin"
]]
}
],
[])
m4_popdef([RUSH_ENVIRON])
m4_pushdef([RUSH_ENVIRON],[-i MYPATH=/bin:/usr/bin])
AT_RUSH_TEST([
rule
env MYPATH=+/usr/local/bin:
],
[environ],
[command],
[0],
[{
"environ":[[
"MYPATH=/usr/local/bin:/bin:/usr/bin"
]]
}
],
[])
m4_popdef([RUSH_ENVIRON])
m4_pushdef([RUSH_ENVIRON],[-i MYPATH=/bin:/usr/bin])
AT_RUSH_TEST([
rule
env MYPATH=/usr/local/bin:\$MYPATH
],
[environ],
[command],
[0],
[{
"environ":[[
"MYPATH=/usr/local/bin:/bin:/usr/bin"
]]
}
],
[])
m4_popdef([RUSH_ENVIRON])
AT_CLEANUP
rush-1.8/tests/matchprog.at 0000644 0001750 0001750 00000002047 12773663353 016033 0 ustar 00mats mats 0000000 0000000 # This file is part of GNU Rush.
# Copyright (C) 2008-2016 Sergey Poznyakoff
#
# GNU Rush is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GNU Rush is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Rush. If not, see .
AT_SETUP([match program name])
AT_KEYWORDS([matchprog])
AT_RUSH_TEST([
rule
match[^] /usr/bin/.*
],
[cmdline,argv,prog],
[/usr/bin/echo foo],
[0],
[{
"cmdline":"/usr/bin/echo foo",
"argv":[[
"/usr/bin/echo",
"foo"
]],
"prog":null
}
],
[],
[echo foo],
[1],
[],
[rush: Error: no matching rule for "echo foo", user $MY_USER
])
AT_CLEANUP
rush-1.8/tests/newgrp.at 0000644 0001750 0001750 00000001463 12755764036 015352 0 ustar 00mats mats 0000000 0000000 # This file is part of GNU Rush.
# Copyright (C) 2016 Sergey Poznyakoff
#
# GNU Rush is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GNU Rush is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Rush. If not, see .
AT_SETUP([newgrp])
AT_KEYWORDS([newgrp])
AT_RUSH_TEST([
rule
newgrp 0
],
[gid],
[command],
[0],
[{
"gid":0
}
],
[])
AT_CLEANUP
rush-1.8/tests/command.at 0000644 0001750 0001750 00000002203 12773663353 015457 0 ustar 00mats mats 0000000 0000000 # This file is part of GNU Rush.
# Copyright (C) 2008-2016 Sergey Poznyakoff
#
# GNU Rush is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GNU Rush is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Rush. If not, see .
AT_SETUP([command])
AT_KEYWORDS([command])
AT_RUSH_TEST([
rule
command echo[[:space:]]+foo$
],
[cmdline,argv,prog,interactive,fork,acct],
[/usr/bin/echo foo],
[0],
[{
"cmdline":"/usr/bin/echo foo",
"argv":[[
"/usr/bin/echo",
"foo"
]],
"prog":null,
"interactive":0,
"fork":-1,
"acct":-1
}
],
[],
[/usr/bin/echo foo bar],
[1],
[],
[rush: Error: no matching rule for "/usr/bin/echo foo bar", user $MY_USER
])
AT_CLEANUP
rush-1.8/tests/testsuite 0000755 0001750 0001750 00000316674 12773664023 015511 0 ustar 00mats mats 0000000 0000000 #! /bin/sh
# Generated from testsuite.at by GNU Autoconf 2.69.
#
# Copyright (C) 2009-2012 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. ##
## -------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
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_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
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
# 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
if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
as_echo_n='/usr/ucb/echo -n'
else
as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
as_echo_n_body='eval
arg=$1;
case $arg in #(
*"$as_nl"*)
expr "X$arg" : "X\\(.*\\)$as_nl";
arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
esac;
expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
'
export as_echo_n_body
as_echo_n='sh -c $as_echo_n_body as_echo'
fi
export as_echo_body
as_echo='sh -c $as_echo_body as_echo'
fi
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
PATH_SEPARATOR=';'
}
fi
# IFS
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
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
IFS=$as_save_IFS
;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
$as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
exit 1
fi
# 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='> '
PS4='+ '
# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE
# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
if test "x$CONFIG_SHELL" = x; then
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
case \`(set -o) 2>/dev/null\` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
fi
"
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
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 :
else
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
as_have_required=no
fi
if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
else
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=.
as_found=:
case $as_dir in #(
/*)
for as_base in sh bash ksh sh5; do
# 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
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
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
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
## --------------------- ##
## M4sh Shell Functions. ##
## --------------------- ##
# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
{ eval $1=; unset $1;}
}
as_unset=as_fn_unset
# 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
# 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"
} # 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
# 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
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
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 (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
as_dirname=dirname
else
as_dirname=false
fi
# 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_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/=
' <$as_myself |
sed '
s/[$]LINENO.*/&-/
t lineno
b
:lineno
N
:loop
s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
t loop
s/-\n.*//
' >$as_me.lineno &&
chmod +x "$as_me.lineno" ||
{ $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).
. "./$as_me.lineno"
# Exit status is that of the last command.
exit
}
ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
case `echo 'xy\c'` in
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
xy) ECHO_C='\c';;
*) echo `echo ksh88 bug on AIX 6.1` > /dev/null
ECHO_T=' ';;
esac;;
*)
ECHO_N='-n';;
esac
rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
if ln -s conf$$.file conf$$ 2>/dev/null; then
as_ln_s='ln -s'
# ... 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 -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -pR'
fi
else
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='mkdir -p "$as_dir"'
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
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'"
# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
SHELL=${CONFIG_SHELL-/bin/sh}
# How were we run?
at_cli_args="$@"
# Not all shells have the 'times' builtin; the subshell is needed to make
# sure we discard the 'times: not found' message from the shell.
at_times_p=false
(times) >/dev/null 2>&1 && at_times_p=:
# CLI Arguments to pass to the debugging scripts.
at_debug_args=
# -e sets to true
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.
at_debug_p=false
# Display help message?
at_help_p=false
# Display the version message?
at_version_p=false
# List test groups?
at_list_p=false
# --clean
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
# The directory we run the suite in. Default to . if no -C option.
at_dir=`pwd`
# An absolute reference to this testsuite script.
case $as_myself in
[\\/]* | ?:[\\/]* ) at_myself=$as_myself ;;
* ) at_myself=$at_dir/$as_myself ;;
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='rush'
# 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.
at_format='??'
# Description of all the test groups.
at_help_all="1;argc.at:17;argc;argc;
2;command.at:17;command;command;
3;match.at:17;match;match;
4;matchprog.at:17;match program name;matchprog;
5;uid.at:17;uid;uid;
6;gid.at:17;gid;gid;
7;set.at:17;set;set;
8;delete.at:17;delete;delete;
9;transform.at:17;transform;transform;
10;map.at:17;map;map;
11;umask.at:17;umask;umask;
12;newgrp.at:17;newgrp;newgrp;
13;chdir.at:17;chdir;chdir;
14;env.at:17;env;env;
15;interactive.at:17;interactive;interactive;
16;fallthrough.at:17;fall-through;fallthrough fall-through;
17;error.at:17;error;error;
"
# List of the all the test groups.
at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'`
# 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
eval at_value=\$$at_grp
if test $at_value -lt 1 || test $at_value -gt 17; then
$as_echo "invalid test group: $at_value" >&2
exit 1
fi
case $at_value in
0*) # We want to treat leading 0 as decimal, like expr and test, but
# 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.
eval $at_grp='`expr $at_value + 0`' ;;
esac
done
}
at_prev=
for at_option
do
# If the previous option needs an argument, assign it.
if test -n "$at_prev"; then
at_option=$at_prev=$at_option
at_prev=
fi
case $at_option in
*=?*) at_optarg=`expr "X$at_option" : '[^=]*=\(.*\)'` ;;
*) at_optarg= ;;
esac
# Accept the important Cygnus configure options, so we can diagnose typos.
case $at_option in
--help | -h )
at_help_p=:
;;
--list | -l )
at_list_p=:
;;
--version | -V )
at_version_p=:
;;
--clean | -c )
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=:
;;
--errexit | -e )
at_debug_p=:
at_errexit_p=:
;;
--verbose | -v )
at_verbose=; at_quiet=:
;;
--trace | -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_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_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_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] | \
[0-9]-[0-9][0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9] | \
[0-9][0-9]-[0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9][0-9][0-9] | \
[0-9][0-9][0-9]-[0-9][0-9][0-9] | \
[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] | \
[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] )
at_range_start=`expr $at_option : '\(.*\)-'`
at_range_end=`expr $at_option : '.*-\(.*\)'`
if test $at_range_start -gt $at_range_end; then
at_tmp=$at_range_end
at_range_end=$at_range_start
at_range_start=$at_tmp
fi
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.
--directory | -C )
at_prev=--directory
;;
--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.
--keywords | -k )
at_prev=--keywords
;;
--keywords=* )
at_groups_selected=$at_help_all
at_save_IFS=$IFS
IFS=,
set X $at_optarg
shift
IFS=$at_save_IFS
for at_keyword
do
at_invert=
case $at_keyword in
'!'*)
at_invert="-v"
at_keyword=`expr "X$at_keyword" : 'X!\(.*\)'`
;;
esac
# It is on purpose that we match the test group titles too.
at_groups_selected=`$as_echo "$at_groups_selected" |
grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"`
done
# 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=:
;;
*=*)
at_envvar=`expr "x$at_option" : 'x\([^=]*\)='`
# Reject names that are not valid shell variable names.
case $at_envvar in
'' | [0-9]* | *[!_$as_cr_alnum]* )
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
as_fn_append at_debug_args " $at_envvar='$at_value'"
;;
*) $as_echo "$as_me: invalid option: $at_option" >&2
$as_echo "Try \`$0 --help' for more information." >&2
exit 1
;;
esac
done
# Verify our last option didn't require an argument
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$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" | 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.
if $at_help_p; then
cat <<_ATEOF || at_write_fail=1
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.
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 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
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 $0
_ATEOF
cat <<_ATEOF || at_write_fail=1
Operation modes:
-h, --help print the help message, then exit
-V, --version print version number, then exit
-c, --clean remove all the files this test suite might create and exit
-l, --list describes all the tests, or the selected TESTS
_ATEOF
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
-d, --debug inhibit clean up and top-level logging
default for debugging scripts
-x, --trace enable tests shell tracing
_ATEOF
cat <<_ATEOF || at_write_fail=1
Report bugs to .
General help using GNU software: .
_ATEOF
exit $at_write_fail
fi
# List of tests.
if $at_list_p; then
cat <<_ATEOF || at_write_fail=1
GNU rush 1.8 test suite test groups:
NUM: FILE-NAME:LINE TEST-GROUP-NAME
KEYWORDS
_ATEOF
# 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) {
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 (GNU rush 1.8)" &&
cat <<\_ATEOF || at_write_fail=1
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.
_ATEOF
exit $at_write_fail
fi
# 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 a single space once printed.
# Banner 1. testsuite.at:58
# Category starts at test group 1.
at_banner_text_1="Conditionals"
# Banner 2. testsuite.at:66
# Category starts at test group 7.
at_banner_text_2="Transformations"
# Banner 3. testsuite.at:72
# Category starts at test group 11.
at_banner_text_3="Actions"
# Banner 4. testsuite.at:79
# Category starts at test group 15.
at_banner_text_4="Features"
# Take any -C into account.
if $at_change_dir ; then
test x != "x$at_dir" && cd "$at_dir" \
|| as_fn_error $? "unable to change directory"
at_dir=`pwd`
fi
# Load the config files for any default variable assignments.
for at_file in atconfig atlocal
do
test -r $at_file || continue
. ./$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}"
# Perform any assignments requested during argument parsing.
eval "$at_debug_args"
# atconfig delivers names relative to the directory the test suite is
# in, but the groups themselves are run in testsuite-dir/group-dir.
if test -n "$at_top_srcdir"; then
builddir=../..
for at_dir_var in srcdir top_srcdir top_build_prefix
do
eval at_val=\$at_$at_dir_var
case $at_val in
[\\/$]* | ?:[\\/]* ) at_prefix= ;;
*) at_prefix=../../ ;;
esac
eval "$at_dir_var=\$at_prefix\$at_val"
done
fi
## -------------------- ##
## Directory structure. ##
## -------------------- ##
# This is the set of directories and files used by this script
# (non-literals are capitalized):
#
# TESTSUITE - the testsuite
# TESTSUITE.log - summarizes the complete testsuite run
# TESTSUITE.dir/ - created during a run, remains after -d or failed test
# + at-groups/ - during a run: status of all groups in run
# | + NNN/ - during a run: meta-data about test group NNN
# | | + check-line - location (source file and line) of current AT_CHECK
# | | + status - exit status of current AT_CHECK
# | | + stdout - stdout of current AT_CHECK
# | | + stder1 - stderr, including trace
# | | + stderr - stderr, with trace filtered out
# | | + test-source - portion of testsuite that defines group
# | | + times - timestamps for computing duration
# | | + pass - created if group passed
# | | + xpass - created if group xpassed
# | | + fail - created if group failed
# | | + xfail - created if group xfailed
# | | + skip - created if group skipped
# + at-stop - during a run: end the run if this file exists
# + at-source-lines - during a run: cache of TESTSUITE line numbers for extraction
# + 0..NNN/ - created for each group NNN, remains after -d or failed test
# | + TESTSUITE.log - summarizes the group results
# | + ... - files created during the group
# 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 ($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" &&
find "$at_suite_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
rm -f -r "$at_suite_dir" "$at_suite_log"
exit $?
fi
# Don't take risks: use only absolute directories in PATH.
#
# For stand-alone test suites (ie. atconfig was not found),
# AUTOTEST_PATH is relative to `.'.
#
# For embedded test suites, AUTOTEST_PATH is relative to the top level
# of the package. Then expand it into build/src parts, since users
# may create executables in both places.
AUTOTEST_PATH=`$as_echo "$AUTOTEST_PATH" | sed "s|:|$PATH_SEPARATOR|g"`
at_path=
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $AUTOTEST_PATH $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
test -n "$at_path" && as_fn_append at_path $PATH_SEPARATOR
case $as_dir in
[\\/]* | ?:[\\/]* )
as_fn_append at_path "$as_dir"
;;
* )
if test -z "$at_top_build_prefix"; then
# Stand-alone test suite.
as_fn_append at_path "$as_dir"
else
# Embedded test suite.
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
IFS=$as_save_IFS
# Now build and simplify PATH.
#
# There might be directories that don't exist, but don't redirect
# builtins' (eg., cd) stderr directly: Ultrix's sh hates that.
at_new_path=
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $at_path
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
test -d "$as_dir" || continue
case $as_dir in
[\\/]* | ?:[\\/]* ) ;;
* ) as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` ;;
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 ;;
*) as_fn_append at_new_path "$PATH_SEPARATOR$as_dir" ;;
esac
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
else
: >"$at_suite_log"
fi
exec 5>>"$at_suite_log"
# Banners and logs.
$as_echo "## ------------------------ ##
## GNU rush 1.8 test suite. ##
## ------------------------ ##"
{
$as_echo "## ------------------------ ##
## GNU rush 1.8 test suite. ##
## ------------------------ ##"
echo
$as_echo "$as_me: command line was:"
$as_echo " \$ $0 $at_cli_args"
echo
# 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
fi
{
cat <<_ASUNAME
## --------- ##
## Platform. ##
## --------- ##
hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
_ASUNAME
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
$as_echo "PATH: $as_dir"
done
IFS=$as_save_IFS
}
echo
# Contents of the config files.
for at_file in atconfig atlocal
do
test -r $at_file || continue
$as_echo "$as_me: $at_file:"
sed 's/^/| /' $at_file
echo
done
} >&5
## ------------------------- ##
## Autotest shell functions. ##
## ------------------------- ##
# 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=\" \""
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_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 ()
{
$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_fn_check_prepare_trace LINE
# ------------------------------
# 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"
}
# 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_fn_log_failure ()
{
for file
do $as_echo "$file:"; sed 's/^/> /' "$file"; done
echo 1 > "$at_status_file"
exit 1
}
# 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_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_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_fn_test NUMBER
# -----------------
# Parse out test NUMBER from the tail of this file.
at_fn_test ()
{
eval at_sed=\$at_sed$1
sed "$at_sed" "$at_myself" > "$at_test_source"
}
# at_fn_create_debugging_script
# -----------------------------
# Create the debugging script $at_group_dir/run which will reproduce the
# current test group.
at_fn_create_debugging_script ()
{
{
echo "#! /bin/sh" &&
echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' &&
$as_echo "cd '$at_dir'" &&
$as_echo "exec \${CONFIG_SHELL-$SHELL} \"$at_myself\" -v -d $at_debug_args $at_group \${1+\"\$@\"}" &&
echo 'exit 1'
} >"$at_group_dir/run" &&
chmod +x "$at_group_dir/run"
}
## -------------------------------- ##
## End of autotest shell functions. ##
## -------------------------------- ##
{
$as_echo "## ---------------- ##
## Tested programs. ##
## ---------------- ##"
echo
} >&5
# Report what programs are being tested.
for at_program in : $at_tested
do
test "$at_program" = : && continue
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
IFS=$as_save_IFS
at_program_=$as_dir/$at_program ;;
esac
if test -f "$at_program_"; then
{
$as_echo "$at_srcdir/testsuite.at:54: $at_program_ --version"
"$at_program_" --version &5 2>&1
else
as_fn_error $? "cannot find $at_program" "$LINENO" 5
fi
done
{
$as_echo "## ------------------ ##
## Running the tests. ##
## ------------------ ##"
} >&5
at_start_date=`date`
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.
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
at_devnull=/dev/null
else
at_devnull=$at_suite_dir/devnull
>"$at_devnull"
fi
# Use `diff -u' when possible.
if at_diff=`diff -u "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_diff"
then
at_diff='diff -u'
else
at_diff=diff
fi
# Get the last needed group.
for at_group in : $at_groups; do :; done
# Extract the start and end lines of each test group at the tail
# of this file
awk '
BEGIN { FS="" }
/^#AT_START_/ {
start = NR
}
/^#AT_STOP_/ {
test = substr ($ 0, 10)
print "at_sed" test "=\"1," start "d;" (NR-1) "q\""
if (test == "'"$at_group"'") exit
}' "$at_myself" > "$at_suite_dir/at-source-lines" &&
. "$at_suite_dir/at-source-lines" ||
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_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_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
# The file containing the location of the last AT_CHECK.
at_check_line_file=$at_job_dir/check-line
# The file containing the exit status of the last command.
at_status_file=$at_job_dir/status
# The files containing the output of the tested commands.
at_stdout=$at_job_dir/stdout
at_stder1=$at_job_dir/stder1
at_stderr=$at_job_dir/stderr
# The file containing the code for a test group.
at_test_source=$at_job_dir/test-source
# The file containing dates.
at_times_file=$at_job_dir/times
# Be sure to come back to the top test directory.
cd "$at_suite_dir"
# Clearly separate the test groups when verbose.
$at_first || $at_verbose echo
at_group_normalized=$at_group
eval 'while :; do
case $at_group_normalized in #(
'"$at_format"'*) break;;
esac
at_group_normalized=0$at_group_normalized
done'
# 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"/* "$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"; as_fn_mkdir_p
echo 0 > "$at_status_file"
# In verbose mode, append to the log file *and* show on
# the standard output; in quiet mode only write to the log.
if test -z "$at_verbose"; then
at_tee_pipe='tee -a "$at_group_log"'
else
at_tee_pipe='cat >> "$at_group_log"'
fi
}
# 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.
cd "$at_suite_dir"
if test ! -f "$at_check_line_file"; then
sed "s/^ */$as_me: WARNING: /" <<_ATEOF
A failure happened in a test group before any test could be
run. This means that test suite is improperly designed. Please
report this failure to .
_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"
case $at_xfail:$at_status in
yes:0)
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
at_color=$at_lgn
;;
esac
echo "$at_res" > "$at_job_dir/$at_res"
# 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)
# $at_times_file is only available if the group succeeded.
# We're not including the group log, so the success message
# is written in the global log separately. But we also
# write to the group log in case they're using -d.
if test -f "$at_times_file"; then
at_log_msg="$at_log_msg ("`sed 1d "$at_times_file"`')'
rm -f "$at_times_file"
fi
$as_echo "$at_log_msg" >> "$at_group_log"
$as_echo "$at_log_msg" >&5
# 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 \{\} \;
rm -fr "$at_group_dir"
fi
rm -f "$at_test_source"
fi
;;
*)
# Upon failure, include the log into the testsuite's global
# log. The failure message is written in the group log. It
# is later included in the global log.
$as_echo "$at_log_msg" >> "$at_group_log"
# Upon failure, keep the group directory for autopsy, and create
# the debugging script. With -e, do not start any further tests.
at_fn_create_debugging_script
if $at_errexit; then
echo stop > "$at_stop_file"
fi
;;
esac
}
## ------------ ##
## 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=:
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=:
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
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"
# Use ?..???? when the list must remain sorted, the faster * otherwise.
at_pass_list=`for f in */pass; do echo $f; done | sed '/\*/d; s,/pass,,'`
at_skip_list=`for f in */skip; do echo $f; done | sed '/\*/d; s,/skip,,'`
at_xfail_list=`for f in */xfail; do echo $f; done | sed '/\*/d; s,/xfail,,'`
at_xpass_list=`for f in ?/xpass ??/xpass ???/xpass ????/xpass; do
echo $f; done | sed '/?/d; s,/xpass,,'`
at_fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do
echo $f; done | sed '/?/d; s,/fail,,'`
set X $at_pass_list $at_xpass_list $at_xfail_list $at_fail_list $at_skip_list
shift; at_group_count=$#
set X $at_xpass_list; shift; at_xpass_count=$#; at_xpass_list=$*
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=$#
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"
rm -rf "$at_helper_dir"
# Compute the duration of the suite.
at_stop_date=`date`
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]*)
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
$as_echo "## ------------- ##
## Test results. ##
## ------------- ##"
echo
{
echo
$as_echo "## ------------- ##
## Test results. ##
## ------------- ##"
echo
} >&5
if test $at_run_count = 1; then
at_result="1 test"
at_were=was
else
at_result="$at_run_count tests"
at_were=were
fi
if $at_errexit_p && test $at_unexpected_count != 0; then
if test $at_xpass_count = 1; then
at_result="$at_result $at_were run, one passed"
else
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." 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,
$at_fail_count failed unexpectedly." ;;
# Some failures, both expected and unexpected
0:*:1) at_result="$at_result $at_were run,
$at_total_fail_count failed ($at_xfail_count expected failure)." ;;
0:*:*) at_result="$at_result $at_were run,
$at_total_fail_count failed ($at_xfail_count expected failures)." ;;
# No unexpected failures, but some xpasses
*:0:*) at_result="$at_result $at_were run,
$at_xpass_count passed unexpectedly." ;;
# No expected failures, but failures and xpasses
*:1:0) at_result="$at_result $at_were run,
$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;;
*:*:0) at_result="$at_result $at_were run,
$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;;
# All of them.
*:*:1) at_result="$at_result $at_were run,
$at_xpass_count passed unexpectedly,
$at_total_fail_count failed ($at_xfail_count expected failure)." ;;
*:*:*) at_result="$at_result $at_were run,
$at_xpass_count passed unexpectedly,
$at_total_fail_count failed ($at_xfail_count expected failures)." ;;
esac
if test $at_skip_count = 0 && test $at_run_count -gt 1; then
at_result="All $at_result"
fi
fi
# Now put skips in the mix.
case $at_skip_count in
0) ;;
1) at_result="$at_result
1 test was skipped." ;;
*) at_result="$at_result
$at_skip_count tests were skipped." ;;
esac
if test $at_unexpected_count = 0; then
echo "$at_color$at_result$at_std"
echo "$at_result" >&5
else
echo "${at_color}ERROR: $at_result$at_std" >&2
echo "ERROR: $at_result" >&5
{
echo
$as_echo "## ------------------------ ##
## Summary of the failures. ##
## ------------------------ ##"
# Summary of failed and skipped tests.
if test $at_fail_count != 0; then
echo "Failed tests:"
$SHELL "$at_myself" $at_fail_list --list
echo
fi
if test $at_skip_count != 0; then
echo "Skipped tests:"
$SHELL "$at_myself" $at_skip_list --list
echo
fi
if test $at_xpass_count != 0; then
echo "Unexpected passes:"
$SHELL "$at_myself" $at_xpass_list --list
echo
fi
if test $at_fail_count != 0; then
$as_echo "## ---------------------- ##
## Detailed failed tests. ##
## ---------------------- ##"
echo
for at_group in $at_fail_list
do
at_group_normalized=$at_group
eval 'while :; do
case $at_group_normalized in #(
'"$at_format"'*) break;;
esac
at_group_normalized=0$at_group_normalized
done'
cat "$at_suite_dir/$at_group_normalized/$as_me.log"
echo
done
echo
fi
if test -n "$at_top_srcdir"; then
sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## ${at_top_build_prefix}config.log ##
_ASBOX
sed 's/^/| /' ${at_top_build_prefix}config.log
echo
fi
} >&5
sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## $as_me.log was created. ##
_ASBOX
echo
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:
Subject: [GNU rush 1.8] $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'.
"
exit 1
fi
exit 0
## ------------- ##
## Actual tests. ##
## ------------- ##
#AT_START_1
at_fn_group_banner 1 'argc.at:17' \
"argc" " " 1
at_xfail=no
(
$as_echo "1. $at_setup_line: testing $at_desc ..."
$at_traceon
myvars
{ set +x
$as_echo "$at_srcdir/argc.at:20:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog,interactive,fork,acct -c \"/usr/bin/echo foo\" test.conf
echo \"# \$?\"
echo \"# /usr/bin/echo foo bar\"
echo \"# /usr/bin/echo foo bar\" >&2
rush -C none -Dcmdline,argv,prog,interactive,fork,acct -c \"/usr/bin/echo foo bar\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "argc.at:20"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog,interactive,fork,acct -c "/usr/bin/echo foo" test.conf
echo "# $?"
echo "# /usr/bin/echo foo bar"
echo "# /usr/bin/echo foo bar" >&2
rush -C none -Dcmdline,argv,prog,interactive,fork,acct -c "/usr/bin/echo foo bar" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# /usr/bin/echo foo
# /usr/bin/echo foo bar
rush: Error: no matching rule for \"/usr/bin/echo foo bar\", user $MY_USER
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# /usr/bin/echo foo
{
\"cmdline\":\"/usr/bin/echo foo\",
\"argv\":[
\"/usr/bin/echo\",
\"foo\"
],
\"prog\":null,
\"interactive\":0,
\"fork\":-1,
\"acct\":-1
}
# 0
# /usr/bin/echo foo bar
# 1
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/argc.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }
set +x
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1
#AT_START_2
at_fn_group_banner 2 'command.at:17' \
"command" " " 1
at_xfail=no
(
$as_echo "2. $at_setup_line: testing $at_desc ..."
$at_traceon
myvars
{ set +x
$as_echo "$at_srcdir/command.at:20:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog,interactive,fork,acct -c \"/usr/bin/echo foo\" test.conf
echo \"# \$?\"
echo \"# /usr/bin/echo foo bar\"
echo \"# /usr/bin/echo foo bar\" >&2
rush -C none -Dcmdline,argv,prog,interactive,fork,acct -c \"/usr/bin/echo foo bar\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "command.at:20"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog,interactive,fork,acct -c "/usr/bin/echo foo" test.conf
echo "# $?"
echo "# /usr/bin/echo foo bar"
echo "# /usr/bin/echo foo bar" >&2
rush -C none -Dcmdline,argv,prog,interactive,fork,acct -c "/usr/bin/echo foo bar" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# /usr/bin/echo foo
# /usr/bin/echo foo bar
rush: Error: no matching rule for \"/usr/bin/echo foo bar\", user $MY_USER
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# /usr/bin/echo foo
{
\"cmdline\":\"/usr/bin/echo foo\",
\"argv\":[
\"/usr/bin/echo\",
\"foo\"
],
\"prog\":null,
\"interactive\":0,
\"fork\":-1,
\"acct\":-1
}
# 0
# /usr/bin/echo foo bar
# 1
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/command.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }
set +x
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_2
#AT_START_3
at_fn_group_banner 3 'match.at:17' \
"match" " " 1
at_xfail=no
(
$as_echo "3. $at_setup_line: testing $at_desc ..."
$at_traceon
myvars
{ set +x
$as_echo "$at_srcdir/match.at:20:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c \"/usr/bin/echo foo\" test.conf
echo \"# \$?\"
echo \"# /usr/bin/echo bar\"
echo \"# /usr/bin/echo bar\" >&2
rush -C none -Dcmdline,argv,prog -c \"/usr/bin/echo bar\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "match.at:20"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c "/usr/bin/echo foo" test.conf
echo "# $?"
echo "# /usr/bin/echo bar"
echo "# /usr/bin/echo bar" >&2
rush -C none -Dcmdline,argv,prog -c "/usr/bin/echo bar" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# /usr/bin/echo foo
# /usr/bin/echo bar
rush: Error: no matching rule for \"/usr/bin/echo bar\", user $MY_USER
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# /usr/bin/echo foo
{
\"cmdline\":\"/usr/bin/echo foo\",
\"argv\":[
\"/usr/bin/echo\",
\"foo\"
],
\"prog\":null
}
# 0
# /usr/bin/echo bar
# 1
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/match.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }
set +x
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_3
#AT_START_4
at_fn_group_banner 4 'matchprog.at:17' \
"match program name" " " 1
at_xfail=no
(
$as_echo "4. $at_setup_line: testing $at_desc ..."
$at_traceon
myvars
{ set +x
$as_echo "$at_srcdir/matchprog.at:20:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c \"/usr/bin/echo foo\" test.conf
echo \"# \$?\"
echo \"# echo foo\"
echo \"# echo foo\" >&2
rush -C none -Dcmdline,argv,prog -c \"echo foo\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "matchprog.at:20"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c "/usr/bin/echo foo" test.conf
echo "# $?"
echo "# echo foo"
echo "# echo foo" >&2
rush -C none -Dcmdline,argv,prog -c "echo foo" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# /usr/bin/echo foo
# echo foo
rush: Error: no matching rule for \"echo foo\", user $MY_USER
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# /usr/bin/echo foo
{
\"cmdline\":\"/usr/bin/echo foo\",
\"argv\":[
\"/usr/bin/echo\",
\"foo\"
],
\"prog\":null
}
# 0
# echo foo
# 1
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/matchprog.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }
set +x
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_4
#AT_START_5
at_fn_group_banner 5 'uid.at:17' \
"uid" " " 1
at_xfail=no
(
$as_echo "5. $at_setup_line: testing $at_desc ..."
$at_traceon
myvars
{ set +x
$as_echo "$at_srcdir/uid.at:20:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c \"ls /\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "uid.at:20"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c "ls /" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# ls /
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# ls /
{
\"cmdline\":\"ls /\",
\"argv\":[
\"ls\",
\"/\"
],
\"prog\":null
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/uid.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/uid.at:38:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c \"ls /\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "uid.at:38"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c "ls /" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# ls /
rush: Error: no matching rule for \"ls /\", user $MY_USER
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# ls /
# 1
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/uid.at:38"
$at_failed && at_fn_log_failure
$at_traceon; }
set +x
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_5
#AT_START_6
at_fn_group_banner 6 'gid.at:17' \
"gid" " " 1
at_xfail=no
(
$as_echo "6. $at_setup_line: testing $at_desc ..."
$at_traceon
myvars
{ set +x
$as_echo "$at_srcdir/gid.at:20:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c \"ls /\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "gid.at:20"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c "ls /" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# ls /
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# ls /
{
\"cmdline\":\"ls /\",
\"argv\":[
\"ls\",
\"/\"
],
\"prog\":null
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/gid.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/gid.at:38:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c \"ls /\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "gid.at:38"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c "ls /" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# ls /
rush: Error: no matching rule for \"ls /\", user $MY_USER
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# ls /
# 1
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/gid.at:38"
$at_failed && at_fn_log_failure
$at_traceon; }
set +x
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_6
#AT_START_7
at_fn_group_banner 7 'set.at:17' \
"set" " " 2
at_xfail=no
(
$as_echo "7. $at_setup_line: testing $at_desc ..."
$at_traceon
myvars
{ set +x
$as_echo "$at_srcdir/set.at:20:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c \"echo\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "set.at:20"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c "echo" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# echo
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# echo
{
\"cmdline\":\"ls /\",
\"argv\":[
\"ls\",
\"/\"
],
\"prog\":null
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/set.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/set.at:38:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c \"ls /\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "set.at:38"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c "ls /" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# ls /
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# ls /
{
\"cmdline\":\"/usr/bin/ls /\",
\"argv\":[
\"/usr/bin/ls\",
\"/\"
],
\"prog\":null
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/set.at:38"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/set.at:56:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c \"ls /\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "set.at:56"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c "ls /" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# ls /
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# ls /
{
\"cmdline\":\"ls /chroot/\",
\"argv\":[
\"ls\",
\"/chroot/\"
],
\"prog\":null
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/set.at:56"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/set.at:74:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c \"ls /\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "set.at:74"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c "ls /" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# ls /
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# ls /
{
\"cmdline\":\"ls /\",
\"argv\":[
\"ls\",
\"/\"
],
\"prog\":\"/usr/bin/ls\"
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/set.at:74"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/set.at:92:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c \"ls /\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "set.at:92"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c "ls /" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# ls /
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# ls /
{
\"cmdline\":\"ls /tmp\",
\"argv\":[
\"ls\",
\"/tmp\"
],
\"prog\":null
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/set.at:92"
$at_failed && at_fn_log_failure
$at_traceon; }
set +x
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_7
#AT_START_8
at_fn_group_banner 8 'delete.at:17' \
"delete" " " 2
at_xfail=no
(
$as_echo "8. $at_setup_line: testing $at_desc ..."
$at_traceon
myvars
{ set +x
$as_echo "$at_srcdir/delete.at:20:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c \"echo foo bar\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "delete.at:20"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c "echo foo bar" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# echo foo bar
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# echo foo bar
{
\"cmdline\":\"echo bar\",
\"argv\":[
\"echo\",
\"bar\"
],
\"prog\":null
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/delete.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/delete.at:38:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c \"echo foo bar\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "delete.at:38"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c "echo foo bar" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# echo foo bar
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# echo foo bar
{
\"cmdline\":\"echo foo\",
\"argv\":[
\"echo\",
\"foo\"
],
\"prog\":null
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/delete.at:38"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/delete.at:56:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c \"echo foo bar baz quux wum\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "delete.at:56"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c "echo foo bar baz quux wum" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# echo foo bar baz quux wum
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# echo foo bar baz quux wum
{
\"cmdline\":\"echo foo wum\",
\"argv\":[
\"echo\",
\"foo\",
\"wum\"
],
\"prog\":null
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/delete.at:56"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/delete.at:75:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c \"echo foo bar\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "delete.at:75"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c "echo foo bar" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# echo foo bar
rush: Error: Deleting argv[0] is prohibited
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# echo foo bar
# 1
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/delete.at:75"
$at_failed && at_fn_log_failure
$at_traceon; }
set +x
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_8
#AT_START_9
at_fn_group_banner 9 'transform.at:17' \
"transform" " " 2
at_xfail=no
(
$as_echo "9. $at_setup_line: testing $at_desc ..."
$at_traceon
myvars
{ set +x
$as_echo "$at_srcdir/transform.at:20:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c \"svnserve\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "transform.at:20"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c "svnserve" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# svnserve
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# svnserve
{
\"cmdline\":\"svnserve -t\",
\"argv\":[
\"svnserve\",
\"-t\"
],
\"prog\":null
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/transform.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/transform.at:38:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c \"echo -c -t foo -n bar\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "transform.at:38"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c "echo -c -t foo -n bar" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# echo -c -t foo -n bar
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# echo -c -t foo -n bar
{
\"cmdline\":\"echo foo bar end\",
\"argv\":[
\"echo\",
\"foo\",
\"bar\",
\"end\"
],
\"prog\":null
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/transform.at:38"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/transform.at:58:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c \"echo foo\" test.conf
echo \"# \$?\"
echo \"# /bin/echo foo\"
echo \"# /bin/echo foo\" >&2
rush -C none -Dcmdline,argv,prog -c \"/bin/echo foo\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "transform.at:58"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c "echo foo" test.conf
echo "# $?"
echo "# /bin/echo foo"
echo "# /bin/echo foo" >&2
rush -C none -Dcmdline,argv,prog -c "/bin/echo foo" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# echo foo
# /bin/echo foo
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# echo foo
{
\"cmdline\":\"/usr/bin/echo foo\",
\"argv\":[
\"/usr/bin/echo\",
\"foo\"
],
\"prog\":null
}
# 0
# /bin/echo foo
{
\"cmdline\":\"/bin/echo foo\",
\"argv\":[
\"/bin/echo\",
\"foo\"
],
\"prog\":null
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/transform.at:58"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/transform.at:89:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c \"/bin/sh\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "transform.at:89"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog -c "/bin/sh" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# /bin/sh
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# /bin/sh
{
\"cmdline\":\"-sh\",
\"argv\":[
\"-sh\"
],
\"prog\":null
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/transform.at:89"
$at_failed && at_fn_log_failure
$at_traceon; }
set +x
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_9
#AT_START_10
at_fn_group_banner 10 'map.at:17' \
"map" " " 2
at_xfail=no
(
$as_echo "10. $at_setup_line: testing $at_desc ..."
$at_traceon
{ set +x
$as_echo "$at_srcdir/map.at:20:
myvars
cat > passwd.rush < test.conf < passwd.rush
rush -C none -Dcmdline,argv,prog -c 'command arg' test.conf
echo No match, no default
cat > test.conf < passwd.rush < test.conf < passwd.rush
rush -C none -Dcmdline,argv,prog -c 'command arg' test.conf
echo No match, no default
cat > test.conf <>"$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 "Matching map
{
\"cmdline\":\"/rush_special_shell arg\",
\"argv\":[
\"/rush_special_shell\",
\"arg\"
],
\"prog\":null
}
No match, return default
{
\"cmdline\":\"/nologin arg\",
\"argv\":[
\"/nologin\",
\"arg\"
],
\"prog\":null
}
No match, no default
{
\"cmdline\":\"command arg\",
\"argv\":[
\"command\",
\"arg\"
],
\"prog\":null
}
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/map.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }
set +x
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_10
#AT_START_11
at_fn_group_banner 11 'umask.at:17' \
"umask" " " 3
at_xfail=no
(
$as_echo "11. $at_setup_line: testing $at_desc ..."
$at_traceon
myvars
{ set +x
$as_echo "$at_srcdir/umask.at:20:
cat > test.conf <&2
rush -C none -Dumask -c \"command\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "umask.at:20"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dumask -c "command" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# command
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# command
{
\"umask\":017
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/umask.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }
set +x
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_11
#AT_START_12
at_fn_group_banner 12 'newgrp.at:17' \
"newgrp" " " 3
at_xfail=no
(
$as_echo "12. $at_setup_line: testing $at_desc ..."
$at_traceon
myvars
{ set +x
$as_echo "$at_srcdir/newgrp.at:20:
cat > test.conf <&2
rush -C none -Dgid -c \"command\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "newgrp.at:20"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dgid -c "command" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# command
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# command
{
\"gid\":0
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/newgrp.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }
set +x
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_12
#AT_START_13
at_fn_group_banner 13 'chdir.at:17' \
"chdir" " " 3
at_xfail=no
(
$as_echo "13. $at_setup_line: testing $at_desc ..."
$at_traceon
myvars
{ set +x
$as_echo "$at_srcdir/chdir.at:20:
cat > test.conf <&2
rush -C none -Dhome_dir -c \"command\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "chdir.at:20"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dhome_dir -c "command" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# command
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# command
{
\"home_dir\":\"$TESTDIR\"
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/chdir.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }
set +x
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_13
#AT_START_14
at_fn_group_banner 14 'env.at:17' \
"env" " " 3
at_xfail=no
(
$as_echo "14. $at_setup_line: testing $at_desc ..."
$at_traceon
myvars
{ set +x
$as_echo "$at_srcdir/env.at:20:
cat > test.conf <&2
rush -C none -Denviron -c \"command\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "env.at:20"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Denviron -c "command" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# command
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# command
{
\"environ\":[]
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/env.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/env.at:34:
cat > test.conf <&2
env -i HOME=\$PWD USER=\$MY_USER LOGIN=\$MY_USER \$RUSHDIR/rush -C none -Denviron -c \"command\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "env.at:34"
( $at_check_trace;
cat > test.conf <&2
env -i HOME=$PWD USER=$MY_USER LOGIN=$MY_USER $RUSHDIR/rush -C none -Denviron -c "command" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# command
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# command
{
\"environ\":[
\"HOME=$TESTDIR\",
\"USER=$MY_USER\"
]
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/env.at:34"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/env.at:50:
cat > test.conf <&2
env -i HOME=\$PWD USER=\$MY_USER LOGIN=\$MY_USER \$RUSHDIR/rush -C none -Denviron -c \"command\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "env.at:50"
( $at_check_trace;
cat > test.conf <&2
env -i HOME=$PWD USER=$MY_USER LOGIN=$MY_USER $RUSHDIR/rush -C none -Denviron -c "command" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# command
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# command
{
\"environ\":[
\"HOME=$TESTDIR\",
\"USER=$MY_USER\"
]
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/env.at:50"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/env.at:68:
cat > test.conf <&2
env -i HOME=\$PWD USER=\$MY_USER LOGIN=NO_\$MY_USER \$RUSHDIR/rush -C none -Denviron -c \"command\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "env.at:68"
( $at_check_trace;
cat > test.conf <&2
env -i HOME=$PWD USER=$MY_USER LOGIN=NO_$MY_USER $RUSHDIR/rush -C none -Denviron -c "command" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# command
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# command
{
\"environ\":[
\"HOME=$TESTDIR\",
\"LOGIN=NO_$MY_USER\",
\"USER=$MY_USER\"
]
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/env.at:68"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/env.at:87:
cat > test.conf <&2
env -i HOME=\$PWD USER=\$MY_USER LOGIN=NO_\$MY_USER PATH=\$PATH \$RUSHDIR/rush -C none -Denviron -c \"command\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "env.at:87"
( $at_check_trace;
cat > test.conf <&2
env -i HOME=$PWD USER=$MY_USER LOGIN=NO_$MY_USER PATH=$PATH $RUSHDIR/rush -C none -Denviron -c "command" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# command
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# command
{
\"environ\":[
\"HOME=$TESTDIR\",
\"USER=$MY_USER\"
]
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/env.at:87"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/env.at:105:
cat > test.conf <&2
env -i HOME=\$PWD USER=\$MY_USER \$RUSHDIR/rush -C none -Denviron -c \"command\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "env.at:105"
( $at_check_trace;
cat > test.conf <&2
env -i HOME=$PWD USER=$MY_USER $RUSHDIR/rush -C none -Denviron -c "command" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# command
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# command
{
\"environ\":[
\"HOME=$TESTDIR\",
\"NEWVAR=foo\",
\"USER=$MY_USER\"
]
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/env.at:105"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/env.at:124:
cat > test.conf <&2
env -i \$RUSHDIR/rush -C none -Denviron -c \"command\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "env.at:124"
( $at_check_trace;
cat > test.conf <&2
env -i $RUSHDIR/rush -C none -Denviron -c "command" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# command
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# command
{
\"environ\":[
\"MYPATH=/usr/local/bin\"
]
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/env.at:124"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/env.at:141:
cat > test.conf <&2
env -i MYPATH=/bin:/usr/bin \$RUSHDIR/rush -C none -Denviron -c \"command\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "env.at:141"
( $at_check_trace;
cat > test.conf <&2
env -i MYPATH=/bin:/usr/bin $RUSHDIR/rush -C none -Denviron -c "command" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# command
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# command
{
\"environ\":[
\"MYPATH=/bin:/usr/bin:/usr/local/bin\"
]
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/env.at:141"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/env.at:158:
cat > test.conf <&2
env -i \$RUSHDIR/rush -C none -Denviron -c \"command\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "env.at:158"
( $at_check_trace;
cat > test.conf <&2
env -i $RUSHDIR/rush -C none -Denviron -c "command" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# command
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# command
{
\"environ\":[
\"MYPATH=/usr/local/bin\"
]
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/env.at:158"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/env.at:175:
cat > test.conf <&2
env -i MYPATH=/bin:/usr/bin \$RUSHDIR/rush -C none -Denviron -c \"command\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "env.at:175"
( $at_check_trace;
cat > test.conf <&2
env -i MYPATH=/bin:/usr/bin $RUSHDIR/rush -C none -Denviron -c "command" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# command
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# command
{
\"environ\":[
\"MYPATH=/usr/local/bin:/bin:/usr/bin\"
]
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/env.at:175"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/env.at:192:
cat > test.conf <&2
env -i MYPATH=/bin:/usr/bin \$RUSHDIR/rush -C none -Denviron -c \"command\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "env.at:192"
( $at_check_trace;
cat > test.conf <&2
env -i MYPATH=/bin:/usr/bin $RUSHDIR/rush -C none -Denviron -c "command" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# command
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# command
{
\"environ\":[
\"MYPATH=/usr/local/bin:/bin:/usr/bin\"
]
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/env.at:192"
$at_failed && at_fn_log_failure
$at_traceon; }
set +x
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_14
#AT_START_15
at_fn_group_banner 15 'interactive.at:17' \
"interactive" " " 4
at_xfail=no
(
$as_echo "15. $at_setup_line: testing $at_desc ..."
$at_traceon
myvars
{ set +x
$as_echo "$at_srcdir/interactive.at:20:
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog,interactive -i test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "interactive.at:20"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,argv,prog,interactive -i test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# interactive
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# interactive
{
\"cmdline\":\"/bin/sh\",
\"argv\":[
\"/bin/sh\"
],
\"prog\":null,
\"interactive\":1
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interactive.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }
set +x
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_15
#AT_START_16
at_fn_group_banner 16 'fallthrough.at:17' \
"fall-through" " " 4
at_xfail=no
(
$as_echo "16. $at_setup_line: testing $at_desc ..."
$at_traceon
myvars
{ set +x
$as_echo "$at_srcdir/fallthrough.at:20:
cat > test.conf <&2
rush -C none -Dcmdline,environ -c \"command\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "fallthrough.at:20"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,environ -c "command" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# command
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# command
{
\"cmdline\":\"newcommand\",
\"environ\":[
\"STATUS=Fall-through working\",
\"USER=$MY_USER\"
]
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/fallthrough.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/fallthrough.at:41:
cat > test.conf <&2
rush -C none -Dcmdline,interactive,home_dir -i test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "fallthrough.at:41"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline,interactive,home_dir -i test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# interactive
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# interactive
{
\"cmdline\":\"newcommand\",
\"interactive\":1,
\"home_dir\":null
}
# 0
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/fallthrough.at:41"
$at_failed && at_fn_log_failure
$at_traceon; }
set +x
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_16
#AT_START_17
at_fn_group_banner 17 'error.at:17' \
"error" " " 4
at_xfail=no
(
$as_echo "17. $at_setup_line: testing $at_desc ..."
$at_traceon
myvars
{ set +x
$as_echo "$at_srcdir/error.at:20:
cat > test.conf <&2
rush -C none -Dcmdline -c \"command\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "error.at:20"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline -c "command" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# command
\"Forced error\"
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# command
# 1
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/error.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }
myvars
{ set +x
$as_echo "$at_srcdir/error.at:31:
cat > test.conf <&2
rush -C none -Dcmdline -c \"command\" test.conf
echo \"# \$?\"
"
at_fn_check_prepare_notrace 'an embedded newline' "error.at:31"
( $at_check_trace;
cat > test.conf <&2
rush -C none -Dcmdline -c "command" test.conf
echo "# $?"
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "# command
" | \
$at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# command
\"Forced error\"
# 1
" | \
$at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/error.at:31"
$at_failed && at_fn_log_failure
$at_traceon; }
set +x
$at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_17
rush-1.8/tests/set.at 0000644 0001750 0001750 00000003162 12755764036 014641 0 ustar 00mats mats 0000000 0000000 # This file is part of GNU Rush.
# Copyright (C) 2016 Sergey Poznyakoff
#
# GNU Rush is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GNU Rush is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Rush. If not, see .
AT_SETUP([set])
AT_KEYWORDS([set])
AT_RUSH_TEST([
rule
set ls /
],
[cmdline,argv,prog],
[echo],
[0],
[{
"cmdline":"ls /",
"argv":[[
"ls",
"/"
]],
"prog":null
}
],
[])
AT_RUSH_TEST([
rule
set[0] /usr/bin/\$0
],
[cmdline,argv,prog],
[ls /],
[0],
[{
"cmdline":"/usr/bin/ls /",
"argv":[[
"/usr/bin/ls",
"/"
]],
"prog":null
}
],
[])
AT_RUSH_TEST([
rule
set[1] /chroot\${1}
],
[cmdline,argv,prog],
[ls /],
[0],
[{
"cmdline":"ls /chroot/",
"argv":[[
"ls",
"/chroot/"
]],
"prog":null
}
],
[])
AT_RUSH_TEST([
rule
set[^] /usr/bin/ls
],
[cmdline,argv,prog],
[ls /],
[0],
[{
"cmdline":"ls /",
"argv":[[
"ls",
"/"
]],
"prog":"/usr/bin/ls"
}
],
[])
AT_RUSH_TEST([
rule
set[$] /tmp
],
[cmdline,argv,prog],
[ls /],
[0],
[{
"cmdline":"ls /tmp",
"argv":[[
"ls",
"/tmp"
]],
"prog":null
}
],
[])
AT_CLEANUP
rush-1.8/tests/uid.at 0000644 0001750 0001750 00000002027 12773663353 014626 0 ustar 00mats mats 0000000 0000000 # This file is part of GNU Rush.
# Copyright (C) 2008-2016 Sergey Poznyakoff
#
# GNU Rush is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GNU Rush is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Rush. If not, see .
AT_SETUP([uid])
AT_KEYWORDS([uid])
AT_RUSH_TEST([
rule
uid $MY_USER
],
[cmdline,argv,prog],
[ls /],
[0],
[{
"cmdline":"ls /",
"argv":[[
"ls",
"/"
]],
"prog":null
}
],
[])
AT_RUSH_TEST([
rule
uid != $MY_USER
],
[cmdline,argv,prog],
[ls /],
[1],
[],
[rush: Error: no matching rule for "ls /", user $MY_USER
])
AT_CLEANUP
rush-1.8/tests/Makefile.in 0000644 0001750 0001750 00000127070 12773663660 015573 0 ustar 00mats mats 0000000 0000000 # Makefile.in generated by automake 1.14 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
# This file is part of GNU Rush.
# Copyright (C) 2008-2016 Sergey Poznyakoff
#
# GNU Rush is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GNU Rush is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
noinst_PROGRAMS = myid$(EXEEXT)
subdir = tests
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(srcdir)/atlocal.in $(top_srcdir)/build-aux/depcomp
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/doc/imprimatur/imprimatur.m4 \
$(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/alloca.m4 \
$(top_srcdir)/m4/btowc.m4 $(top_srcdir)/m4/codeset.m4 \
$(top_srcdir)/m4/configmake.m4 $(top_srcdir)/m4/dirname.m4 \
$(top_srcdir)/m4/double-slash-root.m4 \
$(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/environ.m4 \
$(top_srcdir)/m4/errno_h.m4 $(top_srcdir)/m4/error.m4 \
$(top_srcdir)/m4/exponentd.m4 $(top_srcdir)/m4/extensions.m4 \
$(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
$(top_srcdir)/m4/flexmember.m4 $(top_srcdir)/m4/float_h.m4 \
$(top_srcdir)/m4/getdelim.m4 $(top_srcdir)/m4/getline.m4 \
$(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettext.m4 \
$(top_srcdir)/m4/gettimeofday.m4 $(top_srcdir)/m4/glibc21.m4 \
$(top_srcdir)/m4/gnulib-common.m4 \
$(top_srcdir)/m4/gnulib-comp.m4 \
$(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/iconv.m4 \
$(top_srcdir)/m4/include_next.m4 \
$(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intmax_t.m4 \
$(top_srcdir)/m4/inttostr.m4 $(top_srcdir)/m4/inttypes_h.m4 \
$(top_srcdir)/m4/langinfo_h.m4 $(top_srcdir)/m4/lib-ld.m4 \
$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
$(top_srcdir)/m4/localcharset.m4 $(top_srcdir)/m4/locale-fr.m4 \
$(top_srcdir)/m4/locale-ja.m4 $(top_srcdir)/m4/locale-zh.m4 \
$(top_srcdir)/m4/locale_h.m4 $(top_srcdir)/m4/localeconv.m4 \
$(top_srcdir)/m4/lock.m4 $(top_srcdir)/m4/longlong.m4 \
$(top_srcdir)/m4/malloc.m4 $(top_srcdir)/m4/malloca.m4 \
$(top_srcdir)/m4/mbrtowc.m4 $(top_srcdir)/m4/mbsinit.m4 \
$(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
$(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mktime.m4 \
$(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/msvc-inval.m4 \
$(top_srcdir)/m4/msvc-nothrow.m4 $(top_srcdir)/m4/multiarch.m4 \
$(top_srcdir)/m4/nl_langinfo.m4 $(top_srcdir)/m4/nls.m4 \
$(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/obstack.m4 \
$(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/printf.m4 $(top_srcdir)/m4/progtest.m4 \
$(top_srcdir)/m4/realloc.m4 $(top_srcdir)/m4/regex.m4 \
$(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/size_max.m4 \
$(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stdbool.m4 \
$(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/stdio_h.m4 \
$(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strerror.m4 \
$(top_srcdir)/m4/strftime.m4 $(top_srcdir)/m4/string_h.m4 \
$(top_srcdir)/m4/strndup.m4 $(top_srcdir)/m4/strnlen.m4 \
$(top_srcdir)/m4/sys_socket_h.m4 \
$(top_srcdir)/m4/sys_time_h.m4 $(top_srcdir)/m4/sys_types_h.m4 \
$(top_srcdir)/m4/threadlib.m4 $(top_srcdir)/m4/time_h.m4 \
$(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/time_rz.m4 \
$(top_srcdir)/m4/timegm.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
$(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/vasnprintf.m4 \
$(top_srcdir)/m4/vasprintf.m4 $(top_srcdir)/m4/warn-on-use.m4 \
$(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
$(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wctype_h.m4 \
$(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/xalloc.m4 \
$(top_srcdir)/m4/xsize.m4 $(top_srcdir)/m4/xstrndup.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = atlocal
CONFIG_CLEAN_VPATH_FILES =
PROGRAMS = $(noinst_PROGRAMS)
myid_SOURCES = myid.c
myid_OBJECTS = myid.$(OBJEXT)
myid_LDADD = $(LDADD)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo " CC " $@;
am__v_CC_1 =
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = myid.c
DIST_SOURCES = myid.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
pkglibexecdir = @pkglibexecdir@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALLOCA_H = @ALLOCA_H@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@
AR = @AR@
ARFLAGS = @ARFLAGS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOM4TE = @AUTOM4TE@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
ENOLINK_VALUE = @ENOLINK_VALUE@
EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
ERRNO_H = @ERRNO_H@
EXEEXT = @EXEEXT@
FLOAT_H = @FLOAT_H@
GETOPT_H = @GETOPT_H@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GNULIB_ATOLL = @GNULIB_ATOLL@
GNULIB_BTOWC = @GNULIB_BTOWC@
GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
GNULIB_CHDIR = @GNULIB_CHDIR@
GNULIB_CHOWN = @GNULIB_CHOWN@
GNULIB_CLOSE = @GNULIB_CLOSE@
GNULIB_DPRINTF = @GNULIB_DPRINTF@
GNULIB_DUP = @GNULIB_DUP@
GNULIB_DUP2 = @GNULIB_DUP2@
GNULIB_DUP3 = @GNULIB_DUP3@
GNULIB_DUPLOCALE = @GNULIB_DUPLOCALE@
GNULIB_ENVIRON = @GNULIB_ENVIRON@
GNULIB_EUIDACCESS = @GNULIB_EUIDACCESS@
GNULIB_FACCESSAT = @GNULIB_FACCESSAT@
GNULIB_FCHDIR = @GNULIB_FCHDIR@
GNULIB_FCHOWNAT = @GNULIB_FCHOWNAT@
GNULIB_FCLOSE = @GNULIB_FCLOSE@
GNULIB_FDATASYNC = @GNULIB_FDATASYNC@
GNULIB_FDOPEN = @GNULIB_FDOPEN@
GNULIB_FFLUSH = @GNULIB_FFLUSH@
GNULIB_FFSL = @GNULIB_FFSL@
GNULIB_FFSLL = @GNULIB_FFSLL@
GNULIB_FGETC = @GNULIB_FGETC@
GNULIB_FGETS = @GNULIB_FGETS@
GNULIB_FOPEN = @GNULIB_FOPEN@
GNULIB_FPRINTF = @GNULIB_FPRINTF@
GNULIB_FPRINTF_POSIX = @GNULIB_FPRINTF_POSIX@
GNULIB_FPURGE = @GNULIB_FPURGE@
GNULIB_FPUTC = @GNULIB_FPUTC@
GNULIB_FPUTS = @GNULIB_FPUTS@
GNULIB_FREAD = @GNULIB_FREAD@
GNULIB_FREOPEN = @GNULIB_FREOPEN@
GNULIB_FSCANF = @GNULIB_FSCANF@
GNULIB_FSEEK = @GNULIB_FSEEK@
GNULIB_FSEEKO = @GNULIB_FSEEKO@
GNULIB_FSYNC = @GNULIB_FSYNC@
GNULIB_FTELL = @GNULIB_FTELL@
GNULIB_FTELLO = @GNULIB_FTELLO@
GNULIB_FTRUNCATE = @GNULIB_FTRUNCATE@
GNULIB_FWRITE = @GNULIB_FWRITE@
GNULIB_GETC = @GNULIB_GETC@
GNULIB_GETCHAR = @GNULIB_GETCHAR@
GNULIB_GETCWD = @GNULIB_GETCWD@
GNULIB_GETDELIM = @GNULIB_GETDELIM@
GNULIB_GETDOMAINNAME = @GNULIB_GETDOMAINNAME@
GNULIB_GETDTABLESIZE = @GNULIB_GETDTABLESIZE@
GNULIB_GETGROUPS = @GNULIB_GETGROUPS@
GNULIB_GETHOSTNAME = @GNULIB_GETHOSTNAME@
GNULIB_GETLINE = @GNULIB_GETLINE@
GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
GNULIB_GL_UNISTD_H_GETOPT = @GNULIB_GL_UNISTD_H_GETOPT@
GNULIB_GRANTPT = @GNULIB_GRANTPT@
GNULIB_GROUP_MEMBER = @GNULIB_GROUP_MEMBER@
GNULIB_ISATTY = @GNULIB_ISATTY@
GNULIB_ISWBLANK = @GNULIB_ISWBLANK@
GNULIB_ISWCTYPE = @GNULIB_ISWCTYPE@
GNULIB_LCHOWN = @GNULIB_LCHOWN@
GNULIB_LINK = @GNULIB_LINK@
GNULIB_LINKAT = @GNULIB_LINKAT@
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
GNULIB_LSEEK = @GNULIB_LSEEK@
GNULIB_MALLOC_POSIX = @GNULIB_MALLOC_POSIX@
GNULIB_MBRLEN = @GNULIB_MBRLEN@
GNULIB_MBRTOWC = @GNULIB_MBRTOWC@
GNULIB_MBSCASECMP = @GNULIB_MBSCASECMP@
GNULIB_MBSCASESTR = @GNULIB_MBSCASESTR@
GNULIB_MBSCHR = @GNULIB_MBSCHR@
GNULIB_MBSCSPN = @GNULIB_MBSCSPN@
GNULIB_MBSINIT = @GNULIB_MBSINIT@
GNULIB_MBSLEN = @GNULIB_MBSLEN@
GNULIB_MBSNCASECMP = @GNULIB_MBSNCASECMP@
GNULIB_MBSNLEN = @GNULIB_MBSNLEN@
GNULIB_MBSNRTOWCS = @GNULIB_MBSNRTOWCS@
GNULIB_MBSPBRK = @GNULIB_MBSPBRK@
GNULIB_MBSPCASECMP = @GNULIB_MBSPCASECMP@
GNULIB_MBSRCHR = @GNULIB_MBSRCHR@
GNULIB_MBSRTOWCS = @GNULIB_MBSRTOWCS@
GNULIB_MBSSEP = @GNULIB_MBSSEP@
GNULIB_MBSSPN = @GNULIB_MBSSPN@
GNULIB_MBSSTR = @GNULIB_MBSSTR@
GNULIB_MBSTOK_R = @GNULIB_MBSTOK_R@
GNULIB_MBTOWC = @GNULIB_MBTOWC@
GNULIB_MEMCHR = @GNULIB_MEMCHR@
GNULIB_MEMMEM = @GNULIB_MEMMEM@
GNULIB_MEMPCPY = @GNULIB_MEMPCPY@
GNULIB_MEMRCHR = @GNULIB_MEMRCHR@
GNULIB_MKDTEMP = @GNULIB_MKDTEMP@
GNULIB_MKOSTEMP = @GNULIB_MKOSTEMP@
GNULIB_MKOSTEMPS = @GNULIB_MKOSTEMPS@
GNULIB_MKSTEMP = @GNULIB_MKSTEMP@
GNULIB_MKSTEMPS = @GNULIB_MKSTEMPS@
GNULIB_MKTIME = @GNULIB_MKTIME@
GNULIB_NANOSLEEP = @GNULIB_NANOSLEEP@
GNULIB_NL_LANGINFO = @GNULIB_NL_LANGINFO@
GNULIB_OBSTACK_PRINTF = @GNULIB_OBSTACK_PRINTF@
GNULIB_OBSTACK_PRINTF_POSIX = @GNULIB_OBSTACK_PRINTF_POSIX@
GNULIB_PCLOSE = @GNULIB_PCLOSE@
GNULIB_PERROR = @GNULIB_PERROR@
GNULIB_PIPE = @GNULIB_PIPE@
GNULIB_PIPE2 = @GNULIB_PIPE2@
GNULIB_POPEN = @GNULIB_POPEN@
GNULIB_POSIX_OPENPT = @GNULIB_POSIX_OPENPT@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
GNULIB_PTSNAME = @GNULIB_PTSNAME@
GNULIB_PTSNAME_R = @GNULIB_PTSNAME_R@
GNULIB_PUTC = @GNULIB_PUTC@
GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
GNULIB_PUTENV = @GNULIB_PUTENV@
GNULIB_PUTS = @GNULIB_PUTS@
GNULIB_PWRITE = @GNULIB_PWRITE@
GNULIB_QSORT_R = @GNULIB_QSORT_R@
GNULIB_RANDOM = @GNULIB_RANDOM@
GNULIB_RANDOM_R = @GNULIB_RANDOM_R@
GNULIB_RAWMEMCHR = @GNULIB_RAWMEMCHR@
GNULIB_READ = @GNULIB_READ@
GNULIB_READLINK = @GNULIB_READLINK@
GNULIB_READLINKAT = @GNULIB_READLINKAT@
GNULIB_REALLOC_POSIX = @GNULIB_REALLOC_POSIX@
GNULIB_REALPATH = @GNULIB_REALPATH@
GNULIB_REMOVE = @GNULIB_REMOVE@
GNULIB_RENAME = @GNULIB_RENAME@
GNULIB_RENAMEAT = @GNULIB_RENAMEAT@
GNULIB_RMDIR = @GNULIB_RMDIR@
GNULIB_RPMATCH = @GNULIB_RPMATCH@
GNULIB_SCANF = @GNULIB_SCANF@
GNULIB_SECURE_GETENV = @GNULIB_SECURE_GETENV@
GNULIB_SETENV = @GNULIB_SETENV@
GNULIB_SETHOSTNAME = @GNULIB_SETHOSTNAME@
GNULIB_SETLOCALE = @GNULIB_SETLOCALE@
GNULIB_SLEEP = @GNULIB_SLEEP@
GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
GNULIB_STDIO_H_NONBLOCKING = @GNULIB_STDIO_H_NONBLOCKING@
GNULIB_STDIO_H_SIGPIPE = @GNULIB_STDIO_H_SIGPIPE@
GNULIB_STPCPY = @GNULIB_STPCPY@
GNULIB_STPNCPY = @GNULIB_STPNCPY@
GNULIB_STRCASESTR = @GNULIB_STRCASESTR@
GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
GNULIB_STRDUP = @GNULIB_STRDUP@
GNULIB_STRERROR = @GNULIB_STRERROR@
GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
GNULIB_STRNCAT = @GNULIB_STRNCAT@
GNULIB_STRNDUP = @GNULIB_STRNDUP@
GNULIB_STRNLEN = @GNULIB_STRNLEN@
GNULIB_STRPBRK = @GNULIB_STRPBRK@
GNULIB_STRPTIME = @GNULIB_STRPTIME@
GNULIB_STRSEP = @GNULIB_STRSEP@
GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
GNULIB_STRSTR = @GNULIB_STRSTR@
GNULIB_STRTOD = @GNULIB_STRTOD@
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
GNULIB_STRTOLL = @GNULIB_STRTOLL@
GNULIB_STRTOULL = @GNULIB_STRTOULL@
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
GNULIB_SYMLINK = @GNULIB_SYMLINK@
GNULIB_SYMLINKAT = @GNULIB_SYMLINKAT@
GNULIB_SYSTEM_POSIX = @GNULIB_SYSTEM_POSIX@
GNULIB_TIMEGM = @GNULIB_TIMEGM@
GNULIB_TIME_R = @GNULIB_TIME_R@
GNULIB_TIME_RZ = @GNULIB_TIME_RZ@
GNULIB_TMPFILE = @GNULIB_TMPFILE@
GNULIB_TOWCTRANS = @GNULIB_TOWCTRANS@
GNULIB_TTYNAME_R = @GNULIB_TTYNAME_R@
GNULIB_UNISTD_H_NONBLOCKING = @GNULIB_UNISTD_H_NONBLOCKING@
GNULIB_UNISTD_H_SIGPIPE = @GNULIB_UNISTD_H_SIGPIPE@
GNULIB_UNLINK = @GNULIB_UNLINK@
GNULIB_UNLINKAT = @GNULIB_UNLINKAT@
GNULIB_UNLOCKPT = @GNULIB_UNLOCKPT@
GNULIB_UNSETENV = @GNULIB_UNSETENV@
GNULIB_USLEEP = @GNULIB_USLEEP@
GNULIB_VASPRINTF = @GNULIB_VASPRINTF@
GNULIB_VDPRINTF = @GNULIB_VDPRINTF@
GNULIB_VFPRINTF = @GNULIB_VFPRINTF@
GNULIB_VFPRINTF_POSIX = @GNULIB_VFPRINTF_POSIX@
GNULIB_VFSCANF = @GNULIB_VFSCANF@
GNULIB_VPRINTF = @GNULIB_VPRINTF@
GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
GNULIB_VSCANF = @GNULIB_VSCANF@
GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
GNULIB_WCPCPY = @GNULIB_WCPCPY@
GNULIB_WCPNCPY = @GNULIB_WCPNCPY@
GNULIB_WCRTOMB = @GNULIB_WCRTOMB@
GNULIB_WCSCASECMP = @GNULIB_WCSCASECMP@
GNULIB_WCSCAT = @GNULIB_WCSCAT@
GNULIB_WCSCHR = @GNULIB_WCSCHR@
GNULIB_WCSCMP = @GNULIB_WCSCMP@
GNULIB_WCSCOLL = @GNULIB_WCSCOLL@
GNULIB_WCSCPY = @GNULIB_WCSCPY@
GNULIB_WCSCSPN = @GNULIB_WCSCSPN@
GNULIB_WCSDUP = @GNULIB_WCSDUP@
GNULIB_WCSLEN = @GNULIB_WCSLEN@
GNULIB_WCSNCASECMP = @GNULIB_WCSNCASECMP@
GNULIB_WCSNCAT = @GNULIB_WCSNCAT@
GNULIB_WCSNCMP = @GNULIB_WCSNCMP@
GNULIB_WCSNCPY = @GNULIB_WCSNCPY@
GNULIB_WCSNLEN = @GNULIB_WCSNLEN@
GNULIB_WCSNRTOMBS = @GNULIB_WCSNRTOMBS@
GNULIB_WCSPBRK = @GNULIB_WCSPBRK@
GNULIB_WCSRCHR = @GNULIB_WCSRCHR@
GNULIB_WCSRTOMBS = @GNULIB_WCSRTOMBS@
GNULIB_WCSSPN = @GNULIB_WCSSPN@
GNULIB_WCSSTR = @GNULIB_WCSSTR@
GNULIB_WCSTOK = @GNULIB_WCSTOK@
GNULIB_WCSWIDTH = @GNULIB_WCSWIDTH@
GNULIB_WCSXFRM = @GNULIB_WCSXFRM@
GNULIB_WCTOB = @GNULIB_WCTOB@
GNULIB_WCTOMB = @GNULIB_WCTOMB@
GNULIB_WCTRANS = @GNULIB_WCTRANS@
GNULIB_WCTYPE = @GNULIB_WCTYPE@
GNULIB_WCWIDTH = @GNULIB_WCWIDTH@
GNULIB_WMEMCHR = @GNULIB_WMEMCHR@
GNULIB_WMEMCMP = @GNULIB_WMEMCMP@
GNULIB_WMEMCPY = @GNULIB_WMEMCPY@
GNULIB_WMEMMOVE = @GNULIB_WMEMMOVE@
GNULIB_WMEMSET = @GNULIB_WMEMSET@
GNULIB_WRITE = @GNULIB_WRITE@
GNULIB__EXIT = @GNULIB__EXIT@
GREP = @GREP@
HAVE_ATOLL = @HAVE_ATOLL@
HAVE_BTOWC = @HAVE_BTOWC@
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
HAVE_DECL_FDATASYNC = @HAVE_DECL_FDATASYNC@
HAVE_DECL_FPURGE = @HAVE_DECL_FPURGE@
HAVE_DECL_FSEEKO = @HAVE_DECL_FSEEKO@
HAVE_DECL_FTELLO = @HAVE_DECL_FTELLO@
HAVE_DECL_GETDELIM = @HAVE_DECL_GETDELIM@
HAVE_DECL_GETDOMAINNAME = @HAVE_DECL_GETDOMAINNAME@
HAVE_DECL_GETLINE = @HAVE_DECL_GETLINE@
HAVE_DECL_GETLOADAVG = @HAVE_DECL_GETLOADAVG@
HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@
HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@
HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@
HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
HAVE_DECL_WCWIDTH = @HAVE_DECL_WCWIDTH@
HAVE_DPRINTF = @HAVE_DPRINTF@
HAVE_DUP2 = @HAVE_DUP2@
HAVE_DUP3 = @HAVE_DUP3@
HAVE_DUPLOCALE = @HAVE_DUPLOCALE@
HAVE_EUIDACCESS = @HAVE_EUIDACCESS@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
HAVE_FCHDIR = @HAVE_FCHDIR@
HAVE_FCHOWNAT = @HAVE_FCHOWNAT@
HAVE_FDATASYNC = @HAVE_FDATASYNC@
HAVE_FEATURES_H = @HAVE_FEATURES_H@
HAVE_FFSL = @HAVE_FFSL@
HAVE_FFSLL = @HAVE_FFSLL@
HAVE_FSEEKO = @HAVE_FSEEKO@
HAVE_FSYNC = @HAVE_FSYNC@
HAVE_FTELLO = @HAVE_FTELLO@
HAVE_FTRUNCATE = @HAVE_FTRUNCATE@
HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
HAVE_GETLOGIN = @HAVE_GETLOGIN@
HAVE_GETOPT_H = @HAVE_GETOPT_H@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
HAVE_GRANTPT = @HAVE_GRANTPT@
HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
HAVE_LONG_LONG_INT = @HAVE_LONG_LONG_INT@
HAVE_MAX_ALIGN_T = @HAVE_MAX_ALIGN_T@
HAVE_MBRLEN = @HAVE_MBRLEN@
HAVE_MBRTOWC = @HAVE_MBRTOWC@
HAVE_MBSINIT = @HAVE_MBSINIT@
HAVE_MBSLEN = @HAVE_MBSLEN@
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
HAVE_MEMCHR = @HAVE_MEMCHR@
HAVE_MEMPCPY = @HAVE_MEMPCPY@
HAVE_MKDTEMP = @HAVE_MKDTEMP@
HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
HAVE_MKSTEMP = @HAVE_MKSTEMP@
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
HAVE_OS_H = @HAVE_OS_H@
HAVE_PCLOSE = @HAVE_PCLOSE@
HAVE_PIPE = @HAVE_PIPE@
HAVE_PIPE2 = @HAVE_PIPE2@
HAVE_POPEN = @HAVE_POPEN@
HAVE_POSIX_OPENPT = @HAVE_POSIX_OPENPT@
HAVE_PREAD = @HAVE_PREAD@
HAVE_PTSNAME = @HAVE_PTSNAME@
HAVE_PTSNAME_R = @HAVE_PTSNAME_R@
HAVE_PWRITE = @HAVE_PWRITE@
HAVE_RANDOM = @HAVE_RANDOM@
HAVE_RANDOM_H = @HAVE_RANDOM_H@
HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
HAVE_READLINKAT = @HAVE_READLINKAT@
HAVE_REALPATH = @HAVE_REALPATH@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_RPMATCH = @HAVE_RPMATCH@
HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
HAVE_SETENV = @HAVE_SETENV@
HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_SLEEP = @HAVE_SLEEP@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
HAVE_STRPBRK = @HAVE_STRPBRK@
HAVE_STRPTIME = @HAVE_STRPTIME@
HAVE_STRSEP = @HAVE_STRSEP@
HAVE_STRTOD = @HAVE_STRTOD@
HAVE_STRTOLL = @HAVE_STRTOLL@
HAVE_STRTOULL = @HAVE_STRTOULL@
HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRUCT_TIMEVAL = @HAVE_STRUCT_TIMEVAL@
HAVE_STRVERSCMP = @HAVE_STRVERSCMP@
HAVE_SYMLINK = @HAVE_SYMLINK@
HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
HAVE_UNSIGNED_LONG_LONG_INT = @HAVE_UNSIGNED_LONG_LONG_INT@
HAVE_USLEEP = @HAVE_USLEEP@
HAVE_VASPRINTF = @HAVE_VASPRINTF@
HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
HAVE_WCHAR_T = @HAVE_WCHAR_T@
HAVE_WCPCPY = @HAVE_WCPCPY@
HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
HAVE_WCSCASECMP = @HAVE_WCSCASECMP@
HAVE_WCSCAT = @HAVE_WCSCAT@
HAVE_WCSCHR = @HAVE_WCSCHR@
HAVE_WCSCMP = @HAVE_WCSCMP@
HAVE_WCSCOLL = @HAVE_WCSCOLL@
HAVE_WCSCPY = @HAVE_WCSCPY@
HAVE_WCSCSPN = @HAVE_WCSCSPN@
HAVE_WCSDUP = @HAVE_WCSDUP@
HAVE_WCSLEN = @HAVE_WCSLEN@
HAVE_WCSNCASECMP = @HAVE_WCSNCASECMP@
HAVE_WCSNCAT = @HAVE_WCSNCAT@
HAVE_WCSNCMP = @HAVE_WCSNCMP@
HAVE_WCSNCPY = @HAVE_WCSNCPY@
HAVE_WCSNLEN = @HAVE_WCSNLEN@
HAVE_WCSNRTOMBS = @HAVE_WCSNRTOMBS@
HAVE_WCSPBRK = @HAVE_WCSPBRK@
HAVE_WCSRCHR = @HAVE_WCSRCHR@
HAVE_WCSRTOMBS = @HAVE_WCSRTOMBS@
HAVE_WCSSPN = @HAVE_WCSSPN@
HAVE_WCSSTR = @HAVE_WCSSTR@
HAVE_WCSTOK = @HAVE_WCSTOK@
HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
HAVE_WCSXFRM = @HAVE_WCSXFRM@
HAVE_WCTRANS_T = @HAVE_WCTRANS_T@
HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
HAVE_WCTYPE_T = @HAVE_WCTYPE_T@
HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
HAVE_WMEMCHR = @HAVE_WMEMCHR@
HAVE_WMEMCMP = @HAVE_WMEMCMP@
HAVE_WMEMCPY = @HAVE_WMEMCPY@
HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
HAVE_WMEMSET = @HAVE_WMEMSET@
HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__BOOL = @HAVE__BOOL@
HAVE__EXIT = @HAVE__EXIT@
IMPRIMATUR_MAKEINFOFLAGS = @IMPRIMATUR_MAKEINFOFLAGS@
IMPRIMATUR_MODULE_DIR = @IMPRIMATUR_MODULE_DIR@
INCLUDE_NEXT = @INCLUDE_NEXT@
INCLUDE_NEXT_AS_FIRST_DIRECTIVE = @INCLUDE_NEXT_AS_FIRST_DIRECTIVE@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LDFLAGS = @LDFLAGS@
LIBGNU_LIBDEPS = @LIBGNU_LIBDEPS@
LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBMULTITHREAD = @LIBMULTITHREAD@
LIBOBJS = @LIBOBJS@
LIBPTH = @LIBPTH@
LIBPTH_PREFIX = @LIBPTH_PREFIX@
LIBS = @LIBS@
LIBTHREAD = @LIBTHREAD@
LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
LOCALE_FR = @LOCALE_FR@
LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
LOCALE_JA = @LOCALE_JA@
LOCALE_ZH_CN = @LOCALE_ZH_CN@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
LTLIBOBJS = @LTLIBOBJS@
LTLIBPTH = @LTLIBPTH@
LTLIBTHREAD = @LTLIBTHREAD@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
NEXT_AS_FIRST_DIRECTIVE_ERRNO_H = @NEXT_AS_FIRST_DIRECTIVE_ERRNO_H@
NEXT_AS_FIRST_DIRECTIVE_FLOAT_H = @NEXT_AS_FIRST_DIRECTIVE_FLOAT_H@
NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
NEXT_AS_FIRST_DIRECTIVE_STDLIB_H = @NEXT_AS_FIRST_DIRECTIVE_STDLIB_H@
NEXT_AS_FIRST_DIRECTIVE_STRING_H = @NEXT_AS_FIRST_DIRECTIVE_STRING_H@
NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H = @NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H@
NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_AS_FIRST_DIRECTIVE_WCHAR_H = @NEXT_AS_FIRST_DIRECTIVE_WCHAR_H@
NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H = @NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H@
NEXT_ERRNO_H = @NEXT_ERRNO_H@
NEXT_FLOAT_H = @NEXT_FLOAT_H@
NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
NEXT_STDIO_H = @NEXT_STDIO_H@
NEXT_STDLIB_H = @NEXT_STDLIB_H@
NEXT_STRING_H = @NEXT_STRING_H@
NEXT_SYS_TIME_H = @NEXT_SYS_TIME_H@
NEXT_SYS_TYPES_H = @NEXT_SYS_TYPES_H@
NEXT_TIME_H = @NEXT_TIME_H@
NEXT_UNISTD_H = @NEXT_UNISTD_H@
NEXT_WCHAR_H = @NEXT_WCHAR_H@
NEXT_WCTYPE_H = @NEXT_WCTYPE_H@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
POSUB = @POSUB@
PRAGMA_COLUMNS = @PRAGMA_COLUMNS@
PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
RENDITION = @RENDITION@
REPLACE_BTOWC = @REPLACE_BTOWC@
REPLACE_CALLOC = @REPLACE_CALLOC@
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
REPLACE_CHOWN = @REPLACE_CHOWN@
REPLACE_CLOSE = @REPLACE_CLOSE@
REPLACE_DPRINTF = @REPLACE_DPRINTF@
REPLACE_DUP = @REPLACE_DUP@
REPLACE_DUP2 = @REPLACE_DUP2@
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
REPLACE_FCLOSE = @REPLACE_FCLOSE@
REPLACE_FDOPEN = @REPLACE_FDOPEN@
REPLACE_FFLUSH = @REPLACE_FFLUSH@
REPLACE_FOPEN = @REPLACE_FOPEN@
REPLACE_FPRINTF = @REPLACE_FPRINTF@
REPLACE_FPURGE = @REPLACE_FPURGE@
REPLACE_FREOPEN = @REPLACE_FREOPEN@
REPLACE_FSEEK = @REPLACE_FSEEK@
REPLACE_FSEEKO = @REPLACE_FSEEKO@
REPLACE_FTELL = @REPLACE_FTELL@
REPLACE_FTELLO = @REPLACE_FTELLO@
REPLACE_FTRUNCATE = @REPLACE_FTRUNCATE@
REPLACE_GETCWD = @REPLACE_GETCWD@
REPLACE_GETDELIM = @REPLACE_GETDELIM@
REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@
REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@
REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
REPLACE_GETLINE = @REPLACE_GETLINE@
REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
REPLACE_GMTIME = @REPLACE_GMTIME@
REPLACE_ISATTY = @REPLACE_ISATTY@
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
REPLACE_ITOLD = @REPLACE_ITOLD@
REPLACE_LCHOWN = @REPLACE_LCHOWN@
REPLACE_LINK = @REPLACE_LINK@
REPLACE_LINKAT = @REPLACE_LINKAT@
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
REPLACE_LSEEK = @REPLACE_LSEEK@
REPLACE_MALLOC = @REPLACE_MALLOC@
REPLACE_MBRLEN = @REPLACE_MBRLEN@
REPLACE_MBRTOWC = @REPLACE_MBRTOWC@
REPLACE_MBSINIT = @REPLACE_MBSINIT@
REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@
REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@
REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@
REPLACE_MBTOWC = @REPLACE_MBTOWC@
REPLACE_MEMCHR = @REPLACE_MEMCHR@
REPLACE_MEMMEM = @REPLACE_MEMMEM@
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
REPLACE_MKTIME = @REPLACE_MKTIME@
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
REPLACE_NULL = @REPLACE_NULL@
REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
REPLACE_PERROR = @REPLACE_PERROR@
REPLACE_POPEN = @REPLACE_POPEN@
REPLACE_PREAD = @REPLACE_PREAD@
REPLACE_PRINTF = @REPLACE_PRINTF@
REPLACE_PTSNAME = @REPLACE_PTSNAME@
REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
REPLACE_PUTENV = @REPLACE_PUTENV@
REPLACE_PWRITE = @REPLACE_PWRITE@
REPLACE_QSORT_R = @REPLACE_QSORT_R@
REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
REPLACE_READ = @REPLACE_READ@
REPLACE_READLINK = @REPLACE_READLINK@
REPLACE_READLINKAT = @REPLACE_READLINKAT@
REPLACE_REALLOC = @REPLACE_REALLOC@
REPLACE_REALPATH = @REPLACE_REALPATH@
REPLACE_REMOVE = @REPLACE_REMOVE@
REPLACE_RENAME = @REPLACE_RENAME@
REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
REPLACE_RMDIR = @REPLACE_RMDIR@
REPLACE_SETENV = @REPLACE_SETENV@
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
REPLACE_SLEEP = @REPLACE_SLEEP@
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@
REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@
REPLACE_STPNCPY = @REPLACE_STPNCPY@
REPLACE_STRCASESTR = @REPLACE_STRCASESTR@
REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
REPLACE_STRNCAT = @REPLACE_STRNCAT@
REPLACE_STRNDUP = @REPLACE_STRNDUP@
REPLACE_STRNLEN = @REPLACE_STRNLEN@
REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
REPLACE_STRSTR = @REPLACE_STRSTR@
REPLACE_STRTOD = @REPLACE_STRTOD@
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
REPLACE_SYMLINK = @REPLACE_SYMLINK@
REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@
REPLACE_TIMEGM = @REPLACE_TIMEGM@
REPLACE_TMPFILE = @REPLACE_TMPFILE@
REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
REPLACE_TTYNAME_R = @REPLACE_TTYNAME_R@
REPLACE_UNLINK = @REPLACE_UNLINK@
REPLACE_UNLINKAT = @REPLACE_UNLINKAT@
REPLACE_UNSETENV = @REPLACE_UNSETENV@
REPLACE_USLEEP = @REPLACE_USLEEP@
REPLACE_VASPRINTF = @REPLACE_VASPRINTF@
REPLACE_VDPRINTF = @REPLACE_VDPRINTF@
REPLACE_VFPRINTF = @REPLACE_VFPRINTF@
REPLACE_VPRINTF = @REPLACE_VPRINTF@
REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@
REPLACE_VSPRINTF = @REPLACE_VSPRINTF@
REPLACE_WCRTOMB = @REPLACE_WCRTOMB@
REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@
REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@
REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@
REPLACE_WCTOB = @REPLACE_WCTOB@
REPLACE_WCTOMB = @REPLACE_WCTOMB@
REPLACE_WCWIDTH = @REPLACE_WCWIDTH@
REPLACE_WRITE = @REPLACE_WRITE@
RUSH_DEFAULT_CONFIG = @RUSH_DEFAULT_CONFIG@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@
SIZE_T_SUFFIX = @SIZE_T_SUFFIX@
STDBOOL_H = @STDBOOL_H@
STDDEF_H = @STDDEF_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
SYS_TIME_H_DEFINES_STRUCT_TIMESPEC = @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
TIME_H_DEFINES_STRUCT_TIMESPEC = @TIME_H_DEFINES_STRUCT_TIMESPEC@
UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
UNISTD_H_DEFINES_STRUCT_TIMESPEC = @UNISTD_H_DEFINES_STRUCT_TIMESPEC@
UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
gl_LIBOBJS = @gl_LIBOBJS@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
gltests_WITNESS = @gltests_WITNESS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
lispdir = @lispdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
EXTRA_DIST = $(TESTSUITE_AT) testsuite package.m4
DISTCLEANFILES = atconfig $(check_SCRIPTS)
MAINTAINERCLEANFILES = Makefile.in $(TESTSUITE)
#
TESTSUITE_AT = \
argc.at\
chdir.at\
command.at\
delete.at\
env.at\
error.at\
fallthrough.at\
interactive.at\
gid.at\
map.at\
match.at\
matchprog.at\
newgrp.at\
set.at\
testsuite.at\
transform.at\
uid.at\
umask.at
TESTSUITE = $(srcdir)/testsuite
M4 = m4
AUTOTEST = $(AUTOM4TE) --language=autotest
all: all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnits tests/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
atlocal: $(top_builddir)/config.status $(srcdir)/atlocal.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
clean-noinstPROGRAMS:
-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
myid$(EXEEXT): $(myid_OBJECTS) $(myid_DEPENDENCIES) $(EXTRA_myid_DEPENDENCIES)
@rm -f myid$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(myid_OBJECTS) $(myid_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/myid.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<
.c.obj:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-am
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-am
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) check-local
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-generic clean-local clean-noinstPROGRAMS \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am:
.MAKE: check-am install-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
clean-generic clean-local clean-noinstPROGRAMS cscopelist-am \
ctags ctags-am distclean distclean-compile distclean-generic \
distclean-tags distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
tags tags-am uninstall uninstall-am
$(srcdir)/package.m4: $(top_srcdir)/configure.ac
$(AM_V_GEN){ \
echo '# Signature of the current package.'; \
echo 'm4_define([AT_PACKAGE_NAME], [@PACKAGE_NAME@])'; \
echo 'm4_define([AT_PACKAGE_TARNAME], [@PACKAGE_TARNAME@])'; \
echo 'm4_define([AT_PACKAGE_VERSION], [@PACKAGE_VERSION@])'; \
echo 'm4_define([AT_PACKAGE_STRING], [@PACKAGE_STRING@])'; \
echo 'm4_define([AT_PACKAGE_BUGREPORT], [@PACKAGE_BUGREPORT@])'; \
} >$(srcdir)/package.m4
$(TESTSUITE): package.m4 $(TESTSUITE_AT)
$(AM_V_GEN)$(AUTOTEST) -I $(srcdir) testsuite.at -o $@.tmp
$(AM_V_at)mv $@.tmp $@
atconfig: $(top_builddir)/config.status
cd $(top_builddir) && ./config.status tests/$@
clean-local:
@test ! -f $(TESTSUITE) || $(SHELL) $(TESTSUITE) --clean
check-local: atconfig atlocal $(TESTSUITE)
@$(SHELL) $(TESTSUITE)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
rush-1.8/tests/delete.at 0000644 0001750 0001750 00000002656 12755764036 015317 0 ustar 00mats mats 0000000 0000000 # This file is part of GNU Rush.
# Copyright (C) 2016 Sergey Poznyakoff
#
# GNU Rush is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GNU Rush is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Rush. If not, see .
AT_SETUP([delete])
AT_KEYWORDS([delete])
AT_RUSH_TEST([
rule
delete[1]
],
[cmdline,argv,prog],
[echo foo bar],
[0],
[{
"cmdline":"echo bar",
"argv":[[
"echo",
"bar"
]],
"prog":null
}
],
[])
AT_RUSH_TEST([
rule
delete[$]
],
[cmdline,argv,prog],
[echo foo bar],
[0],
[{
"cmdline":"echo foo",
"argv":[[
"echo",
"foo"
]],
"prog":null
}
],
[])
AT_RUSH_TEST([
rule
delete 2 4
],
[cmdline,argv,prog],
[echo foo bar baz quux wum],
[0],
[{
"cmdline":"echo foo wum",
"argv":[[
"echo",
"foo",
"wum"
]],
"prog":null
}
],
[])
AT_RUSH_TEST([
rule
delete[0]
],
[cmdline,argv,prog],
[echo foo bar],
[1],
[],
[rush: Error: Deleting argv[[0]] is prohibited
])
AT_CLEANUP
rush-1.8/tests/atlocal.in 0000644 0001750 0001750 00000000577 12773663353 015476 0 ustar 00mats mats 0000000 0000000 # @configure_input@ -*- shell-script -*-
# Configurable variable values for GNU rush test suite.
# Copyright (C) 2016 Sergey Poznyakoff
PATH=@abs_builddir@:@abs_top_builddir@/src:$top_srcdir:$srcdir:$PATH
RUSHDIR=@abs_top_builddir@/src
myvars() {
set -- $(myid)
MY_USER=$1
MY_UID=$2
MY_GROUP=$3
MY_GID=$4
TESTDIR=$(pwd)
}
rush-1.8/tests/package.m4 0000644 0001750 0001750 00000000415 12773664023 015346 0 ustar 00mats mats 0000000 0000000 # Signature of the current package.
m4_define([AT_PACKAGE_NAME], [GNU rush])
m4_define([AT_PACKAGE_TARNAME], [rush])
m4_define([AT_PACKAGE_VERSION], [1.8])
m4_define([AT_PACKAGE_STRING], [GNU rush 1.8])
m4_define([AT_PACKAGE_BUGREPORT], [bug-rush@gnu.org])
rush-1.8/tests/testsuite.at 0000644 0001750 0001750 00000004236 12773663353 016102 0 ustar 00mats mats 0000000 0000000 # This file is part of GNU Rush.
# Copyright (C) 2008-2016 Sergey Poznyakoff
#
# GNU Rush is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GNU Rush is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Rush. If not, see .
m4_version_prereq([2.52g])
dnl m4_run_rush([KW], [CMD],[EC],[STDOUT],[STDERR],...)
m4_define([m4_run_rush],[m4_ifval([$2],[dnl
echo "# $2"
echo "# $2" >&2
m4_ifset([RUSH_ENVIRON],[env RUSH_ENVIRON $RUSHDIR/])rush -C none -D$1 dnl
m4_if([$2],[interactive],[-i],[-c "$2"]) test.conf
echo "# $?"
$0([$1],m4_shiftn(5, $@))])])
dnl m4_fmt_out([CMD],[EC],[STDOUT],[STDERR],...)
m4_define([m4_fmt_out],[m4_ifval([$1],[dnl
# $1
$3[]dnl
# $2
$0(m4_shift(m4_shift3($@)))])])
dnl m4_fmt_err([CMD],[EC],[STDOUT],[STDERR],...)
m4_define([m4_fmt_err],[m4_ifval([$1],[dnl
# $1
$4[]dnl
$0(m4_shift(m4_shift3($@)))])])
dnl AT_RUSH_TEST([CONFIG],[KW], [CMD],[EC],[STDOUT],[STDERR])
m4_define([AT_RUSH_TEST],[
myvars
AT_CHECK_UNQUOTED([
cat > test.conf <