#! /bin/sh
#
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 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=:
  # Zsh 3.x and 4.x performs 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




# PATH needs CR
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits

# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
  echo "#! /bin/sh" >conf$$.sh
  echo  "exit 0"   >>conf$$.sh
  chmod +x conf$$.sh
  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
    PATH_SEPARATOR=';'
  else
    PATH_SEPARATOR=:
  fi
  rm -f conf$$.sh
fi

# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
  as_unset=unset
else
  as_unset=false
fi


# IFS
# We need space, tab and new line, in precisely that order.  Quoting is
# 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.)
as_nl='
'
IFS=" ""	$as_nl"

# Find who we are.  Look in the path if we contain no directory separator.
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
  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
  { (exit 1); exit 1; }
fi

# Work around bugs in pre-3.0 UWIN ksh.
for as_var in ENV MAIL MAILPATH
do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
done
PS1='$ '
PS2='> '
PS4='+ '

# NLS nuisances.
for as_var in \
  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
  LC_TELEPHONE LC_TIME
do
  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
    eval $as_var=C; export $as_var
  else
    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
  fi
done

# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1 &&
   test "X`expr 00001 : '.*\(...\)'`" = X001; then
  as_expr=expr
else
  as_expr=false
fi

if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
  as_basename=basename
else
  as_basename=false
fi


# Name of the executable.
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
	 X"$0" : 'X\(//\)$' \| \
	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
echo X/"$0" |
    sed '/^.*\/\([^/][^/]*\)\/*$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`

# CDPATH.
$as_unset CDPATH


if test "x$CONFIG_SHELL" = x; then
  if (eval ":") 2>/dev/null; then
  as_have_required=yes
else
  as_have_required=no
fi

  if test $as_have_required = yes && 	 (eval ":
(as_func_return () {
  (exit \$1)
}
as_func_success () {
  as_func_return 0
}
as_func_failure () {
  as_func_return 1
}
as_func_ret_success () {
  return 0
}
as_func_ret_failure () {
  return 1
}

exitcode=0
if as_func_success; then
  :
else
  exitcode=1
  echo as_func_success failed.
fi

if as_func_failure; then
  exitcode=1
  echo as_func_failure succeeded.
fi

if as_func_ret_success; then
  :
else
  exitcode=1
  echo as_func_ret_success failed.
fi

if as_func_ret_failure; then
  exitcode=1
  echo as_func_ret_failure succeeded.
fi

if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
  :
else
  exitcode=1
  echo positional parameters were not saved.
fi

test \$exitcode = 0) || { (exit 1); exit 1; }

(
  as_lineno_1=\$LINENO
  as_lineno_2=\$LINENO
  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
") 2> /dev/null; then
  :
else
  as_candidate_shells=
    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  case $as_dir in
	 /*)
	   for as_base in sh bash ksh sh5; do
	     as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
	   done;;
       esac
done
IFS=$as_save_IFS


      for as_shell in $as_candidate_shells $SHELL; do
	 # Try only shells that exist, to save several forks.
	 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
		{ ("$as_shell") 2> /dev/null <<\_ASEOF
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs 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


:
_ASEOF
}; then
  CONFIG_SHELL=$as_shell
	       as_have_required=yes
	       if { "$as_shell" 2> /dev/null <<\_ASEOF
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in
  *posix*) set -o posix ;;
esac

fi


:
(as_func_return () {
  (exit $1)
}
as_func_success () {
  as_func_return 0
}
as_func_failure () {
  as_func_return 1
}
as_func_ret_success () {
  return 0
}
as_func_ret_failure () {
  return 1
}

exitcode=0
if as_func_success; then
  :
else
  exitcode=1
  echo as_func_success failed.
fi

if as_func_failure; then
  exitcode=1
  echo as_func_failure succeeded.
fi

if as_func_ret_success; then
  :
else
  exitcode=1
  echo as_func_ret_success failed.
fi

if as_func_ret_failure; then
  exitcode=1
  echo as_func_ret_failure succeeded.
fi

if ( set x; as_func_ret_success y && test x = "$1" ); then
  :
else
  exitcode=1
  echo positional parameters were not saved.
fi

test $exitcode = 0) || { (exit 1); exit 1; }

(
  as_lineno_1=$LINENO
  as_lineno_2=$LINENO
  test "x$as_lineno_1" != "x$as_lineno_2" &&
  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }

_ASEOF
}; then
  break
fi

fi

      done

      if test "x$CONFIG_SHELL" != x; then
  for as_var in BASH_ENV ENV
        do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
        done
        export CONFIG_SHELL
        exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
fi


    if test $as_have_required = no; then
  echo This script requires a shell more modern than all the
      echo shells that I found on your system.  Please install a
      echo modern shell, or manually run the script under such a
      echo shell if you do have one.
      { (exit 1); exit 1; }
fi


fi

fi



(eval "as_func_return () {
  (exit \$1)
}
as_func_success () {
  as_func_return 0
}
as_func_failure () {
  as_func_return 1
}
as_func_ret_success () {
  return 0
}
as_func_ret_failure () {
  return 1
}

exitcode=0
if as_func_success; then
  :
else
  exitcode=1
  echo as_func_success failed.
fi

if as_func_failure; then
  exitcode=1
  echo as_func_failure succeeded.
fi

if as_func_ret_success; then
  :
else
  exitcode=1
  echo as_func_ret_success failed.
fi

if as_func_ret_failure; then
  exitcode=1
  echo as_func_ret_failure succeeded.
fi

if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
  :
else
  exitcode=1
  echo positional parameters were not saved.
fi

test \$exitcode = 0") || {
  echo No shell found that supports shell functions.
  echo Please tell autoconf@gnu.org about your system,
  echo including any error possibly output before this
  echo message
}



  as_lineno_1=$LINENO
  as_lineno_2=$LINENO
  test "x$as_lineno_1" != "x$as_lineno_2" &&
  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {

  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
  # uniformly replaced by the line number.  The first 'sed' inserts a
  # line-number line after each line using $LINENO; the second 'sed'
  # does the real work.  The second script uses 'N' to pair each
  # line-number line with the line containing $LINENO, and appends
  # trailing '-' during substitution so that $LINENO is not a special
  # case at line end.
  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
  # scripts with optimization help from Paolo Bonzini.  Blame Lee
  # E. McMahon (1931-1989) for sed's syntax.  :-)
  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" ||
    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
   { (exit 1); exit 1; }; }

  # 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
}


if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
  as_dirname=dirname
else
  as_dirname=false
fi

ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in
-n*)
  case `echo 'x\c'` in
  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
  *)   ECHO_C='\c';;
  esac;;
*)
  ECHO_N='-n';;
esac

if expr a : '\(a\)' >/dev/null 2>&1 &&
   test "X`expr 00001 : '.*\(...\)'`" = X001; then
  as_expr=expr
else
  as_expr=false
fi

rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
  rm -f conf$$.dir/conf$$.file
else
  rm -f conf$$.dir
  mkdir conf$$.dir
fi
echo >conf$$.file
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 -p'.
  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
    as_ln_s='cp -p'
elif ln conf$$.file conf$$ 2>/dev/null; then
  as_ln_s=ln
else
  as_ln_s='cp -p'
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=:
else
  test -d ./-p && rmdir ./-p
  as_mkdir_p=false
fi

if test -x / >/dev/null 2>&1; then
  as_test_x='test -x'
else
  if ls -dL / >/dev/null 2>&1; then
    as_ls_L_option=L
  else
    as_ls_L_option=
  fi
  as_test_x='
    eval sh -c '\''
      if test -d "$1"; then
        test -d "$1/.";
      else
	case $1 in
        -*)set "./$1";;
	esac;
	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
	???[sx]*):;;*)false;;esac;fi
    '\'' sh
  '
fi
as_executable_p=$as_test_x

# 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="$@"

# Load the config file.
for at_file in atconfig atlocal
do
  test -r $at_file || continue
  . ./$at_file || { echo "$as_me: error: invalid content: $at_file" >&2
   { (exit 1); exit 1; }; }
done

# Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix:
: ${at_top_build_prefix=$at_top_builddir}

# 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 in srcdir top_srcdir top_build_prefix
  do
    at_val=`eval echo '${'at_$at_dir'}'`
    eval "$at_dir=\$at_val/../.."
  done
fi

# 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?
at_verbose=:
at_quiet=echo

# 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
# Test groups to run
at_groups=

# The directory we are in.
at_dir=`pwd`
# The directory the whole suite works in.
# Should be absolutely to let the user `cd' at will.
at_suite_dir=$at_dir/$as_me.dir
# The file containing the suite.
at_suite_log=$at_dir/$as_me.log
# The file containing the location of the last AT_CHECK.
at_check_line_file=$at_suite_dir/at-check-line
# The file containing the exit status of the last command.
at_status_file=$at_suite_dir/at-status
# The files containing the output of the tested commands.
at_stdout=$at_suite_dir/at-stdout
at_stder1=$at_suite_dir/at-stder1
at_stderr=$at_suite_dir/at-stderr
# The file containing dates.
at_times_file=$at_suite_dir/at-times

# List of the tested programs.
at_tested='mailfromd'
# List of the all the test groups.
at_groups_all=' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60'
# 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;version.at:17;mailfromd version;;
2;ack.at:17;Ackerman function;ack;
3;arg.at:17;Function arguments;arg;
4;farg.at:17;Function arguments;farg;
5;alias.at:17;Function aliases;alias;
6;bctx00.at:17;Builtin in wrong context;context builtin-context bctx bctx00;
7;bctx01.at:17;Builtin in correct context;context builtin-context bctx bctx01;
8;fctx00.at:17;Function in wrong context;context function-context fctx fctx00;
9;fctx01.at:17;Function in correct context;context function-context fctx fctx01;
10;catch.at:17;Setting exceptions;exceptions catch setex;
11;invip.at:17;Catching exceptions: invip;exceptions catch invip;
12;invcidr.at:17;Catching exceptions: invcidr;exceptions catch invcidr;
13;catch01.at:17;Setting exceptions (2);exceptions catch setex2;
14;invip2.at:17;Catching exceptions: invip (2);exceptions catch invip2;
15;invcidr2.at:17;Catching exceptions: invcidr (2);exceptions catch invcidr2;
16;cidr1.at:17;cidr: 10.10.0.1 matches 10.10.0.0/19;cidr cidr1;
17;cidr2.at:17;cidr: 10.10.31.255 matches 10.10.0.0/19;cidr cidr2;
18;cidr3.at:17;cidr: 10.10.32.1 does not match 10.10.0.0/19;cidr cidr3;
19;cond01.at:17;String equality;cond cond01;
20;cond02.at:17;Fnmatch;cond cond02 fnmatch fnmatch1;
21;cond03.at:17;Fnmatch (2);cond cond02 fnmatch fnmatch2;
22;cond04.at:17;Regex match;cond cond04 regex regex1;
23;cond05.at:17;Regex match (5);cond cond05 regex regex2;
24;cond06.at:17;Nested if;cond cond06 nested;
25;resolve.at:17;Resolve;dns resolve;
26;rescname.at:17;Resolve cname;dns rescname;
27;hostname.at:17;Resolve cname;dns rescname;
28;hasmx.at:17;Hasmx call;dns hasmx;
29;ismx.at:17;Ismx call;dns ismx;
30;greylist.at:17;Greylisting (traditional style);greylist greylist-gray;
31;greylist-ct.at:17;Greylisting (new style);greylist greylist-ct;
32;macros.at:17;Built-in macros;macros;
33;ml.at:17;Multiline strings;ml multiline multi-line;
34;numrcpt.at:17;rcpt_count;rcpt_count numrcpt;
35;poll.at:17;poll: Existing sender;poll exist poll00;
36;poll01.at:17;poll: Non-existing sender;poll non-exist poll01;
37;poll02.at:17;poll: Tempfail;poll tempfail poll02;
38;poll03.at:17;poll: Multiple from addresses;poll multiple poll03;
39;poll04.at:17;on poll without address;poll poll04;
40;prec.at:17;function precedence;fprec prec;
41;accept.at:17;Accept action;actions accept;
42;reject.at:17;Reject action;actions reject;
43;tempfail.at:17;Tempfail action;actions tempfail;
44;relayed01.at:17;Relayed: Not a relayed host;relayed relayed01;
45;relayed02.at:17;Relayed: Relayed host;relayed relayed02;
46;shadow.at:17;variable shadowing;variable variables shadow;
47;ashadow.at:17;duplicate declarations of automatic variables;variable variables shadow auto ashadow;
48;strings.at:17;String functions;string strings string-functions strfunc;
49;switchn1.at:17;Numeric switch: Branch 1,2 val 1;switch numswitch switchn1;
50;switchn2.at:17;Numeric switch: Branch 1,2 val 1;switch numswitch switchn2;
51;switchn3.at:17;Numeric switch: Branch 3;switch numswitch switchn3;
52;switchn4.at:17;Numeric switch: Default branch;switch numswitch switchn4;
53;switchs1.at:17;String switch: Branch 1,2 val jeden;switch strswitch switchs1;
54;switchs2.at:17;String switch: Branch 1,2 val dwa;switch strswitch switchs2;
55;switchs3.at:17;String switch: Branch 3;switch strswitch switchs3;
56;switchs4.at:17;String switch: Default branch;switch strswitch switchs4;
57;declvar.at:17;Declared variables;declvar variable variables;
58;fromargs.at:17;Arguments to envfrom;envfrom arguments;
59;rcptargs.at:17;Arguments to envrcpt;envrcpt arguments;
60;curmsg.at:25;Working current_message;curmsg;
"

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" : 'x[^=]*=\(.*\)'` ;;
  *)   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 )
	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 0
	;;

    --debug | -d )
	at_debug_p=:
	;;

    --errexit | -e )
	at_debug_p=:
	at_errexit_p=:
	;;

    --verbose | -v )
	at_verbose=echo; at_quiet=:
	;;

    --trace | -x )
	at_traceon='set -x'; at_traceoff='set +x'
	;;

    [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9])
	at_groups="$at_groups$at_option "
	;;

    # 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_range=`echo " $at_groups_all " | \
	  sed -e 's/^.* \('$at_range_start' \)/\1/'`
	at_groups="$at_groups$at_range "
	;;

    -[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_range=`echo " $at_groups_all " | \
	  sed -e 's/\( '$at_range_end'\) .*$/\1/'`
	at_groups="$at_groups$at_range "
	;;

    [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_range=`echo " $at_groups_all " | \
	  sed -e 's/^.*\( '$at_range_start' \)/\1/' \
	      -e 's/\( '$at_range_end'\) .*$/\1/'`
	at_groups="$at_groups$at_range "
	;;

    # 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=`echo "$at_groups_selected" |
	      grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"`
	done
	at_groups_selected=`echo "$at_groups_selected" | sed 's/;.*//'`
	# Smash the newlines.
	at_groups="$at_groups`echo $at_groups_selected` "
	;;

    *=*)
	at_envvar=`expr "x$at_option" : 'x\([^=]*\)='`
	# Reject names that are not valid shell variable names.
	expr "x$at_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
	  { echo "$as_me: error: invalid variable name: $at_envvar" >&2
   { (exit 1); exit 1; }; }
	at_value=`echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"`
	eval "$at_envvar='$at_value'"
	export $at_envvar
	# Propagate to debug scripts.
	at_debug_args="$at_debug_args $at_envvar='$at_value'"
	;;

     *) echo "$as_me: invalid option: $at_option" >&2
	echo "Try \`$0 --help' for more information." >&2
	exit 1
	;;
  esac
done

# Selected test groups.
if test -z "$at_groups"; then
  at_groups=$at_groups_all
else
  # Sort the tests, removing duplicates:
  at_groups=`echo $at_groups | tr ' ' "$as_nl" | sort -nu`
  # and add banners.  (Passing at_groups_all is tricky--see the comment
  # starting with "Passing at_groups is tricky.")
  at_groups=`echo "$at_groups$as_nl $at_groups_all" |
    awk 'BEGIN { FS = "@" } # Effectively switch off field splitting.
	/^$/ { next }  # Ignore the empty line.
	!/ / { groups++; selected[$ 0] = 1; next }
	# The last line, containing at_groups_all.
	{
		n = split($ 0, a, " ")
		# If there are several tests, select their banners:
		if (groups > 1) {
			for (i = 1; i <= n; i++) {
				if (a[i] ~ /^banner-/)
					banner = a[i]
				else if (banner != "" && selected[a[i]] == 1)
					selected[banner] = 1
			}
		}
		for (i = 1; i <= n; i++)
			if (selected[a[i]] == 1)
				list = list " " a[i]
		print list
	}'`
fi

# Help message.
if $at_help_p; then
  cat <<_ATEOF
Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS]

Run all the tests, or the selected TESTS, given by numeric ranges, and
save a detailed log file.  Upon failure, create debugging scripts.

You should not change environment variables unless explicitly passed
as command line arguments.  Set \`AUTOTEST_PATH' to select the executables
to exercise.  Each relative directory is expanded as build and source
directories relatively to the top level of this distribution.  E.g.,

  $ $0 AUTOTEST_PATH=bin

possibly amounts into

  PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH
_ATEOF
cat <<_ATEOF

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

Execution tuning:
  -k, --keywords=KEYWORDS
	         select the tests matching all the comma-separated KEYWORDS
	         multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD
  -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

Report bugs to <bug-mailfromd@gnu.org.ua>.
_ATEOF
  exit 0
fi

# List of tests.
if $at_list_p; then
  cat <<_ATEOF
mailfromd 5.0.93 test suite test groups:

 NUM: FILE-NAME:LINE     TEST-GROUP-NAME
      KEYWORDS

_ATEOF
  # Passing at_groups is tricky.  We cannot use it to form a literal string
  # or regexp because of the limitation of AIX awk.  And Solaris' awk
  # doesn't grok more than 99 fields in a record, so we have to use `split'.
  echo "$at_groups$as_nl$at_help_all" |
    awk 'BEGIN { FS = ";" }
	 NR == 1 {
	   for (n = split($ 0, a, " "); n; n--) selected[a[n]] = 1
	   next
	 }
	 {
	   if (selected[$ 1]) {
	     printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3
	     if ($ 4) printf "      %s\n", $ 4
	   }
	 }'
  exit 0
fi
if $at_version_p; then
  echo "$as_me (mailfromd 5.0.93)"
  cat <<\_ACEOF

Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
Foundation, Inc.
This test suite is free software; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
_ACEOF
  exit 0
fi

# Don't take risks: use only absolute directories in PATH.
#
# For stand-alone test suites, 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=`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" && at_path=$at_path$PATH_SEPARATOR
case $as_dir in
  [\\/]* | ?:[\\/]* )
    at_path=$at_path$as_dir
    ;;
  * )
    if test -z "$at_top_build_prefix"; then
      # Stand-alone test suite.
      at_path=$at_path$as_dir
    else
      # Embedded test suite.
      at_path=$at_path$at_top_build_prefix$as_dir$PATH_SEPARATOR
      at_path=$at_path$at_top_srcdir/$as_dir
    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.
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=.
  as_dir=`(cd "$as_dir" && pwd) 2>/dev/null`
test -d "$as_dir" || continue
case $PATH in
	          $as_dir                 | \
	          $as_dir$PATH_SEPARATOR* | \
  *$PATH_SEPARATOR$as_dir                 | \
  *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR* ) ;;

  '') PATH=$as_dir ;;
   *) PATH=$PATH$PATH_SEPARATOR$as_dir ;;
esac
done
IFS=$as_save_IFS

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.
cat <<\_ASBOX
## ---------------------------- ##
## mailfromd 5.0.93 test suite. ##
## ---------------------------- ##
_ASBOX
{
  cat <<\_ASBOX
## ---------------------------- ##
## mailfromd 5.0.93 test suite. ##
## ---------------------------- ##
_ASBOX
  echo

  echo "$as_me: command line was:"
  echo "  $ $0 $at_cli_args"
  echo

  # Try to find a few ChangeLogs in case it might help determining the
  # exact version.  Use the relative dir: if the top dir is a symlink,
  # find will not follow it (and options to follow the links are not
  # portable), which would result in no output here.
  if test -n "$at_top_srcdir"; then
    cat <<\_ASBOX
## ----------- ##
## ChangeLogs. ##
## ----------- ##
_ASBOX
    echo
    for at_file in `find "$at_top_srcdir" -name ChangeLog -print`
    do
      echo "$as_me: $at_file:"
      sed 's/^/| /;10q' $at_file
      echo
    done

    {
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=.
  echo "PATH: $as_dir"
done
IFS=$as_save_IFS

}
    echo
  fi

  # Contents of the config files.
  for at_file in atconfig atlocal
  do
    test -r $at_file || continue
    echo "$as_me: $at_file:"
    sed 's/^/| /' $at_file
    echo
  done

  cat <<\_ASBOX
## ---------------- ##
## Tested programs. ##
## ---------------- ##
_ASBOX
  echo
} >&5

# Report what programs are being tested.
for at_program in : $at_tested
do
  test "$at_program" = : && continue
  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

  if test -f "$as_dir/$at_program"; then
    {
      echo "$at_srcdir/testsuite.at:85: $as_dir/$at_program --version"
      "$as_dir/$at_program" --version
      echo
    } >&5 2>&1
  else
    { { echo "$as_me:$LINENO: error: cannot find $at_program" >&5
echo "$as_me: error: cannot find $at_program" >&2;}
   { (exit 1); exit 1; }; }
  fi
done

{
  cat <<\_ASBOX
## ------------------ ##
## Running the tests. ##
## ------------------ ##
_ASBOX
} >&5

at_start_date=`date`
at_start_time=`date +%s 2>/dev/null`
echo "$as_me: starting at: $at_start_date" >&5
at_xpass_list=
at_xfail_list=
at_pass_list=
at_fail_list=
at_skip_list=
at_group_count=0

# Create the master directory if it doesn't already exist.
test -d "$at_suite_dir" ||
  mkdir "$at_suite_dir" ||
  { { echo "$as_me:$LINENO: error: cannot create '$at_suite_dir'" >&5
echo "$as_me: error: cannot create '$at_suite_dir'" >&2;}
   { (exit 1); exit 1; }; }

# 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


for at_group in $at_groups
do
  # Be sure to come back to the top test directory.
  cd "$at_suite_dir"

  case $at_group in
    banner-*)
      at_group_log=$at_suite_log
      ;;

    *)
      at_group_normalized=$at_group

  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.
      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"
      fi
      # Be tolerant if the above `rm' was not able to remove the directory.
      { as_dir=$at_group_dir
  case $as_dir in #(
  -*) as_dir=./$as_dir;;
  esac
  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
    as_dirs=
    while :; do
      case $as_dir in #(
      *\'*) as_qdir=`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 ||
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" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
echo "$as_me: error: cannot create directory $as_dir" >&2;}
   { (exit 1); exit 1; }; }; }
      cd $at_group_dir
      ;;
  esac

  echo 0 > "$at_status_file"

  # Clearly separate the test groups when verbose.
  test $at_group_count != 0 && $at_verbose

  # In verbose mode, append to the log file *and* show on
  # the standard output; in quiet mode only write to the log
  if test $at_verbose = echo; then
    at_tee_pipe='tee -a "$at_group_log"'
  else
    at_tee_pipe='cat >> "$at_group_log"'
  fi

  case $at_group in
  1 ) # 1. version.at:17: mailfromd version
    at_setup_line='version.at:17'
    at_desc="mailfromd version"
    $at_quiet $ECHO_N "  1: mailfromd version                              $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "1. version.at:17: testing ..."
      $at_traceon


$at_traceoff
echo "$at_srcdir/version.at:19: mailfromd --version | sed 1q"
echo version.at:19 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    at_trace_this=yes
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd --version | sed 1q ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd --version | sed 1q ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "mailfromd (mailfromd) 5.0.93
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/version.at:19: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then
  cat >$XFAILFILE <<'_EOT'

==============================================================
WARNING: Not using the proper version, *all* checks dubious...
==============================================================
_EOT


  echo 1 > "$at_status_file"
  exit 1
else
  rm -f $XFAILFILE
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  2 ) # 2. ack.at:17: Ackerman function
    at_setup_line='ack.at:17'
    at_desc="Ackerman function"
    $at_quiet $ECHO_N "  2: Ackerman function                              $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "2. ack.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/ack.at:20: mailfromd \$MFOPTS --test \$ETCDIR/ack.rc"
echo ack.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/ack.rc" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/ack.rc ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/ack.rc ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "ack(3,8)=2045
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/ack.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  3 ) # 3. arg.at:17: Function arguments
    at_setup_line='arg.at:17'
    at_desc="Function arguments"
    $at_quiet $ECHO_N "  3: Function arguments                             $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "3. arg.at:17: testing ..."
      $at_traceon




 cat >script <<'_ATEOF'
\E250
HELO localhost
\E550
MAIL FROM: gray@localhost
\E221
QUIT
_ATEOF

 $at_traceoff
echo "$at_srcdir/arg.at:20:
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim --stdio -Xauto --statedir --  \$ETCDIR/arg.rc < script > /dev/null"
echo arg.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim --stdio -Xauto --statedir --  $ETCDIR/arg.rc < script > /dev/null ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim --stdio -Xauto --statedir --  $ETCDIR/arg.rc < script > /dev/null ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
$at_diff "$at_devnull" "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/arg.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  4 ) # 4. farg.at:17: Function arguments
    at_setup_line='farg.at:17'
    at_desc="Function arguments"
    $at_quiet $ECHO_N "  4: Function arguments                             $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "4. farg.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/farg.at:20: mailfromd \$MFOPTS --test \$ETCDIR/farg.rc"
echo farg.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/farg.rc" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/farg.rc ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/farg.rc ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "2 string 3
2 string 3
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/farg.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  5 ) # 5. alias.at:17: Function aliases
    at_setup_line='alias.at:17'
    at_desc="Function aliases"
    $at_quiet $ECHO_N "  5: Function aliases                               $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "5. alias.at:17: testing ..."
      $at_traceon




cat >prog <<'_ATEOF'

func foo(string a)
  alias bar
  alias baz
  returns string
do
  return %a "." __function__
done

prog envfrom
do
  echo foo("a")
  echo bar("b")
  echo baz("c")
done
_ATEOF

$at_traceoff
echo "$at_srcdir/alias.at:20: mailfromd \$MFOPTS --test prog "
echo alias.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test prog " in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test prog  ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test prog  ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "a.foo
b.foo
c.foo
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/alias.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon



      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  6 ) # 6. bctx00.at:17: Builtin in wrong context
    at_setup_line='bctx00.at:17'
    at_desc="Builtin in wrong context"
    $at_quiet $ECHO_N "  6: Builtin in wrong context                       $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "6. bctx00.at:17: testing ..."
      $at_traceon



echo "mailfromd: $ETCDIR/sa01.rc:19: Built-in function \`sa' cannot be used in prog \`envfrom'" > experr

$at_traceoff
echo "$at_srcdir/bctx00.at:22: mailfromd \$MFOPTS --test \$ETCDIR/sa01.rc"
echo bctx00.at:22 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/sa01.rc" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/sa01.rc ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/sa01.rc ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff experr "$at_stderr" || at_failed=:
$at_diff "$at_devnull" "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   78) ;;
   *) echo "$at_srcdir/bctx00.at:22: exit code was $at_status, expected 78"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  7 ) # 7. bctx01.at:17: Builtin in correct context
    at_setup_line='bctx01.at:17'
    at_desc="Builtin in correct context"
    $at_quiet $ECHO_N "  7: Builtin in correct context                     $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "7. bctx01.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/bctx01.at:20: mailfromd \$MFOPTS --test \$ETCDIR/sa02.rc"
echo bctx01.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/sa02.rc" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/sa02.rc ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/sa02.rc ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/bctx01.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  8 ) # 8. fctx00.at:17: Function in wrong context
    at_setup_line='fctx00.at:17'
    at_desc="Function in wrong context"
    $at_quiet $ECHO_N "  8: Function in wrong context                      $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "8. fctx00.at:17: testing ..."
      $at_traceon



echo "mailfromd: $ETCDIR/sa03.rc:27: Function \`sa_wrap' cannot be used in prog \`envfrom'" > experr

$at_traceoff
echo "$at_srcdir/fctx00.at:22: mailfromd \$MFOPTS --test \$ETCDIR/sa03.rc"
echo fctx00.at:22 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/sa03.rc" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/sa03.rc ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/sa03.rc ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff experr "$at_stderr" || at_failed=:
$at_diff "$at_devnull" "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   78) ;;
   *) echo "$at_srcdir/fctx00.at:22: exit code was $at_status, expected 78"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  9 ) # 9. fctx01.at:17: Function in correct context
    at_setup_line='fctx01.at:17'
    at_desc="Function in correct context"
    $at_quiet $ECHO_N "  9: Function in correct context                    $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "9. fctx01.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/fctx01.at:20: mailfromd \$MFOPTS --test \$ETCDIR/sa04.rc"
echo fctx01.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/sa04.rc" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/sa04.rc ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/sa04.rc ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/fctx01.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  10 ) # 10. catch.at:17: Setting exceptions
    at_setup_line='catch.at:17'
    at_desc="Setting exceptions"
    $at_quiet $ECHO_N " 10: Setting exceptions                             $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "10. catch.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/catch.at:20: mailfromd \$MFOPTS --test \$ETCDIR/catch.rc s=127.0.0.1"
echo catch.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/catch.rc s=127.0.0.1" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/catch.rc s=127.0.0.1 ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/catch.rc s=127.0.0.1 ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: accept
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/catch.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  11 ) # 11. invip.at:17: Catching exceptions: invip
    at_setup_line='invip.at:17'
    at_desc="Catching exceptions: invip"
    $at_quiet $ECHO_N " 11: Catching exceptions: invip                     $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "11. invip.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/invip.at:20: mailfromd \$MFOPTS --test \$ETCDIR/catch.rc s=127.0.0.a"
echo invip.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/catch.rc s=127.0.0.a" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/catch.rc s=127.0.0.a ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/catch.rc s=127.0.0.a ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "SET REPLY 450 Catched condition 7
State envfrom: tempfail
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/invip.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  12 ) # 12. invcidr.at:17: Catching exceptions: invcidr
    at_setup_line='invcidr.at:17'
    at_desc="Catching exceptions: invcidr"
    $at_quiet $ECHO_N " 12: Catching exceptions: invcidr                   $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "12. invcidr.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/invcidr.at:20: mailfromd \$MFOPTS --test \$ETCDIR/catch.rc s=10.0.0.1 -v network=10-10"
echo invcidr.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/catch.rc s=10.0.0.1 -v network=10-10" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/catch.rc s=10.0.0.1 -v network=10-10 ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/catch.rc s=10.0.0.1 -v network=10-10 ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "mailfromd: Warning: Variable \`network' already initialized
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "SET REPLY 450 Catched condition 8
State envfrom: tempfail
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/invcidr.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  13 ) # 13. catch01.at:17: Setting exceptions (2)
    at_setup_line='catch01.at:17'
    at_desc="Setting exceptions (2)"
    $at_quiet $ECHO_N " 13: Setting exceptions (2)                         $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "13. catch01.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/catch01.at:20: mailfromd \$MFOPTS --test \$ETCDIR/catch01.rc s=127.0.0.1"
echo catch01.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/catch01.rc s=127.0.0.1" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/catch01.rc s=127.0.0.1 ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/catch01.rc s=127.0.0.1 ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: accept
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/catch01.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  14 ) # 14. invip2.at:17: Catching exceptions: invip (2)
    at_setup_line='invip2.at:17'
    at_desc="Catching exceptions: invip (2)"
    $at_quiet $ECHO_N " 14: Catching exceptions: invip (2)                 $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "14. invip2.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/invip2.at:20: mailfromd \$MFOPTS --test \$ETCDIR/catch01.rc s=127.0.0.a"
echo invip2.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/catch01.rc s=127.0.0.a" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/catch01.rc s=127.0.0.a ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/catch01.rc s=127.0.0.a ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "safe_cidr: invalid IP address
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: reject
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/invip2.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  15 ) # 15. invcidr2.at:17: Catching exceptions: invcidr (2)
    at_setup_line='invcidr2.at:17'
    at_desc="Catching exceptions: invcidr (2)"
    $at_quiet $ECHO_N " 15: Catching exceptions: invcidr (2)               $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "15. invcidr2.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/invcidr2.at:20: mailfromd \$MFOPTS --test \$ETCDIR/catch01.rc s=10.0.0.1 -v network=10-10"
echo invcidr2.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/catch01.rc s=10.0.0.1 -v network=10-10" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/catch01.rc s=10.0.0.1 -v network=10-10 ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/catch01.rc s=10.0.0.1 -v network=10-10 ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "mailfromd: Warning: Variable \`network' already initialized
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "SET REPLY 450 Catched condition 8
State envfrom: tempfail
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/invcidr2.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  16 ) # 16. cidr1.at:17: cidr: 10.10.0.1 matches 10.10.0.0/19
    at_setup_line='cidr1.at:17'
    at_desc="cidr: 10.10.0.1 matches 10.10.0.0/19"
    $at_quiet $ECHO_N " 16: cidr: 10.10.0.1 matches 10.10.0.0/19           $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "16. cidr1.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/cidr1.at:20: mailfromd \$MFOPTS --test \$ETCDIR/cidr.rc client_addr=10.10.0.1"
echo cidr1.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/cidr.rc client_addr=10.10.0.1" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/cidr.rc client_addr=10.10.0.1 ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/cidr.rc client_addr=10.10.0.1 ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "SET REPLY 550 Not from this address!
State envfrom: reject
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/cidr1.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  17 ) # 17. cidr2.at:17: cidr: 10.10.31.255 matches 10.10.0.0/19
    at_setup_line='cidr2.at:17'
    at_desc="cidr: 10.10.31.255 matches 10.10.0.0/19"
    $at_quiet $ECHO_N " 17: cidr: 10.10.31.255 matches 10.10.0.0/19        $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "17. cidr2.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/cidr2.at:20: mailfromd \$MFOPTS --test \$ETCDIR/cidr.rc client_addr=10.10.31.255"
echo cidr2.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/cidr.rc client_addr=10.10.31.255" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/cidr.rc client_addr=10.10.31.255 ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/cidr.rc client_addr=10.10.31.255 ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "SET REPLY 550 Not from this address!
State envfrom: reject
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/cidr2.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  18 ) # 18. cidr3.at:17: cidr: 10.10.32.1 does not match 10.10.0.0/19
    at_setup_line='cidr3.at:17'
    at_desc="cidr: 10.10.32.1 does not match 10.10.0.0/19"
    $at_quiet $ECHO_N " 18: cidr: 10.10.32.1 does not match 10.10.0.0/19   $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "18. cidr3.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/cidr3.at:20: mailfromd \$MFOPTS --test \$ETCDIR/cidr.rc client_addr=10.10.32.1"
echo cidr3.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/cidr.rc client_addr=10.10.32.1" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/cidr.rc client_addr=10.10.32.1 ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/cidr.rc client_addr=10.10.32.1 ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/cidr3.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  19 ) # 19. cond01.at:17: String equality
    at_setup_line='cond01.at:17'
    at_desc="String equality"
    $at_quiet $ECHO_N " 19: String equality                                $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "19. cond01.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/cond01.at:20: mailfromd \$MFOPTS --test \$ETCDIR/cond.rc --test=envrcpt rcpt_addr=devnull"
echo cond01.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/cond.rc --test=envrcpt rcpt_addr=devnull" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/cond.rc --test=envrcpt rcpt_addr=devnull ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/cond.rc --test=envrcpt rcpt_addr=devnull ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "SET REPLY 550 Case 1: No mails to devnull
State envrcpt: reject
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/cond01.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  20 ) # 20. cond02.at:17: Fnmatch
    at_setup_line='cond02.at:17'
    at_desc="Fnmatch"
    $at_quiet $ECHO_N " 20: Fnmatch                                        $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "20. cond02.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/cond02.at:20: mailfromd \$MFOPTS --test \$ETCDIR/cond.rc --test=envrcpt rcpt_addr=gray"
echo cond02.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/cond.rc --test=envrcpt rcpt_addr=gray" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/cond.rc --test=envrcpt rcpt_addr=gray ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/cond.rc --test=envrcpt rcpt_addr=gray ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "SET REPLY 550 Case 2: Mail to this user is not accepted
State envrcpt: reject
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/cond02.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  21 ) # 21. cond03.at:17: Fnmatch (2)
    at_setup_line='cond03.at:17'
    at_desc="Fnmatch (2)"
    $at_quiet $ECHO_N " 21: Fnmatch (2)                                    $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "21. cond03.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/cond03.at:20: mailfromd \$MFOPTS --test \$ETCDIR/cond.rc --test=envrcpt rcpt_addr=gray22"
echo cond03.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/cond.rc --test=envrcpt rcpt_addr=gray22" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/cond.rc --test=envrcpt rcpt_addr=gray22 ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/cond.rc --test=envrcpt rcpt_addr=gray22 ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "SET REPLY 550 Case 2: Mail to this user is not accepted
State envrcpt: reject
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/cond03.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  22 ) # 22. cond04.at:17: Regex match
    at_setup_line='cond04.at:17'
    at_desc="Regex match"
    $at_quiet $ECHO_N " 22: Regex match                                    $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "22. cond04.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/cond04.at:20: mailfromd \$MFOPTS --test \$ETCDIR/cond.rc --test=envrcpt rcpt_addr=foobar f=f"
echo cond04.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/cond.rc --test=envrcpt rcpt_addr=foobar f=f" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/cond.rc --test=envrcpt rcpt_addr=foobar f=f ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/cond.rc --test=envrcpt rcpt_addr=foobar f=f ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "SET REPLY 550 Case 3: Not a fully qualified name
State envrcpt: reject
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/cond04.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  23 ) # 23. cond05.at:17: Regex match (5)
    at_setup_line='cond05.at:17'
    at_desc="Regex match (5)"
    $at_quiet $ECHO_N " 23: Regex match (5)                                $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "23. cond05.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/cond05.at:20: mailfromd \$MFOPTS --test \$ETCDIR/cond.rc --test=envrcpt rcpt_addr=foo.bar f=f"
echo cond05.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/cond.rc --test=envrcpt rcpt_addr=foo.bar f=f" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/cond.rc --test=envrcpt rcpt_addr=foo.bar f=f ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/cond.rc --test=envrcpt rcpt_addr=foo.bar f=f ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envrcpt: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/cond05.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  24 ) # 24. cond06.at:17: Nested if
    at_setup_line='cond06.at:17'
    at_desc="Nested if"
    $at_quiet $ECHO_N " 24: Nested if                                      $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "24. cond06.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/cond06.at:20: mailfromd \$MFOPTS --test \$ETCDIR/cond.rc --test=envrcpt rcpt_addr=foobar f=gray"
echo cond06.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/cond.rc --test=envrcpt rcpt_addr=foobar f=gray" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/cond.rc --test=envrcpt rcpt_addr=foobar f=gray ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/cond.rc --test=envrcpt rcpt_addr=foobar f=gray ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envrcpt: accept
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/cond06.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  25 ) # 25. resolve.at:17: Resolve
    at_setup_line='resolve.at:17'
    at_desc="Resolve"
    $at_quiet $ECHO_N " 25: Resolve                                        $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "25. resolve.at:17: testing ..."
      $at_traceon



if `host puszcza.gnu.org.ua > /dev/null 2>&1 || exit 77`; then
  puszcza_addr > experr
fi

$at_traceoff
echo "$at_srcdir/resolve.at:24:
test -f experr || exit 77 # same as AT_REQUIRE_DNS
cleardb
mailfromd \$MFOPTS --test \$ETCDIR/dns.rc mode=resolve arg1=puszcza.gnu.org.ua"
echo resolve.at:24 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon;
test -f experr || exit 77 # same as AT_REQUIRE_DNS
cleardb
mailfromd $MFOPTS --test $ETCDIR/dns.rc mode=resolve arg1=puszcza.gnu.org.ua ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
test -f experr || exit 77 # same as AT_REQUIRE_DNS
cleardb
mailfromd $MFOPTS --test $ETCDIR/dns.rc mode=resolve arg1=puszcza.gnu.org.ua ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff experr "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/resolve.at:24: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  26 ) # 26. rescname.at:17: Resolve cname
    at_setup_line='rescname.at:17'
    at_desc="Resolve cname"
    $at_quiet $ECHO_N " 26: Resolve cname                                  $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "26. rescname.at:17: testing ..."
      $at_traceon



if `host puszcza.gnu.org.ua > /dev/null 2>&1 || exit 77`; then
  puszcza_addr > experr
fi

$at_traceoff
echo "$at_srcdir/rescname.at:24:
test -f experr || exit 77 # Same as AT_REQUIRE_DNS
cleardb
mailfromd \$MFOPTS --test \$ETCDIR/dns.rc mode=resolve arg1=ps.gnu.org.ua"
echo rescname.at:24 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon;
test -f experr || exit 77 # Same as AT_REQUIRE_DNS
cleardb
mailfromd $MFOPTS --test $ETCDIR/dns.rc mode=resolve arg1=ps.gnu.org.ua ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
test -f experr || exit 77 # Same as AT_REQUIRE_DNS
cleardb
mailfromd $MFOPTS --test $ETCDIR/dns.rc mode=resolve arg1=ps.gnu.org.ua ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff experr "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/rescname.at:24: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  27 ) # 27. hostname.at:17: Resolve cname
    at_setup_line='hostname.at:17'
    at_desc="Resolve cname"
    $at_quiet $ECHO_N " 27: Resolve cname                                  $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "27. hostname.at:17: testing ..."
      $at_traceon



if `host puszcza.gnu.org.ua > /dev/null 2>&1 || exit 77`; then
  IPADDR=`puszcza_addr`
  host -tPTR $IPADDR |\
     sed -n '1s/.*\.in-addr.arpa domain name pointer \(.*\)./\1/p' > experr
fi

$at_traceoff
echo "$at_srcdir/hostname.at:26:
test -f experr || exit 77 # Same as AT_REQUIRE_DNS
cleardb
mailfromd \$MFOPTS --test \$ETCDIR/dns.rc mode=hostname arg1=\$IPADDR"
echo hostname.at:26 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon;
test -f experr || exit 77 # Same as AT_REQUIRE_DNS
cleardb
mailfromd $MFOPTS --test $ETCDIR/dns.rc mode=hostname arg1=$IPADDR ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
test -f experr || exit 77 # Same as AT_REQUIRE_DNS
cleardb
mailfromd $MFOPTS --test $ETCDIR/dns.rc mode=hostname arg1=$IPADDR ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff experr "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/hostname.at:26: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  28 ) # 28. hasmx.at:17: Hasmx call
    at_setup_line='hasmx.at:17'
    at_desc="Hasmx call"
    $at_quiet $ECHO_N " 28: Hasmx call                                     $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "28. hasmx.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/hasmx.at:20:
host puszcza.gnu.org.ua > /dev/null 2>&1 || exit 77
cleardb
mailfromd \$MFOPTS --test \$ETCDIR/dns.rc mode=hasmx arg1=gnu.org.ua"
echo hasmx.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon;
host puszcza.gnu.org.ua > /dev/null 2>&1 || exit 77
cleardb
mailfromd $MFOPTS --test $ETCDIR/dns.rc mode=hasmx arg1=gnu.org.ua ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
host puszcza.gnu.org.ua > /dev/null 2>&1 || exit 77
cleardb
mailfromd $MFOPTS --test $ETCDIR/dns.rc mode=hasmx arg1=gnu.org.ua ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "1
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/hasmx.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  29 ) # 29. ismx.at:17: Ismx call
    at_setup_line='ismx.at:17'
    at_desc="Ismx call"
    $at_quiet $ECHO_N " 29: Ismx call                                      $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "29. ismx.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/ismx.at:20:
host puszcza.gnu.org.ua > /dev/null 2>&1 || exit 77
cleardb
name=\`host -tMX gnu.org.ua | sed 's/gnu.org.ua mail is handled by [0-9][0-9]* \\(.*\\)\\./\\1/' | head -n 1\`
mailfromd \$MFOPTS --test \$ETCDIR/dns.rc mode=ismx arg1=gnu.org.ua arg2=\$name
"
echo ismx.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains a `...` command substitution)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon;
host puszcza.gnu.org.ua > /dev/null 2>&1 || exit 77
cleardb
name=`host -tMX gnu.org.ua | sed 's/gnu.org.ua mail is handled by [0-9][0-9]* \(.*\)\./\1/' | head -n 1`
mailfromd $MFOPTS --test $ETCDIR/dns.rc mode=ismx arg1=gnu.org.ua arg2=$name
 ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
host puszcza.gnu.org.ua > /dev/null 2>&1 || exit 77
cleardb
name=`host -tMX gnu.org.ua | sed 's/gnu.org.ua mail is handled by [0-9][0-9]* \(.*\)\./\1/' | head -n 1`
mailfromd $MFOPTS --test $ETCDIR/dns.rc mode=ismx arg1=gnu.org.ua arg2=$name
 ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "1
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/ismx.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  30 ) # 30. greylist.at:17: Greylisting (traditional style)
    at_setup_line='greylist.at:17'
    at_desc="Greylisting (traditional style)"
    $at_quiet $ECHO_N " 30: Greylisting (traditional style)                $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "30. greylist.at:17: testing ..."
      $at_traceon



cleardb

mailfromd_start greylist.rc


 cat >script <<'_ATEOF'
\E250
HELO localhost
\E450
MAIL FROM: <gray@localhost>
\E221
QUIT
_ATEOF

 $at_traceoff
echo "$at_srcdir/greylist.at:24:
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim \$MTAOPTS < script > /dev/null"
echo greylist.at:24 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim $MTAOPTS < script > /dev/null ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim $MTAOPTS < script > /dev/null ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
$at_diff "$at_devnull" "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/greylist.at:24: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then
  mailfromd_stop

  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


sleep 2


 cat >script <<'_ATEOF'
\E250
HELO localhost
\E450
MAIL FROM: <gray@localhost>
\E221
QUIT
_ATEOF

 $at_traceoff
echo "$at_srcdir/greylist.at:35:
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim \$MTAOPTS < script > /dev/null"
echo greylist.at:35 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim $MTAOPTS < script > /dev/null ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim $MTAOPTS < script > /dev/null ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
$at_diff "$at_devnull" "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/greylist.at:35: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then
  mailfromd_stop

  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


sleep 15


 cat >script <<'_ATEOF'
\E250
HELO localhost
\E250
MAIL FROM: <gray@localhost>
\E221
QUIT
_ATEOF

 $at_traceoff
echo "$at_srcdir/greylist.at:46:
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim \$MTAOPTS < script > /dev/null"
echo greylist.at:46 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim $MTAOPTS < script > /dev/null ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim $MTAOPTS < script > /dev/null ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
$at_diff "$at_devnull" "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/greylist.at:46: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then
  mailfromd_stop

  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon



mailfromd_stop

      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  31 ) # 31. greylist-ct.at:17: Greylisting (new style)
    at_setup_line='greylist-ct.at:17'
    at_desc="Greylisting (new style)"
    $at_quiet $ECHO_N " 31: Greylisting (new style)                        $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "31. greylist-ct.at:17: testing ..."
      $at_traceon



cleardb

mailfromd_start greylist-ct.rc


 cat >script <<'_ATEOF'
\E250
HELO localhost
\E450
MAIL FROM: <gray@localhost>
\E221
QUIT
_ATEOF

 $at_traceoff
echo "$at_srcdir/greylist-ct.at:24:
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim \$MTAOPTS < script > /dev/null"
echo greylist-ct.at:24 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim $MTAOPTS < script > /dev/null ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim $MTAOPTS < script > /dev/null ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
$at_diff "$at_devnull" "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/greylist-ct.at:24: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then
  mailfromd_stop

  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon



cat >prog <<'_ATEOF'

#include "config.rc"
#pragma greylist con-tassios

prog envfrom
do
  echo is_greylisted("gray@localhost")
done

_ATEOF

$at_traceoff
echo "$at_srcdir/greylist-ct.at:33: mailfromd \$MFOPTS --test prog "
echo greylist-ct.at:33 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test prog " in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test prog  ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test prog  ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "1
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/greylist-ct.at:33: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon




 cat >script <<'_ATEOF'
\E250
HELO localhost
\E450
MAIL FROM: <gray@localhost>
\E221
QUIT
_ATEOF

 $at_traceoff
echo "$at_srcdir/greylist-ct.at:49:
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim \$MTAOPTS < script > /dev/null"
echo greylist-ct.at:49 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim $MTAOPTS < script > /dev/null ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim $MTAOPTS < script > /dev/null ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
$at_diff "$at_devnull" "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/greylist-ct.at:49: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then
  mailfromd_stop

  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


sleep 15


 cat >script <<'_ATEOF'
\E250
HELO localhost
\E250
MAIL FROM: <gray@localhost>
\E221
QUIT
_ATEOF

 $at_traceoff
echo "$at_srcdir/greylist-ct.at:60:
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim \$MTAOPTS < script > /dev/null"
echo greylist-ct.at:60 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim $MTAOPTS < script > /dev/null ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim $MTAOPTS < script > /dev/null ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
$at_diff "$at_devnull" "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/greylist-ct.at:60: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then
  mailfromd_stop

  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon



cat >prog <<'_ATEOF'

#include "config.rc"
#pragma greylist con-tassios

prog envfrom
do
  echo is_greylisted("gray@localhost")
done

_ATEOF

$at_traceoff
echo "$at_srcdir/greylist-ct.at:69: mailfromd \$MFOPTS --test prog "
echo greylist-ct.at:69 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test prog " in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test prog  ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test prog  ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "0
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/greylist-ct.at:69: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon




mailfromd_stop

      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  32 ) # 32. macros.at:17: Built-in macros
    at_setup_line='macros.at:17'
    at_desc="Built-in macros"
    $at_quiet $ECHO_N " 32: Built-in macros                                $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "32. macros.at:17: testing ..."
      $at_traceon



echo "$ETCDIR/macros.rc:28: this is mailfromd 5.0.93" > experr

$at_traceoff
echo "$at_srcdir/macros.at:22: mailfromd \$MFOPTS --test \$ETCDIR/macros.rc"
echo macros.at:22 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/macros.rc" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/macros.rc ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/macros.rc ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff experr "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/macros.at:22: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  33 ) # 33. ml.at:17: Multiline strings
    at_setup_line='ml.at:17'
    at_desc="Multiline strings"
    $at_quiet $ECHO_N " 33: Multiline strings                              $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "33. ml.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/ml.at:20: mailfromd \$MFOPTS --test \$ETCDIR/ml.rc"
echo ml.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/ml.rc" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/ml.rc ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/ml.rc ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "SET REPLY 550 5.0.0    This program 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.

   This program 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 <http://www.gnu.org/licenses/>.

State envfrom: reject
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/ml.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  34 ) # 34. numrcpt.at:17: rcpt_count
    at_setup_line='numrcpt.at:17'
    at_desc="rcpt_count"
    $at_quiet $ECHO_N " 34: rcpt_count                                     $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "34. numrcpt.at:17: testing ..."
      $at_traceon




 cat >script <<'_ATEOF'
\E250
HELO localhost
\E250
MAIL FROM: <gray@localhost>
\E250
RCPT TO: <gray@localhost>
\E250
RCPT TO: <root@localhost>
\E550  5\.7\.1 .*Too many recipients \(3\)
RCPT TO: <devnull@localhost>
\E221
QUIT
_ATEOF

 $at_traceoff
echo "$at_srcdir/numrcpt.at:20:
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim --stdio -Xauto --statedir --  \$ETCDIR/numrcpt.rc < script > /dev/null"
echo numrcpt.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim --stdio -Xauto --statedir --  $ETCDIR/numrcpt.rc < script > /dev/null ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim --stdio -Xauto --statedir --  $ETCDIR/numrcpt.rc < script > /dev/null ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
$at_diff "$at_devnull" "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/numrcpt.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  35 ) # 35. poll.at:17: poll: Existing sender
    at_setup_line='poll.at:17'
    at_desc="poll: Existing sender"
    $at_quiet $ECHO_N " 35: poll: Existing sender                          $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "35. poll.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/poll.at:20:
host puszcza.gnu.org.ua > /dev/null 2>&1 || exit 77
mailfromd \$MFOPTS --test \$ETCDIR/poll.rc \\
           f=gray+mailfromd-test@gnu.org.ua client_addr=relay1.gnu.org.ua"
echo poll.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon;
host puszcza.gnu.org.ua > /dev/null 2>&1 || exit 77
mailfromd $MFOPTS --test $ETCDIR/poll.rc \
           f=gray+mailfromd-test@gnu.org.ua client_addr=relay1.gnu.org.ua ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
host puszcza.gnu.org.ua > /dev/null 2>&1 || exit 77
mailfromd $MFOPTS --test $ETCDIR/poll.rc \
           f=gray+mailfromd-test@gnu.org.ua client_addr=relay1.gnu.org.ua ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: accept
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/poll.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  36 ) # 36. poll01.at:17: poll: Non-existing sender
    at_setup_line='poll01.at:17'
    at_desc="poll: Non-existing sender"
    $at_quiet $ECHO_N " 36: poll: Non-existing sender                      $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "36. poll01.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/poll01.at:20:
host puszcza.gnu.org.ua > /dev/null 2>&1 || exit 77
mailfromd \$MFOPTS --test \$ETCDIR/poll.rc \\
           f=nonexisting+mailfromd-test@gnu.org.ua client_addr=relay1.gnu.org.ua"
echo poll01.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon;
host puszcza.gnu.org.ua > /dev/null 2>&1 || exit 77
mailfromd $MFOPTS --test $ETCDIR/poll.rc \
           f=nonexisting+mailfromd-test@gnu.org.ua client_addr=relay1.gnu.org.ua ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
host puszcza.gnu.org.ua > /dev/null 2>&1 || exit 77
mailfromd $MFOPTS --test $ETCDIR/poll.rc \
           f=nonexisting+mailfromd-test@gnu.org.ua client_addr=relay1.gnu.org.ua ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "SET REPLY 550 5.1.0 Sender validity not confirmed
State envfrom: reject
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/poll01.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  37 ) # 37. poll02.at:17: poll: Tempfail
    at_setup_line='poll02.at:17'
    at_desc="poll: Tempfail"
    $at_quiet $ECHO_N " 37: poll: Tempfail                                 $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "37. poll02.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/poll02.at:20:
host puszcza.gnu.org.ua > /dev/null 2>&1 || exit 77
mailfromd \$MFOPTS --test \$ETCDIR/poll.rc \\
           f=tempfail+mailfromd-test client_addr=relay1.gnu.org.ua"
echo poll02.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon;
host puszcza.gnu.org.ua > /dev/null 2>&1 || exit 77
mailfromd $MFOPTS --test $ETCDIR/poll.rc \
           f=tempfail+mailfromd-test client_addr=relay1.gnu.org.ua ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
host puszcza.gnu.org.ua > /dev/null 2>&1 || exit 77
mailfromd $MFOPTS --test $ETCDIR/poll.rc \
           f=tempfail+mailfromd-test client_addr=relay1.gnu.org.ua ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "SET REPLY 450 4.1.0 Try again later
State envfrom: tempfail
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/poll02.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  38 ) # 38. poll03.at:17: poll: Multiple from addresses
    at_setup_line='poll03.at:17'
    at_desc="poll: Multiple from addresses"
    $at_quiet $ECHO_N " 38: poll: Multiple from addresses                  $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "38. poll03.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/poll03.at:20:
host puszcza.gnu.org.ua > /dev/null 2>&1 || exit 77
mailfromd \$MFOPTS --test \$ETCDIR/poll-1.rc \\
           f=gray+mailfromd-test@gnu.org.ua client_addr=relay1.gnu.org.ua"
echo poll03.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon;
host puszcza.gnu.org.ua > /dev/null 2>&1 || exit 77
mailfromd $MFOPTS --test $ETCDIR/poll-1.rc \
           f=gray+mailfromd-test@gnu.org.ua client_addr=relay1.gnu.org.ua ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
host puszcza.gnu.org.ua > /dev/null 2>&1 || exit 77
mailfromd $MFOPTS --test $ETCDIR/poll-1.rc \
           f=gray+mailfromd-test@gnu.org.ua client_addr=relay1.gnu.org.ua ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: accept
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/poll03.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  39 ) # 39. poll04.at:17: on poll without address
    at_setup_line='poll04.at:17'
    at_desc="on poll without address"
    $at_quiet $ECHO_N " 39: on poll without address                        $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "39. poll04.at:17: testing ..."
      $at_traceon



# Synopsis: `on poll' without target address caused coredump in
# version 4.1
# Reported: Jan Rafaj, 2007-08-10
# References: <Pine.LNX.4.58.0708101024210.11880@cedric.unob.cz>


cat >prog <<'_ATEOF'

prog envfrom
do
  on poll host "HOST"
  do
    when 0: pass
  done
done
_ATEOF

$at_traceoff
echo "$at_srcdir/poll04.at:25: mailfromd \$MFOPTS --test prog "
echo poll04.at:25 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test prog " in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test prog  ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test prog  ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "mailfromd: prog:7: recipient address not specified in \`on poll' construct
" | $at_diff - "$at_stderr" || at_failed=:
$at_diff "$at_devnull" "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   78) ;;
   *) echo "$at_srcdir/poll04.at:25: exit code was $at_status, expected 78"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon



      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  40 ) # 40. prec.at:17: function precedence
    at_setup_line='prec.at:17'
    at_desc="function precedence"
    $at_quiet $ECHO_N " 40: function precedence                            $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "40. prec.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/prec.at:20: mailfromd \$MFOPTS --test \$ETCDIR/prec.rc"
echo prec.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/prec.rc" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/prec.rc ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/prec.rc ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "gnugnu
gnuGNU
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/prec.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  41 ) # 41. accept.at:17: Accept action
    at_setup_line='accept.at:17'
    at_desc="Accept action"
    $at_quiet $ECHO_N " 41: Accept action                                  $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "41. accept.at:17: testing ..."
      $at_traceon




 cat >script <<'_ATEOF'
\E250
HELO localhost
\E250
MAIL FROM: <gray@localhost>
\E221
QUIT
_ATEOF

 $at_traceoff
echo "$at_srcdir/accept.at:20:
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim --stdio -Xauto --statedir --  \$ETCDIR/accept.rc < script > /dev/null"
echo accept.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim --stdio -Xauto --statedir --  $ETCDIR/accept.rc < script > /dev/null ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim --stdio -Xauto --statedir --  $ETCDIR/accept.rc < script > /dev/null ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
$at_diff "$at_devnull" "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/accept.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  42 ) # 42. reject.at:17: Reject action
    at_setup_line='reject.at:17'
    at_desc="Reject action"
    $at_quiet $ECHO_N " 42: Reject action                                  $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "42. reject.at:17: testing ..."
      $at_traceon




 cat >script <<'_ATEOF'
\E250
HELO localhost
\E550 5.7.1 (.* )?Message rejected
MAIL FROM: <gray@localhost>
\E221
QUIT
_ATEOF

 $at_traceoff
echo "$at_srcdir/reject.at:20:
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim --stdio -Xauto --statedir --  \$ETCDIR/reject.rc < script > /dev/null"
echo reject.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim --stdio -Xauto --statedir --  $ETCDIR/reject.rc < script > /dev/null ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim --stdio -Xauto --statedir --  $ETCDIR/reject.rc < script > /dev/null ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
$at_diff "$at_devnull" "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/reject.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  43 ) # 43. tempfail.at:17: Tempfail action
    at_setup_line='tempfail.at:17'
    at_desc="Tempfail action"
    $at_quiet $ECHO_N " 43: Tempfail action                                $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "43. tempfail.at:17: testing ..."
      $at_traceon




 cat >script <<'_ATEOF'
\E250
HELO localhost
\E450 4.1.1 .*Try again later
MAIL FROM: <gray@localhost>
\E221
QUIT
_ATEOF

 $at_traceoff
echo "$at_srcdir/tempfail.at:20:
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim --stdio -Xauto --statedir --  \$ETCDIR/tempfail.rc < script > /dev/null"
echo tempfail.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim --stdio -Xauto --statedir --  $ETCDIR/tempfail.rc < script > /dev/null ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim --stdio -Xauto --statedir --  $ETCDIR/tempfail.rc < script > /dev/null ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
$at_diff "$at_devnull" "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/tempfail.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  44 ) # 44. relayed01.at:17: Relayed: Not a relayed host
    at_setup_line='relayed01.at:17'
    at_desc="Relayed: Not a relayed host"
    $at_quiet $ECHO_N " 44: Relayed: Not a relayed host                    $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "44. relayed01.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/relayed01.at:20: mailfromd \$MFOPTS --test=helo \$ETCDIR/relayed.rc \\
          --relayed-domain-file \$ETCDIR/relayed.list\\
          host=remote"
echo relayed01.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test=helo $ETCDIR/relayed.rc \
          --relayed-domain-file $ETCDIR/relayed.list\
          host=remote ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test=helo $ETCDIR/relayed.rc \
          --relayed-domain-file $ETCDIR/relayed.list\
          host=remote ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "SET REPLY 550 We do not relay mail for this host
State helo: reject
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/relayed01.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  45 ) # 45. relayed02.at:17: Relayed: Relayed host
    at_setup_line='relayed02.at:17'
    at_desc="Relayed: Relayed host"
    $at_quiet $ECHO_N " 45: Relayed: Relayed host                          $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "45. relayed02.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/relayed02.at:20: mailfromd \$MFOPTS --test=helo \$ETCDIR/relayed.rc \\
          --relayed-domain-file \$ETCDIR/relayed.list\\
          host=localhost"
echo relayed02.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test=helo $ETCDIR/relayed.rc \
          --relayed-domain-file $ETCDIR/relayed.list\
          host=localhost ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test=helo $ETCDIR/relayed.rc \
          --relayed-domain-file $ETCDIR/relayed.list\
          host=localhost ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State helo: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/relayed02.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  46 ) # 46. shadow.at:17: variable shadowing
    at_setup_line='shadow.at:17'
    at_desc="variable shadowing"
    $at_quiet $ECHO_N " 46: variable shadowing                             $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "46. shadow.at:17: testing ..."
      $at_traceon



prog=$ETCDIR/shadow.rc

cat > experr <<EOT
mailfromd: $prog:19: Warning: Parameter \`x' is shadowing a global
mailfromd: $prog:27: Warning: Automatic variable \`x' is shadowing a global
param
auto text
initial
EOT

$at_traceoff
echo "$at_srcdir/shadow.at:30: mailfromd \$MFOPTS --test \$prog"
echo shadow.at:30 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $prog" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $prog ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $prog ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff experr "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/shadow.at:30: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  47 ) # 47. ashadow.at:17: duplicate declarations of automatic variables
    at_setup_line='ashadow.at:17'
    at_desc="duplicate declarations of automatic variables"
    $at_quiet $ECHO_N " 47: duplicate declarations of automatic variables  $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "47. ashadow.at:17: testing ..."
      $at_traceon



# Synopsis: Duplicated auto variables caused infinite loop in forget_autos
# in version 4.1
# Reported: Jan Rafaj, 2007-08-10
# References: <Pine.LNX.4.58.0708101024210.11880@cedric.unob.cz>


cat >prog <<'_ATEOF'

func foo() returns number
do
  number i 2
  number i 2
done
_ATEOF

$at_traceoff
echo "$at_srcdir/ashadow.at:25: mailfromd \$MFOPTS --test prog "
echo ashadow.at:25 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test prog " in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test prog  ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test prog  ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "mailfromd: prog:6: Duplicate variable: i
" | $at_diff - "$at_stderr" || at_failed=:
$at_diff "$at_devnull" "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   78) ;;
   *) echo "$at_srcdir/ashadow.at:25: exit code was $at_status, expected 78"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon



      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  48 ) # 48. strings.at:17: String functions
    at_setup_line='strings.at:17'
    at_desc="String functions"
    $at_quiet $ECHO_N " 48: String functions                               $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "48. strings.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/strings.at:20: mailfromd \$MFOPTS --test \$ETCDIR/strings.rc"
echo strings.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/strings.rc" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/strings.rc ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/strings.rc ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "15
STRING OF RINGS
gnu
ring of rings
ring
2
10
raboof
2300516
gnu.org.ua
gray
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/strings.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  49 ) # 49. switchn1.at:17: Numeric switch: Branch 1,2 val 1
    at_setup_line='switchn1.at:17'
    at_desc="Numeric switch: Branch 1,2 val 1"
    $at_quiet $ECHO_N " 49: Numeric switch: Branch 1,2 val 1               $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "49. switchn1.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/switchn1.at:20: mailfromd \$MFOPTS --test \$ETCDIR/switch.rc val=1"
echo switchn1.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/switch.rc val=1" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/switch.rc val=1 ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/switch.rc val=1 ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "Branch 1,2
Finished
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/switchn1.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  50 ) # 50. switchn2.at:17: Numeric switch: Branch 1,2 val 1
    at_setup_line='switchn2.at:17'
    at_desc="Numeric switch: Branch 1,2 val 1"
    $at_quiet $ECHO_N " 50: Numeric switch: Branch 1,2 val 1               $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "50. switchn2.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/switchn2.at:20: mailfromd \$MFOPTS --test \$ETCDIR/switch.rc val=1"
echo switchn2.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/switch.rc val=1" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/switch.rc val=1 ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/switch.rc val=1 ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "Branch 1,2
Finished
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/switchn2.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  51 ) # 51. switchn3.at:17: Numeric switch: Branch 3
    at_setup_line='switchn3.at:17'
    at_desc="Numeric switch: Branch 3"
    $at_quiet $ECHO_N " 51: Numeric switch: Branch 3                       $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "51. switchn3.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/switchn3.at:20: mailfromd \$MFOPTS --test \$ETCDIR/switch.rc val=3"
echo switchn3.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/switch.rc val=3" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/switch.rc val=3 ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/switch.rc val=3 ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "Branch 3
--------
Finished
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/switchn3.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  52 ) # 52. switchn4.at:17: Numeric switch: Default branch
    at_setup_line='switchn4.at:17'
    at_desc="Numeric switch: Default branch"
    $at_quiet $ECHO_N " 52: Numeric switch: Default branch                 $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "52. switchn4.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/switchn4.at:20: mailfromd \$MFOPTS --test \$ETCDIR/switch.rc val=4"
echo switchn4.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/switch.rc val=4" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/switch.rc val=4 ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/switch.rc val=4 ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "Default branch
Finished
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/switchn4.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  53 ) # 53. switchs1.at:17: String switch: Branch 1,2 val jeden
    at_setup_line='switchs1.at:17'
    at_desc="String switch: Branch 1,2 val jeden"
    $at_quiet $ECHO_N " 53: String switch: Branch 1,2 val jeden            $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "53. switchs1.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/switchs1.at:20: mailfromd \$MFOPTS --test=envrcpt \$ETCDIR/switch.rc val=jeden"
echo switchs1.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test=envrcpt $ETCDIR/switch.rc val=jeden" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test=envrcpt $ETCDIR/switch.rc val=jeden ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test=envrcpt $ETCDIR/switch.rc val=jeden ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "Branch 1,2
Finished
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envrcpt: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/switchs1.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  54 ) # 54. switchs2.at:17: String switch: Branch 1,2 val dwa
    at_setup_line='switchs2.at:17'
    at_desc="String switch: Branch 1,2 val dwa"
    $at_quiet $ECHO_N " 54: String switch: Branch 1,2 val dwa              $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "54. switchs2.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/switchs2.at:20: mailfromd \$MFOPTS --test=envrcpt \$ETCDIR/switch.rc val=dwa"
echo switchs2.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test=envrcpt $ETCDIR/switch.rc val=dwa" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test=envrcpt $ETCDIR/switch.rc val=dwa ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test=envrcpt $ETCDIR/switch.rc val=dwa ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "Branch 1,2
Finished
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envrcpt: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/switchs2.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  55 ) # 55. switchs3.at:17: String switch: Branch 3
    at_setup_line='switchs3.at:17'
    at_desc="String switch: Branch 3"
    $at_quiet $ECHO_N " 55: String switch: Branch 3                        $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "55. switchs3.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/switchs3.at:20: mailfromd \$MFOPTS --test=envrcpt \$ETCDIR/switch.rc val=trzy"
echo switchs3.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test=envrcpt $ETCDIR/switch.rc val=trzy" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test=envrcpt $ETCDIR/switch.rc val=trzy ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test=envrcpt $ETCDIR/switch.rc val=trzy ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "Branch 3
--------
Finished
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envrcpt: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/switchs3.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  56 ) # 56. switchs4.at:17: String switch: Default branch
    at_setup_line='switchs4.at:17'
    at_desc="String switch: Default branch"
    $at_quiet $ECHO_N " 56: String switch: Default branch                  $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "56. switchs4.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/switchs4.at:20: mailfromd \$MFOPTS --test=envrcpt \$ETCDIR/switch.rc val=cztery"
echo switchs4.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test=envrcpt $ETCDIR/switch.rc val=cztery" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test=envrcpt $ETCDIR/switch.rc val=cztery ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test=envrcpt $ETCDIR/switch.rc val=cztery ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "Default branch
Finished
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envrcpt: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/switchs4.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  57 ) # 57. declvar.at:17: Declared variables
    at_setup_line='declvar.at:17'
    at_desc="Declared variables"
    $at_quiet $ECHO_N " 57: Declared variables                             $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "57. declvar.at:17: testing ..."
      $at_traceon



$at_traceoff
echo "$at_srcdir/declvar.at:20: mailfromd \$MFOPTS --test \$ETCDIR/var.rc"
echo declvar.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test $ETCDIR/var.rc" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test $ETCDIR/var.rc ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test $ETCDIR/var.rc ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "String
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "State envfrom: continue
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/declvar.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon


      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  58 ) # 58. fromargs.at:17: Arguments to envfrom
    at_setup_line='fromargs.at:17'
    at_desc="Arguments to envfrom"
    $at_quiet $ECHO_N " 58: Arguments to envfrom                           $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "58. fromargs.at:17: testing ..."
      $at_traceon




cat >prog <<'_ATEOF'

prog envfrom
do
  echo $1
  echo $2
done
_ATEOF

$at_traceoff
echo "$at_srcdir/fromargs.at:20: mailfromd \$MFOPTS --test prog --lint"
echo fromargs.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test prog --lint" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test prog --lint ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test prog --lint ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
$at_diff "$at_devnull" "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/fromargs.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon



      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  59 ) # 59. rcptargs.at:17: Arguments to envrcpt
    at_setup_line='rcptargs.at:17'
    at_desc="Arguments to envrcpt"
    $at_quiet $ECHO_N " 59: Arguments to envrcpt                           $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "59. rcptargs.at:17: testing ..."
      $at_traceon




cat >prog <<'_ATEOF'

prog envrcpt
do
  echo $1
  echo $2
done
_ATEOF

$at_traceoff
echo "$at_srcdir/rcptargs.at:20: mailfromd \$MFOPTS --test prog --lint"
echo rcptargs.at:20 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    case "mailfromd $MFOPTS --test prog --lint" in
        *'
'*) echo 'Not enabling shell tracing (command contains an embedded newline)' ;;
 *) at_trace_this=yes ;;
    esac
fi

if test -n "$at_trace_this"; then
    ( $at_traceon; mailfromd $MFOPTS --test prog --lint ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :; mailfromd $MFOPTS --test prog --lint ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
$at_diff "$at_devnull" "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/rcptargs.at:20: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon



      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  60 ) # 60. curmsg.at:25: Working current_message
    at_setup_line='curmsg.at:25'
    at_desc="Working current_message"
    $at_quiet $ECHO_N " 60: Working current_message                        $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "60. curmsg.at:25: testing ..."
      $at_traceon







 cat >script <<'_ATEOF'
\E250
HELO localhost
\E250
MAIL FROM:<>
\E250
RCPT TO:<user>
\E354
DATA

0123456789
\E250
.
\E250
MAIL FROM:<>
\E250
RCPT TO:<user>
\E354
DATA

0
\E250
.
\E221
QUIT
_ATEOF

 $at_traceoff
echo "$at_srcdir/curmsg.at:28:
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim --stdio -Xauto --statedir -- --stderr \$ETCDIR/size.rc < script > /dev/null"
echo curmsg.at:28 >"$at_check_line_file"

at_trace_this=
if test -n "$at_traceon"; then
    echo 'Not enabling shell tracing (command contains an embedded newline)'
fi

if test -n "$at_trace_this"; then
    ( $at_traceon;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim --stdio -Xauto --statedir -- --stderr $ETCDIR/size.rc < script > /dev/null ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
# Skip test if running at root privileges
echo "test" > $$
chmod 0 $$
cat $$ > /dev/null 2>&1
result=$?
rm -f $$
test $result -eq 0 && exit 77

           mtasim --stdio -Xauto --statedir -- --stderr $ETCDIR/size.rc < script > /dev/null ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "mailfromd: mailfromd (mailfromd 5.0.93) started
SIZE 17
SIZE 8
mailfromd: mailfromd terminating
" | $at_diff - "$at_stderr" || at_failed=:
$at_diff "$at_devnull" "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/curmsg.at:28: exit code was $at_status, expected 0"
      at_failed=:;;
esac
if $at_failed; then


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon



# FIXME(mailutils): Size estimate does not include CRs

      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;


  * )
    echo "$as_me: no such test group: $at_group" >&2
    continue
    ;;
  esac

  # 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"

  case $at_group in
    banner-*) ;;
    *)
      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 <bug-mailfromd@gnu.org.ua>.
_ATEOF
	echo "$at_setup_line" >"$at_check_line_file"
      fi
      at_group_count=`expr 1 + $at_group_count`
      $at_verbose $ECHO_N "$at_group. $at_setup_line: $ECHO_C"
      echo $ECHO_N "$at_group. $at_setup_line: $ECHO_C" >> "$at_group_log"
      case $at_xfail:$at_status in
	yes:0)
	    at_msg="UNEXPECTED PASS"
	    at_xpass_list="$at_xpass_list $at_group"
	    at_errexit=$at_errexit_p
	    ;;
	no:0)
	    at_msg="ok"
	    at_pass_list="$at_pass_list $at_group"
	    at_errexit=false
	    ;;
	*:77)
	    at_msg='skipped ('`cat "$at_check_line_file"`')'
	    at_skip_list="$at_skip_list $at_group"
	    at_errexit=false
	    ;;
	yes:*)
	    at_msg='expected failure ('`cat "$at_check_line_file"`')'
	    at_xfail_list="$at_xfail_list $at_group"
	    at_errexit=false
	    ;;
	no:*)
	    at_msg='FAILED ('`cat "$at_check_line_file"`')'
	    at_fail_list="$at_fail_list $at_group"
	    at_errexit=$at_errexit_p
	    ;;
      esac
      # Make sure there is a separator even with long titles.
      echo " $at_msg"
      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
	  echo "$at_log_msg" >> "$at_group_log"
	  echo "$at_log_msg" >&5

	  # Cleanup the group directory, unless the user wants the files.
	  if $at_debug_p ; then
	    	  {
	    echo "#! /bin/sh"
	    echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\'''
	    echo "cd '$at_dir'"
	    echo 'exec ${CONFIG_SHELL-'"$SHELL"'}' "$0" \
	         '-v -d' "$at_debug_args" "$at_group" '${1+"$@"}'
	    echo 'exit 1'
	  } >$at_group_dir/run
	  chmod +x $at_group_dir/run

	  elif test -d "$at_group_dir"; then
	    find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
	    rm -fr "$at_group_dir"
	  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.
	  echo "$at_log_msg" >> "$at_group_log"

	  # Upon failure, keep the group directory for autopsy, and
	  # create the debugging script.
	  	  {
	    echo "#! /bin/sh"
	    echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\'''
	    echo "cd '$at_dir'"
	    echo 'exec ${CONFIG_SHELL-'"$SHELL"'}' "$0" \
	         '-v -d' "$at_debug_args" "$at_group" '${1+"$@"}'
	    echo 'exit 1'
	  } >$at_group_dir/run
	  chmod +x $at_group_dir/run

	  $at_errexit && break
	  ;;
      esac
      ;;
  esac
done

# Back to the top directory.
cd "$at_dir"

# Compute the duration of the suite.
at_stop_date=`date`
at_stop_time=`date +%s 2>/dev/null`
echo "$as_me: ending at: $at_stop_date" >&5
case $at_start_time,$at_stop_time in
  [0-9]*,[0-9]*)
    at_duration_s=`expr $at_stop_time - $at_start_time`
    at_duration_m=`expr $at_duration_s / 60`
    at_duration_h=`expr $at_duration_m / 60`
    at_duration_s=`expr $at_duration_s % 60`
    at_duration_m=`expr $at_duration_m % 60`
    at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s"
    echo "$as_me: test suite duration: $at_duration" >&5
    ;;
esac

# Wrap up the test suite with summary statistics.
at_skip_count=`set dummy $at_skip_list; shift; echo $#`
at_fail_count=`set dummy $at_fail_list; shift; echo $#`
at_xpass_count=`set dummy $at_xpass_list; shift; echo $#`
at_xfail_count=`set dummy $at_xfail_list; shift; echo $#`

at_run_count=`expr $at_group_count - $at_skip_count`
at_unexpected_count=`expr $at_xpass_count + $at_fail_count`
at_total_fail_count=`expr $at_xfail_count + $at_fail_count`

echo
cat <<\_ASBOX
## ------------- ##
## Test results. ##
## ------------- ##
_ASBOX
echo
{
  echo
  cat <<\_ASBOX
## ------------- ##
## Test results. ##
## ------------- ##
_ASBOX
  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."
else
  # Don't you just love exponential explosion of the number of cases?
  case $at_xpass_count:$at_fail_count:$at_xfail_count in
    # So far, so good.
    0:0:0) at_result="$at_result $at_were successful." ;;
    0:0:*) at_result="$at_result behaved as expected." ;;

    # 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_result"
  echo "$at_result" >&5
else
  echo "ERROR: $at_result" >&2
  echo "ERROR: $at_result" >&5
  {
    echo
    cat <<\_ASBOX
## ------------------------ ##
## Summary of the failures. ##
## ------------------------ ##
_ASBOX

    # Summary of failed and skipped tests.
    if test $at_fail_count != 0; then
      echo "Failed tests:"
      $SHELL "$0" $at_fail_list --list
      echo
    fi
    if test $at_skip_count != 0; then
      echo "Skipped tests:"
      $SHELL "$0" $at_skip_list --list
      echo
    fi
    if test $at_xpass_count != 0; then
      echo "Unexpected passes:"
      $SHELL "$0" $at_xpass_list --list
      echo
    fi
    if test $at_fail_count != 0; then
      cat <<\_ASBOX
## ---------------------- ##
## Detailed failed tests. ##
## ---------------------- ##
_ASBOX
      echo
      for at_group in $at_fail_list
      do
        at_group_normalized=$at_group

  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
  echo "Please send \`${at_testdir+${at_testdir}/}$as_me.log' and all information you think might help:"
  echo
  echo "   To: <bug-mailfromd@gnu.org.ua>"
  echo "   Subject: [mailfromd 5.0.93] $as_me:$at_fail_list${at_fail_list:+ failed${at_xpass_list:+,}}$at_xpass_list${at_xpass_list:+ passed unexpectedly}"
  echo
  if test $at_debug_p = false; then
    echo
    echo 'You may investigate any problem if you feel able to do so, in which'
    echo 'case the test suite provides a good starting point.  Its output may'
    echo "be found below \`${at_testdir+${at_testdir}/}$as_me.dir'."
    echo
  fi
    exit 1
fi

exit 0



