1#! /bin/sh 2# Generated from testsuite.at by GNU Autoconf 2.69. 3# 4# Copyright (C) 2009-2012 Free Software Foundation, Inc. 5# 6# This test suite is free software; the Free Software Foundation gives 7# unlimited permission to copy, distribute and modify it. 8## -------------------- ## 9## M4sh Initialization. ## 10## -------------------- ## 11 12# Be more Bourne compatible 13DUALCASE=1; export DUALCASE # for MKS sh 14if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : 15 emulate sh 16 NULLCMD=: 17 # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which 18 # is contrary to our usage. Disable this feature. 19 alias -g '${1+"$@"}'='"$@"' 20 setopt NO_GLOB_SUBST 21else 22 case `(set -o) 2>/dev/null` in #( 23 *posix*) : 24 set -o posix ;; #( 25 *) : 26 ;; 27esac 28fi 29 30 31as_nl=' 32' 33export as_nl 34# Printing a long string crashes Solaris 7 /usr/bin/printf. 35as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 36as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo 37as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo 38# Prefer a ksh shell builtin over an external printf program on Solaris, 39# but without wasting forks for bash or zsh. 40if test -z "$BASH_VERSION$ZSH_VERSION" \ 41 && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then 42 as_echo='print -r --' 43 as_echo_n='print -rn --' 44elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then 45 as_echo='printf %s\n' 46 as_echo_n='printf %s' 47else 48 if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then 49 as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' 50 as_echo_n='/usr/ucb/echo -n' 51 else 52 as_echo_body='eval expr "X$1" : "X\\(.*\\)"' 53 as_echo_n_body='eval 54 arg=$1; 55 case $arg in #( 56 *"$as_nl"*) 57 expr "X$arg" : "X\\(.*\\)$as_nl"; 58 arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; 59 esac; 60 expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" 61 ' 62 export as_echo_n_body 63 as_echo_n='sh -c $as_echo_n_body as_echo' 64 fi 65 export as_echo_body 66 as_echo='sh -c $as_echo_body as_echo' 67fi 68 69# The user is always right. 70if test "${PATH_SEPARATOR+set}" != set; then 71 PATH_SEPARATOR=: 72 (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { 73 (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || 74 PATH_SEPARATOR=';' 75 } 76fi 77 78 79# IFS 80# We need space, tab and new line, in precisely that order. Quoting is 81# there to prevent editors from complaining about space-tab. 82# (If _AS_PATH_WALK were called with IFS unset, it would disable word 83# splitting by setting IFS to empty value.) 84IFS=" "" $as_nl" 85 86# Find who we are. Look in the path if we contain no directory separator. 87as_myself= 88case $0 in #(( 89 *[\\/]* ) as_myself=$0 ;; 90 *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 91for as_dir in $PATH 92do 93 IFS=$as_save_IFS 94 test -z "$as_dir" && as_dir=. 95 test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break 96 done 97IFS=$as_save_IFS 98 99 ;; 100esac 101# We did not find ourselves, most probably we were run as `sh COMMAND' 102# in which case we are not to be found in the path. 103if test "x$as_myself" = x; then 104 as_myself=$0 105fi 106if test ! -f "$as_myself"; then 107 $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 108 exit 1 109fi 110 111# Unset variables that we do not need and which cause bugs (e.g. in 112# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" 113# suppresses any "Segmentation fault" message there. '((' could 114# trigger a bug in pdksh 5.2.14. 115for as_var in BASH_ENV ENV MAIL MAILPATH 116do eval test x\${$as_var+set} = xset \ 117 && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : 118done 119PS1='$ ' 120PS2='> ' 121PS4='+ ' 122 123# NLS nuisances. 124LC_ALL=C 125export LC_ALL 126LANGUAGE=C 127export LANGUAGE 128 129# CDPATH. 130(unset CDPATH) >/dev/null 2>&1 && unset CDPATH 131 132if test "x$CONFIG_SHELL" = x; then 133 as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : 134 emulate sh 135 NULLCMD=: 136 # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which 137 # is contrary to our usage. Disable this feature. 138 alias -g '\${1+\"\$@\"}'='\"\$@\"' 139 setopt NO_GLOB_SUBST 140else 141 case \`(set -o) 2>/dev/null\` in #( 142 *posix*) : 143 set -o posix ;; #( 144 *) : 145 ;; 146esac 147fi 148" 149 as_required="as_fn_return () { (exit \$1); } 150as_fn_success () { as_fn_return 0; } 151as_fn_failure () { as_fn_return 1; } 152as_fn_ret_success () { return 0; } 153as_fn_ret_failure () { return 1; } 154 155exitcode=0 156as_fn_success || { exitcode=1; echo as_fn_success failed.; } 157as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } 158as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } 159as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } 160if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : 161 162else 163 exitcode=1; echo positional parameters were not saved. 164fi 165test x\$exitcode = x0 || exit 1 166test -x / || exit 1" 167 as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO 168 as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO 169 eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && 170 test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 171test \$(( 1 + 1 )) = 2 || exit 1" 172 if (eval "$as_required") 2>/dev/null; then : 173 as_have_required=yes 174else 175 as_have_required=no 176fi 177 if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : 178 179else 180 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 181as_found=false 182for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH 183do 184 IFS=$as_save_IFS 185 test -z "$as_dir" && as_dir=. 186 as_found=: 187 case $as_dir in #( 188 /*) 189 for as_base in sh bash ksh sh5; do 190 # Try only shells that exist, to save several forks. 191 as_shell=$as_dir/$as_base 192 if { test -f "$as_shell" || test -f "$as_shell.exe"; } && 193 { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : 194 CONFIG_SHELL=$as_shell as_have_required=yes 195 if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : 196 break 2 197fi 198fi 199 done;; 200 esac 201 as_found=false 202done 203$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && 204 { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : 205 CONFIG_SHELL=$SHELL as_have_required=yes 206fi; } 207IFS=$as_save_IFS 208 209 210 if test "x$CONFIG_SHELL" != x; then : 211 export CONFIG_SHELL 212 # We cannot yet assume a decent shell, so we have to provide a 213# neutralization value for shells without unset; and this also 214# works around shells that cannot unset nonexistent variables. 215# Preserve -v and -x to the replacement shell. 216BASH_ENV=/dev/null 217ENV=/dev/null 218(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV 219case $- in # (((( 220 *v*x* | *x*v* ) as_opts=-vx ;; 221 *v* ) as_opts=-v ;; 222 *x* ) as_opts=-x ;; 223 * ) as_opts= ;; 224esac 225exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} 226# Admittedly, this is quite paranoid, since all the known shells bail 227# out after a failed `exec'. 228$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 229exit 255 230fi 231 232 if test x$as_have_required = xno; then : 233 $as_echo "$0: This script requires a shell more modern than all" 234 $as_echo "$0: the shells that I found on your system." 235 if test x${ZSH_VERSION+set} = xset ; then 236 $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" 237 $as_echo "$0: be upgraded to zsh 4.3.4 or later." 238 else 239 $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, 240$0: including any error possibly output before this 241$0: message. Then install a modern shell, or manually run 242$0: the script under such a shell if you do have one." 243 fi 244 exit 1 245fi 246fi 247fi 248SHELL=${CONFIG_SHELL-/bin/sh} 249export SHELL 250# Unset more variables known to interfere with behavior of common tools. 251CLICOLOR_FORCE= GREP_OPTIONS= 252unset CLICOLOR_FORCE GREP_OPTIONS 253 254## --------------------- ## 255## M4sh Shell Functions. ## 256## --------------------- ## 257# as_fn_unset VAR 258# --------------- 259# Portably unset VAR. 260as_fn_unset () 261{ 262 { eval $1=; unset $1;} 263} 264as_unset=as_fn_unset 265 266# as_fn_set_status STATUS 267# ----------------------- 268# Set $? to STATUS, without forking. 269as_fn_set_status () 270{ 271 return $1 272} # as_fn_set_status 273 274# as_fn_exit STATUS 275# ----------------- 276# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. 277as_fn_exit () 278{ 279 set +e 280 as_fn_set_status $1 281 exit $1 282} # as_fn_exit 283 284# as_fn_mkdir_p 285# ------------- 286# Create "$as_dir" as a directory, including parents if necessary. 287as_fn_mkdir_p () 288{ 289 290 case $as_dir in #( 291 -*) as_dir=./$as_dir;; 292 esac 293 test -d "$as_dir" || eval $as_mkdir_p || { 294 as_dirs= 295 while :; do 296 case $as_dir in #( 297 *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( 298 *) as_qdir=$as_dir;; 299 esac 300 as_dirs="'$as_qdir' $as_dirs" 301 as_dir=`$as_dirname -- "$as_dir" || 302$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ 303 X"$as_dir" : 'X\(//\)[^/]' \| \ 304 X"$as_dir" : 'X\(//\)$' \| \ 305 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || 306$as_echo X"$as_dir" | 307 sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ 308 s//\1/ 309 q 310 } 311 /^X\(\/\/\)[^/].*/{ 312 s//\1/ 313 q 314 } 315 /^X\(\/\/\)$/{ 316 s//\1/ 317 q 318 } 319 /^X\(\/\).*/{ 320 s//\1/ 321 q 322 } 323 s/.*/./; q'` 324 test -d "$as_dir" && break 325 done 326 test -z "$as_dirs" || eval "mkdir $as_dirs" 327 } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" 328 329 330} # as_fn_mkdir_p 331 332# as_fn_executable_p FILE 333# ----------------------- 334# Test if FILE is an executable regular file. 335as_fn_executable_p () 336{ 337 test -f "$1" && test -x "$1" 338} # as_fn_executable_p 339# as_fn_append VAR VALUE 340# ---------------------- 341# Append the text in VALUE to the end of the definition contained in VAR. Take 342# advantage of any shell optimizations that allow amortized linear growth over 343# repeated appends, instead of the typical quadratic growth present in naive 344# implementations. 345if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : 346 eval 'as_fn_append () 347 { 348 eval $1+=\$2 349 }' 350else 351 as_fn_append () 352 { 353 eval $1=\$$1\$2 354 } 355fi # as_fn_append 356 357# as_fn_arith ARG... 358# ------------------ 359# Perform arithmetic evaluation on the ARGs, and store the result in the 360# global $as_val. Take advantage of shells that can avoid forks. The arguments 361# must be portable across $(()) and expr. 362if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : 363 eval 'as_fn_arith () 364 { 365 as_val=$(( $* )) 366 }' 367else 368 as_fn_arith () 369 { 370 as_val=`expr "$@" || test $? -eq 1` 371 } 372fi # as_fn_arith 373 374 375# as_fn_error STATUS ERROR [LINENO LOG_FD] 376# ---------------------------------------- 377# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are 378# provided, also output the error to LOG_FD, referencing LINENO. Then exit the 379# script with STATUS, using 1 if that was 0. 380as_fn_error () 381{ 382 as_status=$1; test $as_status -eq 0 && as_status=1 383 if test "$4"; then 384 as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack 385 $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 386 fi 387 $as_echo "$as_me: error: $2" >&2 388 as_fn_exit $as_status 389} # as_fn_error 390 391if expr a : '\(a\)' >/dev/null 2>&1 && 392 test "X`expr 00001 : '.*\(...\)'`" = X001; then 393 as_expr=expr 394else 395 as_expr=false 396fi 397 398if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then 399 as_basename=basename 400else 401 as_basename=false 402fi 403 404as_me=`$as_basename -- "$0" || 405$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ 406 X"$0" : 'X\(//\)$' \| \ 407 X"$0" : 'X\(/\)' \| . 2>/dev/null || 408$as_echo X/"$0" | 409 sed '/^.*\/\([^/][^/]*\)\/*$/{ 410 s//\1/ 411 q 412 } 413 /^X\/\(\/\/\)$/{ 414 s//\1/ 415 q 416 } 417 /^X\/\(\/\).*/{ 418 s//\1/ 419 q 420 } 421 s/.*/./; q'` 422 423if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then 424 as_dirname=dirname 425else 426 as_dirname=false 427fi 428 429# Avoid depending upon Character Ranges. 430as_cr_letters='abcdefghijklmnopqrstuvwxyz' 431as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' 432as_cr_Letters=$as_cr_letters$as_cr_LETTERS 433as_cr_digits='0123456789' 434as_cr_alnum=$as_cr_Letters$as_cr_digits 435 436 437 as_lineno_1=$LINENO as_lineno_1a=$LINENO 438 as_lineno_2=$LINENO as_lineno_2a=$LINENO 439 eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && 440 test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { 441 # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) 442 sed -n ' 443 p 444 /[$]LINENO/= 445 ' <$as_myself | 446 sed ' 447 s/[$]LINENO.*/&-/ 448 t lineno 449 b 450 :lineno 451 N 452 :loop 453 s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ 454 t loop 455 s/-\n.*// 456 ' >$as_me.lineno && 457 chmod +x "$as_me.lineno" || 458 { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } 459 460 # If we had to re-execute with $CONFIG_SHELL, we're ensured to have 461 # already done that, so ensure we don't try to do so again and fall 462 # in an infinite loop. This has already happened in practice. 463 _as_can_reexec=no; export _as_can_reexec 464 # Don't try to exec as it changes $[0], causing all sort of problems 465 # (the dirname of $[0] is not the place where we might find the 466 # original and so on. Autoconf is especially sensitive to this). 467 . "./$as_me.lineno" 468 # Exit status is that of the last command. 469 exit 470} 471 472ECHO_C= ECHO_N= ECHO_T= 473case `echo -n x` in #((((( 474-n*) 475 case `echo 'xy\c'` in 476 *c*) ECHO_T=' ';; # ECHO_T is single tab character. 477 xy) ECHO_C='\c';; 478 *) echo `echo ksh88 bug on AIX 6.1` > /dev/null 479 ECHO_T=' ';; 480 esac;; 481*) 482 ECHO_N='-n';; 483esac 484 485rm -f conf$$ conf$$.exe conf$$.file 486if test -d conf$$.dir; then 487 rm -f conf$$.dir/conf$$.file 488else 489 rm -f conf$$.dir 490 mkdir conf$$.dir 2>/dev/null 491fi 492if (echo >conf$$.file) 2>/dev/null; then 493 if ln -s conf$$.file conf$$ 2>/dev/null; then 494 as_ln_s='ln -s' 495 # ... but there are two gotchas: 496 # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. 497 # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. 498 # In both cases, we have to default to `cp -pR'. 499 ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || 500 as_ln_s='cp -pR' 501 elif ln conf$$.file conf$$ 2>/dev/null; then 502 as_ln_s=ln 503 else 504 as_ln_s='cp -pR' 505 fi 506else 507 as_ln_s='cp -pR' 508fi 509rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file 510rmdir conf$$.dir 2>/dev/null 511 512if mkdir -p . 2>/dev/null; then 513 as_mkdir_p='mkdir -p "$as_dir"' 514else 515 test -d ./-p && rmdir ./-p 516 as_mkdir_p=false 517fi 518 519as_test_x='test -x' 520as_executable_p=as_fn_executable_p 521 522# Sed expression to map a string onto a valid CPP name. 523as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" 524 525# Sed expression to map a string onto a valid variable name. 526as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" 527 528 529 530 531 532SHELL=${CONFIG_SHELL-/bin/sh} 533 534# How were we run? 535at_cli_args="$@" 536 537 538# Not all shells have the 'times' builtin; the subshell is needed to make 539# sure we discard the 'times: not found' message from the shell. 540at_times_p=false 541(times) >/dev/null 2>&1 && at_times_p=: 542 543# CLI Arguments to pass to the debugging scripts. 544at_debug_args= 545# -e sets to true 546at_errexit_p=false 547# Shall we be verbose? ':' means no, empty means yes. 548at_verbose=: 549at_quiet= 550# Running several jobs in parallel, 0 means as many as test groups. 551at_jobs=1 552at_traceon=: 553at_trace_echo=: 554at_check_filter_trace=: 555 556# Shall we keep the debug scripts? Must be `:' when the suite is 557# run by a debug script, so that the script doesn't remove itself. 558at_debug_p=false 559# Display help message? 560at_help_p=false 561# Display the version message? 562at_version_p=false 563# List test groups? 564at_list_p=false 565# --clean 566at_clean=false 567# Test groups to run 568at_groups= 569# Whether to rerun failed tests. 570at_recheck= 571# Whether a write failure occurred 572at_write_fail=0 573 574# The directory we run the suite in. Default to . if no -C option. 575at_dir=`pwd` 576# An absolute reference to this testsuite script. 577case $as_myself in 578 [\\/]* | ?:[\\/]* ) at_myself=$as_myself ;; 579 * ) at_myself=$at_dir/$as_myself ;; 580esac 581# Whether -C is in effect. 582at_change_dir=false 583 584# Whether to enable colored test results. 585at_color=no 586# List of the tested programs. 587at_tested='' 588# As many question marks as there are digits in the last test group number. 589# Used to normalize the test group numbers so that `ls' lists them in 590# numerical order. 591at_format='??' 592# Description of all the test groups. 593at_help_all="1;count.at:17;count;; 5942;env.at:17;env;; 5953;attr.at:17;attr;; 5964;recent.at:17;recent;; 5975;unseen.at:17;unseen;; 5986;header.at:17;header;; 5997;header.at:60;headers;; 6008;body.at:17;body;; 6019;uidvalidity.at:17;uidvalidity;; 60210;uid.at:17;uid;; 60311;qget.at:17;qget;; 60412;append.at:17;append;; 60513;append.at:98;append with uid;; 60614;append.at:193;append to empty mailbox;; 60715;append.at:236;append mode;; 60816;notify.at:17;append notification;; 60917;delete.at:17;delete;; 61018;uidnext.at:17;UID monotonicity;; 61119;autodetect.at:17;format detection;autodetect; 61220;setattr.at:17;set attributes;; 61321;rospool.at:17;read-only spool directory;; 614" 615# List of the all the test groups. 616at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'` 617 618# at_fn_validate_ranges NAME... 619# ----------------------------- 620# Validate and normalize the test group number contained in each variable 621# NAME. Leading zeroes are treated as decimal. 622at_fn_validate_ranges () 623{ 624 for at_grp 625 do 626 eval at_value=\$$at_grp 627 if test $at_value -lt 1 || test $at_value -gt 21; then 628 $as_echo "invalid test group: $at_value" >&2 629 exit 1 630 fi 631 case $at_value in 632 0*) # We want to treat leading 0 as decimal, like expr and test, but 633 # AS_VAR_ARITH treats it as octal if it uses $(( )). 634 # With XSI shells, ${at_value#${at_value%%[1-9]*}} avoids the 635 # expr fork, but it is not worth the effort to determine if the 636 # shell supports XSI when the user can just avoid leading 0. 637 eval $at_grp='`expr $at_value + 0`' ;; 638 esac 639 done 640} 641 642at_prev= 643for at_option 644do 645 # If the previous option needs an argument, assign it. 646 if test -n "$at_prev"; then 647 at_option=$at_prev=$at_option 648 at_prev= 649 fi 650 651 case $at_option in 652 *=?*) at_optarg=`expr "X$at_option" : '[^=]*=\(.*\)'` ;; 653 *) at_optarg= ;; 654 esac 655 656 # Accept the important Cygnus configure options, so we can diagnose typos. 657 658 case $at_option in 659 --help | -h ) 660 at_help_p=: 661 ;; 662 663 --list | -l ) 664 at_list_p=: 665 ;; 666 667 --version | -V ) 668 at_version_p=: 669 ;; 670 671 --clean | -c ) 672 at_clean=: 673 ;; 674 675 --color ) 676 at_color=always 677 ;; 678 --color=* ) 679 case $at_optarg in 680 no | never | none) at_color=never ;; 681 auto | tty | if-tty) at_color=auto ;; 682 always | yes | force) at_color=always ;; 683 *) at_optname=`echo " $at_option" | sed 's/^ //; s/=.*//'` 684 as_fn_error $? "unrecognized argument to $at_optname: $at_optarg" ;; 685 esac 686 ;; 687 688 --debug | -d ) 689 at_debug_p=: 690 ;; 691 692 --errexit | -e ) 693 at_debug_p=: 694 at_errexit_p=: 695 ;; 696 697 --verbose | -v ) 698 at_verbose=; at_quiet=: 699 ;; 700 701 --trace | -x ) 702 at_traceon='set -x' 703 at_trace_echo=echo 704 at_check_filter_trace=at_fn_filter_trace 705 ;; 706 707 [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9]) 708 at_fn_validate_ranges at_option 709 as_fn_append at_groups "$at_option$as_nl" 710 ;; 711 712 # Ranges 713 [0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-) 714 at_range_start=`echo $at_option |tr -d X-` 715 at_fn_validate_ranges at_range_start 716 at_range=`$as_echo "$at_groups_all" | \ 717 sed -ne '/^'$at_range_start'$/,$p'` 718 as_fn_append at_groups "$at_range$as_nl" 719 ;; 720 721 -[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9]) 722 at_range_end=`echo $at_option |tr -d X-` 723 at_fn_validate_ranges at_range_end 724 at_range=`$as_echo "$at_groups_all" | \ 725 sed -ne '1,/^'$at_range_end'$/p'` 726 as_fn_append at_groups "$at_range$as_nl" 727 ;; 728 729 [0-9]-[0-9] | [0-9]-[0-9][0-9] | [0-9]-[0-9][0-9][0-9] | \ 730 [0-9]-[0-9][0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9] | \ 731 [0-9][0-9]-[0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9][0-9][0-9] | \ 732 [0-9][0-9][0-9]-[0-9][0-9][0-9] | \ 733 [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] | \ 734 [0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] ) 735 at_range_start=`expr $at_option : '\(.*\)-'` 736 at_range_end=`expr $at_option : '.*-\(.*\)'` 737 if test $at_range_start -gt $at_range_end; then 738 at_tmp=$at_range_end 739 at_range_end=$at_range_start 740 at_range_start=$at_tmp 741 fi 742 at_fn_validate_ranges at_range_start at_range_end 743 at_range=`$as_echo "$at_groups_all" | \ 744 sed -ne '/^'$at_range_start'$/,/^'$at_range_end'$/p'` 745 as_fn_append at_groups "$at_range$as_nl" 746 ;; 747 748 # Directory selection. 749 --directory | -C ) 750 at_prev=--directory 751 ;; 752 --directory=* ) 753 at_change_dir=: 754 at_dir=$at_optarg 755 if test x- = "x$at_dir" ; then 756 at_dir=./- 757 fi 758 ;; 759 760 # Parallel execution. 761 --jobs | -j ) 762 at_jobs=0 763 ;; 764 --jobs=* | -j[0-9]* ) 765 if test -n "$at_optarg"; then 766 at_jobs=$at_optarg 767 else 768 at_jobs=`expr X$at_option : 'X-j\(.*\)'` 769 fi 770 case $at_jobs in *[!0-9]*) 771 at_optname=`echo " $at_option" | sed 's/^ //; s/[0-9=].*//'` 772 as_fn_error $? "non-numeric argument to $at_optname: $at_jobs" ;; 773 esac 774 ;; 775 776 # Keywords. 777 --keywords | -k ) 778 at_prev=--keywords 779 ;; 780 --keywords=* ) 781 at_groups_selected=$at_help_all 782 at_save_IFS=$IFS 783 IFS=, 784 set X $at_optarg 785 shift 786 IFS=$at_save_IFS 787 for at_keyword 788 do 789 at_invert= 790 case $at_keyword in 791 '!'*) 792 at_invert="-v" 793 at_keyword=`expr "X$at_keyword" : 'X!\(.*\)'` 794 ;; 795 esac 796 # It is on purpose that we match the test group titles too. 797 at_groups_selected=`$as_echo "$at_groups_selected" | 798 grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"` 799 done 800 # Smash the keywords. 801 at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//'` 802 as_fn_append at_groups "$at_groups_selected$as_nl" 803 ;; 804 --recheck) 805 at_recheck=: 806 ;; 807 808 *=*) 809 at_envvar=`expr "x$at_option" : 'x\([^=]*\)='` 810 # Reject names that are not valid shell variable names. 811 case $at_envvar in 812 '' | [0-9]* | *[!_$as_cr_alnum]* ) 813 as_fn_error $? "invalid variable name: \`$at_envvar'" ;; 814 esac 815 at_value=`$as_echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"` 816 # Export now, but save eval for later and for debug scripts. 817 export $at_envvar 818 as_fn_append at_debug_args " $at_envvar='$at_value'" 819 ;; 820 821 *) $as_echo "$as_me: invalid option: $at_option" >&2 822 $as_echo "Try \`$0 --help' for more information." >&2 823 exit 1 824 ;; 825 esac 826done 827 828# Verify our last option didn't require an argument 829if test -n "$at_prev"; then : 830 as_fn_error $? "\`$at_prev' requires an argument" 831fi 832 833# The file containing the suite. 834at_suite_log=$at_dir/$as_me.log 835 836# Selected test groups. 837if test -z "$at_groups$at_recheck"; then 838 at_groups=$at_groups_all 839else 840 if test -n "$at_recheck" && test -r "$at_suite_log"; then 841 at_oldfails=`sed -n ' 842 /^Failed tests:$/,/^Skipped tests:$/{ 843 s/^[ ]*\([1-9][0-9]*\):.*/\1/p 844 } 845 /^Unexpected passes:$/,/^## Detailed failed tests/{ 846 s/^[ ]*\([1-9][0-9]*\):.*/\1/p 847 } 848 /^## Detailed failed tests/q 849 ' "$at_suite_log"` 850 as_fn_append at_groups "$at_oldfails$as_nl" 851 fi 852 # Sort the tests, removing duplicates. 853 at_groups=`$as_echo "$at_groups" | sort -nu | sed '/^$/d'` 854fi 855 856if test x"$at_color" = xalways \ 857 || { test x"$at_color" = xauto && test -t 1; }; then 858 at_red=`printf '\033[0;31m'` 859 at_grn=`printf '\033[0;32m'` 860 at_lgn=`printf '\033[1;32m'` 861 at_blu=`printf '\033[1;34m'` 862 at_std=`printf '\033[m'` 863else 864 at_red= at_grn= at_lgn= at_blu= at_std= 865fi 866 867# Help message. 868if $at_help_p; then 869 cat <<_ATEOF || at_write_fail=1 870Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS] 871 872Run all the tests, or the selected TESTS, given by numeric ranges, and 873save a detailed log file. Upon failure, create debugging scripts. 874 875Do not change environment variables directly. Instead, set them via 876command line arguments. Set \`AUTOTEST_PATH' to select the executables 877to exercise. Each relative directory is expanded as build and source 878directories relative to the top level of this distribution. 879E.g., from within the build directory /tmp/foo-1.0, invoking this: 880 881 $ $0 AUTOTEST_PATH=bin 882 883is equivalent to the following, assuming the source directory is /src/foo-1.0: 884 885 PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH $0 886_ATEOF 887cat <<_ATEOF || at_write_fail=1 888 889Operation modes: 890 -h, --help print the help message, then exit 891 -V, --version print version number, then exit 892 -c, --clean remove all the files this test suite might create and exit 893 -l, --list describes all the tests, or the selected TESTS 894_ATEOF 895cat <<_ATEOF || at_write_fail=1 896 897Execution tuning: 898 -C, --directory=DIR 899 change to directory DIR before starting 900 --color[=never|auto|always] 901 enable colored test results on terminal, or always 902 -j, --jobs[=N] 903 Allow N jobs at once; infinite jobs with no arg (default 1) 904 -k, --keywords=KEYWORDS 905 select the tests matching all the comma-separated KEYWORDS 906 multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD 907 --recheck select all tests that failed or passed unexpectedly last time 908 -e, --errexit abort as soon as a test fails; implies --debug 909 -v, --verbose force more detailed output 910 default for debugging scripts 911 -d, --debug inhibit clean up and top-level logging 912 default for debugging scripts 913 -x, --trace enable tests shell tracing 914_ATEOF 915cat <<_ATEOF || at_write_fail=1 916 917Report bugs to <bug-mailutils@gnu.org>. 918General help using GNU software: <http://www.gnu.org/gethelp/>. 919_ATEOF 920 exit $at_write_fail 921fi 922 923# List of tests. 924if $at_list_p; then 925 cat <<_ATEOF || at_write_fail=1 926GNU Mailutils 3.13 test suite test groups: 927 928 NUM: FILE-NAME:LINE TEST-GROUP-NAME 929 KEYWORDS 930 931_ATEOF 932 # Pass an empty line as separator between selected groups and help. 933 $as_echo "$at_groups$as_nl$as_nl$at_help_all" | 934 awk 'NF == 1 && FS != ";" { 935 selected[$ 1] = 1 936 next 937 } 938 /^$/ { FS = ";" } 939 NF > 0 { 940 if (selected[$ 1]) { 941 printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3 942 if ($ 4) { 943 lmax = 79 944 indent = " " 945 line = indent 946 len = length (line) 947 n = split ($ 4, a, " ") 948 for (i = 1; i <= n; i++) { 949 l = length (a[i]) + 1 950 if (i > 1 && len + l > lmax) { 951 print line 952 line = indent " " a[i] 953 len = length (line) 954 } else { 955 line = line " " a[i] 956 len += l 957 } 958 } 959 if (n) 960 print line 961 } 962 } 963 }' || at_write_fail=1 964 exit $at_write_fail 965fi 966if $at_version_p; then 967 $as_echo "$as_me (GNU Mailutils 3.13)" && 968 cat <<\_ATEOF || at_write_fail=1 969 970Copyright (C) 2012 Free Software Foundation, Inc. 971This test suite is free software; the Free Software Foundation gives 972unlimited permission to copy, distribute and modify it. 973_ATEOF 974 exit $at_write_fail 975fi 976 977# Should we print banners? Yes if more than one test is run. 978case $at_groups in #( 979 *$as_nl* ) 980 at_print_banners=: ;; #( 981 * ) at_print_banners=false ;; 982esac 983# Text for banner N, set to a single space once printed. 984 985# Take any -C into account. 986if $at_change_dir ; then 987 test x != "x$at_dir" && cd "$at_dir" \ 988 || as_fn_error $? "unable to change directory" 989 at_dir=`pwd` 990fi 991 992# Load the config files for any default variable assignments. 993for at_file in atconfig atlocal 994do 995 test -r $at_file || continue 996 . ./$at_file || as_fn_error $? "invalid content: $at_file" 997done 998 999# Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix: 1000: "${at_top_build_prefix=$at_top_builddir}" 1001 1002# Perform any assignments requested during argument parsing. 1003eval "$at_debug_args" 1004 1005# atconfig delivers names relative to the directory the test suite is 1006# in, but the groups themselves are run in testsuite-dir/group-dir. 1007if test -n "$at_top_srcdir"; then 1008 builddir=../.. 1009 for at_dir_var in srcdir top_srcdir top_build_prefix 1010 do 1011 eval at_val=\$at_$at_dir_var 1012 case $at_val in 1013 [\\/$]* | ?:[\\/]* ) at_prefix= ;; 1014 *) at_prefix=../../ ;; 1015 esac 1016 eval "$at_dir_var=\$at_prefix\$at_val" 1017 done 1018fi 1019 1020## -------------------- ## 1021## Directory structure. ## 1022## -------------------- ## 1023 1024# This is the set of directories and files used by this script 1025# (non-literals are capitalized): 1026# 1027# TESTSUITE - the testsuite 1028# TESTSUITE.log - summarizes the complete testsuite run 1029# TESTSUITE.dir/ - created during a run, remains after -d or failed test 1030# + at-groups/ - during a run: status of all groups in run 1031# | + NNN/ - during a run: meta-data about test group NNN 1032# | | + check-line - location (source file and line) of current AT_CHECK 1033# | | + status - exit status of current AT_CHECK 1034# | | + stdout - stdout of current AT_CHECK 1035# | | + stder1 - stderr, including trace 1036# | | + stderr - stderr, with trace filtered out 1037# | | + test-source - portion of testsuite that defines group 1038# | | + times - timestamps for computing duration 1039# | | + pass - created if group passed 1040# | | + xpass - created if group xpassed 1041# | | + fail - created if group failed 1042# | | + xfail - created if group xfailed 1043# | | + skip - created if group skipped 1044# + at-stop - during a run: end the run if this file exists 1045# + at-source-lines - during a run: cache of TESTSUITE line numbers for extraction 1046# + 0..NNN/ - created for each group NNN, remains after -d or failed test 1047# | + TESTSUITE.log - summarizes the group results 1048# | + ... - files created during the group 1049 1050# The directory the whole suite works in. 1051# Should be absolute to let the user `cd' at will. 1052at_suite_dir=$at_dir/$as_me.dir 1053# The file containing the suite ($at_dir might have changed since earlier). 1054at_suite_log=$at_dir/$as_me.log 1055# The directory containing helper files per test group. 1056at_helper_dir=$at_suite_dir/at-groups 1057# Stop file: if it exists, do not start new jobs. 1058at_stop_file=$at_suite_dir/at-stop 1059# The fifo used for the job dispatcher. 1060at_job_fifo=$at_suite_dir/at-job-fifo 1061 1062if $at_clean; then 1063 test -d "$at_suite_dir" && 1064 find "$at_suite_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; 1065 rm -f -r "$at_suite_dir" "$at_suite_log" 1066 exit $? 1067fi 1068 1069# Don't take risks: use only absolute directories in PATH. 1070# 1071# For stand-alone test suites (ie. atconfig was not found), 1072# AUTOTEST_PATH is relative to `.'. 1073# 1074# For embedded test suites, AUTOTEST_PATH is relative to the top level 1075# of the package. Then expand it into build/src parts, since users 1076# may create executables in both places. 1077AUTOTEST_PATH=`$as_echo "$AUTOTEST_PATH" | sed "s|:|$PATH_SEPARATOR|g"` 1078at_path= 1079as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 1080for as_dir in $AUTOTEST_PATH $PATH 1081do 1082 IFS=$as_save_IFS 1083 test -z "$as_dir" && as_dir=. 1084 test -n "$at_path" && as_fn_append at_path $PATH_SEPARATOR 1085case $as_dir in 1086 [\\/]* | ?:[\\/]* ) 1087 as_fn_append at_path "$as_dir" 1088 ;; 1089 * ) 1090 if test -z "$at_top_build_prefix"; then 1091 # Stand-alone test suite. 1092 as_fn_append at_path "$as_dir" 1093 else 1094 # Embedded test suite. 1095 as_fn_append at_path "$at_top_build_prefix$as_dir$PATH_SEPARATOR" 1096 as_fn_append at_path "$at_top_srcdir/$as_dir" 1097 fi 1098 ;; 1099esac 1100 done 1101IFS=$as_save_IFS 1102 1103 1104# Now build and simplify PATH. 1105# 1106# There might be directories that don't exist, but don't redirect 1107# builtins' (eg., cd) stderr directly: Ultrix's sh hates that. 1108at_new_path= 1109as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 1110for as_dir in $at_path 1111do 1112 IFS=$as_save_IFS 1113 test -z "$as_dir" && as_dir=. 1114 test -d "$as_dir" || continue 1115case $as_dir in 1116 [\\/]* | ?:[\\/]* ) ;; 1117 * ) as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` ;; 1118esac 1119case $PATH_SEPARATOR$at_new_path$PATH_SEPARATOR in 1120 *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR*) ;; 1121 $PATH_SEPARATOR$PATH_SEPARATOR) at_new_path=$as_dir ;; 1122 *) as_fn_append at_new_path "$PATH_SEPARATOR$as_dir" ;; 1123esac 1124 done 1125IFS=$as_save_IFS 1126 1127PATH=$at_new_path 1128export PATH 1129 1130# Setting up the FDs. 1131 1132 1133 1134# 5 is the log file. Not to be overwritten if `-d'. 1135if $at_debug_p; then 1136 at_suite_log=/dev/null 1137else 1138 : >"$at_suite_log" 1139fi 1140exec 5>>"$at_suite_log" 1141 1142# Banners and logs. 1143$as_echo "## ------------------------------ ## 1144## GNU Mailutils 3.13 test suite. ## 1145## ------------------------------ ##" 1146{ 1147 $as_echo "## ------------------------------ ## 1148## GNU Mailutils 3.13 test suite. ## 1149## ------------------------------ ##" 1150 echo 1151 1152 $as_echo "$as_me: command line was:" 1153 $as_echo " \$ $0 $at_cli_args" 1154 echo 1155 1156 # If ChangeLog exists, list a few lines in case it might help determining 1157 # the exact version. 1158 if test -n "$at_top_srcdir" && test -f "$at_top_srcdir/ChangeLog"; then 1159 $as_echo "## ---------- ## 1160## ChangeLog. ## 1161## ---------- ##" 1162 echo 1163 sed 's/^/| /;10q' "$at_top_srcdir/ChangeLog" 1164 echo 1165 fi 1166 1167 { 1168cat <<_ASUNAME 1169## --------- ## 1170## Platform. ## 1171## --------- ## 1172 1173hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` 1174uname -m = `(uname -m) 2>/dev/null || echo unknown` 1175uname -r = `(uname -r) 2>/dev/null || echo unknown` 1176uname -s = `(uname -s) 2>/dev/null || echo unknown` 1177uname -v = `(uname -v) 2>/dev/null || echo unknown` 1178 1179/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` 1180/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` 1181 1182/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` 1183/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` 1184/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` 1185/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` 1186/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` 1187/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` 1188/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` 1189 1190_ASUNAME 1191 1192as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 1193for as_dir in $PATH 1194do 1195 IFS=$as_save_IFS 1196 test -z "$as_dir" && as_dir=. 1197 $as_echo "PATH: $as_dir" 1198 done 1199IFS=$as_save_IFS 1200 1201} 1202 echo 1203 1204 # Contents of the config files. 1205 for at_file in atconfig atlocal 1206 do 1207 test -r $at_file || continue 1208 $as_echo "$as_me: $at_file:" 1209 sed 's/^/| /' $at_file 1210 echo 1211 done 1212} >&5 1213 1214# This setting is needed on FreeBSD to ensure the LD_LIBRARY_PATH overrides 1215# the DT_RPATH tag in ELF header. See 1216# https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27510 1217# for details. 1218LD_LIBRARY_PATH_RPATH=y 1219export LD_LIBRARY_PATH_RPATH 1220 1221 1222## ------------------------- ## 1223## Autotest shell functions. ## 1224## ------------------------- ## 1225 1226# at_fn_banner NUMBER 1227# ------------------- 1228# Output banner NUMBER, provided the testsuite is running multiple groups and 1229# this particular banner has not yet been printed. 1230at_fn_banner () 1231{ 1232 $at_print_banners || return 0 1233 eval at_banner_text=\$at_banner_text_$1 1234 test "x$at_banner_text" = "x " && return 0 1235 eval "at_banner_text_$1=\" \"" 1236 if test -z "$at_banner_text"; then 1237 $at_first || echo 1238 else 1239 $as_echo "$as_nl$at_banner_text$as_nl" 1240 fi 1241} # at_fn_banner 1242 1243# at_fn_check_prepare_notrace REASON LINE 1244# --------------------------------------- 1245# Perform AT_CHECK preparations for the command at LINE for an untraceable 1246# command; REASON is the reason for disabling tracing. 1247at_fn_check_prepare_notrace () 1248{ 1249 $at_trace_echo "Not enabling shell tracing (command contains $1)" 1250 $as_echo "$2" >"$at_check_line_file" 1251 at_check_trace=: at_check_filter=: 1252 : >"$at_stdout"; : >"$at_stderr" 1253} 1254 1255# at_fn_check_prepare_trace LINE 1256# ------------------------------ 1257# Perform AT_CHECK preparations for the command at LINE for a traceable 1258# command. 1259at_fn_check_prepare_trace () 1260{ 1261 $as_echo "$1" >"$at_check_line_file" 1262 at_check_trace=$at_traceon at_check_filter=$at_check_filter_trace 1263 : >"$at_stdout"; : >"$at_stderr" 1264} 1265 1266# at_fn_check_prepare_dynamic COMMAND LINE 1267# ---------------------------------------- 1268# Decide if COMMAND at LINE is traceable at runtime, and call the appropriate 1269# preparation function. 1270at_fn_check_prepare_dynamic () 1271{ 1272 case $1 in 1273 *$as_nl*) 1274 at_fn_check_prepare_notrace 'an embedded newline' "$2" ;; 1275 *) 1276 at_fn_check_prepare_trace "$2" ;; 1277 esac 1278} 1279 1280# at_fn_filter_trace 1281# ------------------ 1282# Remove the lines in the file "$at_stderr" generated by "set -x" and print 1283# them to stderr. 1284at_fn_filter_trace () 1285{ 1286 mv "$at_stderr" "$at_stder1" 1287 grep '^ *+' "$at_stder1" >&2 1288 grep -v '^ *+' "$at_stder1" >"$at_stderr" 1289} 1290 1291# at_fn_log_failure FILE-LIST 1292# --------------------------- 1293# Copy the files in the list on stdout with a "> " prefix, and exit the shell 1294# with a failure exit code. 1295at_fn_log_failure () 1296{ 1297 for file 1298 do $as_echo "$file:"; sed 's/^/> /' "$file"; done 1299 echo 1 > "$at_status_file" 1300 exit 1 1301} 1302 1303# at_fn_check_skip EXIT-CODE LINE 1304# ------------------------------- 1305# Check whether EXIT-CODE is a special exit code (77 or 99), and if so exit 1306# the test group subshell with that same exit code. Use LINE in any report 1307# about test failure. 1308at_fn_check_skip () 1309{ 1310 case $1 in 1311 99) echo 99 > "$at_status_file"; at_failed=: 1312 $as_echo "$2: hard failure"; exit 99;; 1313 77) echo 77 > "$at_status_file"; exit 77;; 1314 esac 1315} 1316 1317# at_fn_check_status EXPECTED EXIT-CODE LINE 1318# ------------------------------------------ 1319# Check whether EXIT-CODE is the EXPECTED exit code, and if so do nothing. 1320# Otherwise, if it is 77 or 99, exit the test group subshell with that same 1321# exit code; if it is anything else print an error message referring to LINE, 1322# and fail the test. 1323at_fn_check_status () 1324{ 1325 case $2 in 1326 $1 ) ;; 1327 77) echo 77 > "$at_status_file"; exit 77;; 1328 99) echo 99 > "$at_status_file"; at_failed=: 1329 $as_echo "$3: hard failure"; exit 99;; 1330 *) $as_echo "$3: exit code was $2, expected $1" 1331 at_failed=:;; 1332 esac 1333} 1334 1335# at_fn_diff_devnull FILE 1336# ----------------------- 1337# Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless diff 1338# invocations. 1339at_fn_diff_devnull () 1340{ 1341 test -s "$1" || return 0 1342 $at_diff "$at_devnull" "$1" 1343} 1344 1345# at_fn_test NUMBER 1346# ----------------- 1347# Parse out test NUMBER from the tail of this file. 1348at_fn_test () 1349{ 1350 eval at_sed=\$at_sed$1 1351 sed "$at_sed" "$at_myself" > "$at_test_source" 1352} 1353 1354# at_fn_create_debugging_script 1355# ----------------------------- 1356# Create the debugging script $at_group_dir/run which will reproduce the 1357# current test group. 1358at_fn_create_debugging_script () 1359{ 1360 { 1361 echo "#! /bin/sh" && 1362 echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' && 1363 $as_echo "cd '$at_dir'" && 1364 $as_echo "exec \${CONFIG_SHELL-$SHELL} \"$at_myself\" -v -d $at_debug_args $at_group \${1+\"\$@\"}" && 1365 echo 'exit 1' 1366 } >"$at_group_dir/run" && 1367 chmod +x "$at_group_dir/run" 1368} 1369 1370## -------------------------------- ## 1371## End of autotest shell functions. ## 1372## -------------------------------- ## 1373{ 1374 $as_echo "## ---------------- ## 1375## Tested programs. ## 1376## ---------------- ##" 1377 echo 1378} >&5 1379 1380# Report what programs are being tested. 1381for at_program in : $at_tested 1382do 1383 test "$at_program" = : && continue 1384 case $at_program in 1385 [\\/]* | ?:[\\/]* ) $at_program_=$at_program ;; 1386 * ) 1387 as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 1388for as_dir in $PATH 1389do 1390 IFS=$as_save_IFS 1391 test -z "$as_dir" && as_dir=. 1392 test -f "$as_dir/$at_program" && break 1393 done 1394IFS=$as_save_IFS 1395 1396 at_program_=$as_dir/$at_program ;; 1397 esac 1398 if test -f "$at_program_"; then 1399 { 1400 $as_echo "$at_srcdir/testsuite.at:48: $at_program_ --version" 1401 "$at_program_" --version </dev/null 1402 echo 1403 } >&5 2>&1 1404 else 1405 as_fn_error $? "cannot find $at_program" "$LINENO" 5 1406 fi 1407done 1408 1409{ 1410 $as_echo "## ------------------ ## 1411## Running the tests. ## 1412## ------------------ ##" 1413} >&5 1414 1415at_start_date=`date` 1416at_start_time=`date +%s 2>/dev/null` 1417$as_echo "$as_me: starting at: $at_start_date" >&5 1418 1419# Create the master directory if it doesn't already exist. 1420as_dir="$at_suite_dir"; as_fn_mkdir_p || 1421 as_fn_error $? "cannot create \`$at_suite_dir'" "$LINENO" 5 1422 1423# Can we diff with `/dev/null'? DU 5.0 refuses. 1424if diff /dev/null /dev/null >/dev/null 2>&1; then 1425 at_devnull=/dev/null 1426else 1427 at_devnull=$at_suite_dir/devnull 1428 >"$at_devnull" 1429fi 1430 1431# Use `diff -u' when possible. 1432if at_diff=`diff -u "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_diff" 1433then 1434 at_diff='diff -u' 1435else 1436 at_diff=diff 1437fi 1438 1439# Get the last needed group. 1440for at_group in : $at_groups; do :; done 1441 1442# Extract the start and end lines of each test group at the tail 1443# of this file 1444awk ' 1445BEGIN { FS="" } 1446/^#AT_START_/ { 1447 start = NR 1448} 1449/^#AT_STOP_/ { 1450 test = substr ($ 0, 10) 1451 print "at_sed" test "=\"1," start "d;" (NR-1) "q\"" 1452 if (test == "'"$at_group"'") exit 1453}' "$at_myself" > "$at_suite_dir/at-source-lines" && 1454. "$at_suite_dir/at-source-lines" || 1455 as_fn_error $? "cannot create test line number cache" "$LINENO" 5 1456rm -f "$at_suite_dir/at-source-lines" 1457 1458# Set number of jobs for `-j'; avoid more jobs than test groups. 1459set X $at_groups; shift; at_max_jobs=$# 1460if test $at_max_jobs -eq 0; then 1461 at_jobs=1 1462fi 1463if test $at_jobs -ne 1 && 1464 { test $at_jobs -eq 0 || test $at_jobs -gt $at_max_jobs; }; then 1465 at_jobs=$at_max_jobs 1466fi 1467 1468# If parallel mode, don't output banners, don't split summary lines. 1469if test $at_jobs -ne 1; then 1470 at_print_banners=false 1471 at_quiet=: 1472fi 1473 1474# Set up helper dirs. 1475rm -rf "$at_helper_dir" && 1476mkdir "$at_helper_dir" && 1477cd "$at_helper_dir" && 1478{ test -z "$at_groups" || mkdir $at_groups; } || 1479as_fn_error $? "testsuite directory setup failed" "$LINENO" 5 1480 1481# Functions for running a test group. We leave the actual 1482# test group execution outside of a shell function in order 1483# to avoid hitting zsh 4.x exit status bugs. 1484 1485# at_fn_group_prepare 1486# ------------------- 1487# Prepare for running a test group. 1488at_fn_group_prepare () 1489{ 1490 # The directory for additional per-group helper files. 1491 at_job_dir=$at_helper_dir/$at_group 1492 # The file containing the location of the last AT_CHECK. 1493 at_check_line_file=$at_job_dir/check-line 1494 # The file containing the exit status of the last command. 1495 at_status_file=$at_job_dir/status 1496 # The files containing the output of the tested commands. 1497 at_stdout=$at_job_dir/stdout 1498 at_stder1=$at_job_dir/stder1 1499 at_stderr=$at_job_dir/stderr 1500 # The file containing the code for a test group. 1501 at_test_source=$at_job_dir/test-source 1502 # The file containing dates. 1503 at_times_file=$at_job_dir/times 1504 1505 # Be sure to come back to the top test directory. 1506 cd "$at_suite_dir" 1507 1508 # Clearly separate the test groups when verbose. 1509 $at_first || $at_verbose echo 1510 1511 at_group_normalized=$at_group 1512 1513 eval 'while :; do 1514 case $at_group_normalized in #( 1515 '"$at_format"'*) break;; 1516 esac 1517 at_group_normalized=0$at_group_normalized 1518 done' 1519 1520 1521 # Create a fresh directory for the next test group, and enter. 1522 # If one already exists, the user may have invoked ./run from 1523 # within that directory; we remove the contents, but not the 1524 # directory itself, so that we aren't pulling the rug out from 1525 # under the shell's notion of the current directory. 1526 at_group_dir=$at_suite_dir/$at_group_normalized 1527 at_group_log=$at_group_dir/$as_me.log 1528 if test -d "$at_group_dir"; then 1529 find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx {} \; 1530 rm -fr "$at_group_dir"/* "$at_group_dir"/.[!.] "$at_group_dir"/.??* 1531fi || 1532 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: test directory for $at_group_normalized could not be cleaned" >&5 1533$as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned" >&2;} 1534 # Be tolerant if the above `rm' was not able to remove the directory. 1535 as_dir="$at_group_dir"; as_fn_mkdir_p 1536 1537 echo 0 > "$at_status_file" 1538 1539 # In verbose mode, append to the log file *and* show on 1540 # the standard output; in quiet mode only write to the log. 1541 if test -z "$at_verbose"; then 1542 at_tee_pipe='tee -a "$at_group_log"' 1543 else 1544 at_tee_pipe='cat >> "$at_group_log"' 1545 fi 1546} 1547 1548# at_fn_group_banner ORDINAL LINE DESC PAD [BANNER] 1549# ------------------------------------------------- 1550# Declare the test group ORDINAL, located at LINE with group description DESC, 1551# and residing under BANNER. Use PAD to align the status column. 1552at_fn_group_banner () 1553{ 1554 at_setup_line="$2" 1555 test -n "$5" && at_fn_banner $5 1556 at_desc="$3" 1557 case $1 in 1558 [0-9]) at_desc_line=" $1: ";; 1559 [0-9][0-9]) at_desc_line=" $1: " ;; 1560 *) at_desc_line="$1: " ;; 1561 esac 1562 as_fn_append at_desc_line "$3$4" 1563 $at_quiet $as_echo_n "$at_desc_line" 1564 echo "# -*- compilation -*-" >> "$at_group_log" 1565} 1566 1567# at_fn_group_postprocess 1568# ----------------------- 1569# Perform cleanup after running a test group. 1570at_fn_group_postprocess () 1571{ 1572 # Be sure to come back to the suite directory, in particular 1573 # since below we might `rm' the group directory we are in currently. 1574 cd "$at_suite_dir" 1575 1576 if test ! -f "$at_check_line_file"; then 1577 sed "s/^ */$as_me: WARNING: /" <<_ATEOF 1578 A failure happened in a test group before any test could be 1579 run. This means that test suite is improperly designed. Please 1580 report this failure to <bug-mailutils@gnu.org>. 1581_ATEOF 1582 $as_echo "$at_setup_line" >"$at_check_line_file" 1583 at_status=99 1584 fi 1585 $at_verbose $as_echo_n "$at_group. $at_setup_line: " 1586 $as_echo_n "$at_group. $at_setup_line: " >> "$at_group_log" 1587 case $at_xfail:$at_status in 1588 yes:0) 1589 at_msg="UNEXPECTED PASS" 1590 at_res=xpass 1591 at_errexit=$at_errexit_p 1592 at_color=$at_red 1593 ;; 1594 no:0) 1595 at_msg="ok" 1596 at_res=pass 1597 at_errexit=false 1598 at_color=$at_grn 1599 ;; 1600 *:77) 1601 at_msg='skipped ('`cat "$at_check_line_file"`')' 1602 at_res=skip 1603 at_errexit=false 1604 at_color=$at_blu 1605 ;; 1606 no:* | *:99) 1607 at_msg='FAILED ('`cat "$at_check_line_file"`')' 1608 at_res=fail 1609 at_errexit=$at_errexit_p 1610 at_color=$at_red 1611 ;; 1612 yes:*) 1613 at_msg='expected failure ('`cat "$at_check_line_file"`')' 1614 at_res=xfail 1615 at_errexit=false 1616 at_color=$at_lgn 1617 ;; 1618 esac 1619 echo "$at_res" > "$at_job_dir/$at_res" 1620 # In parallel mode, output the summary line only afterwards. 1621 if test $at_jobs -ne 1 && test -n "$at_verbose"; then 1622 $as_echo "$at_desc_line $at_color$at_msg$at_std" 1623 else 1624 # Make sure there is a separator even with long titles. 1625 $as_echo " $at_color$at_msg$at_std" 1626 fi 1627 at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg" 1628 case $at_status in 1629 0|77) 1630 # $at_times_file is only available if the group succeeded. 1631 # We're not including the group log, so the success message 1632 # is written in the global log separately. But we also 1633 # write to the group log in case they're using -d. 1634 if test -f "$at_times_file"; then 1635 at_log_msg="$at_log_msg ("`sed 1d "$at_times_file"`')' 1636 rm -f "$at_times_file" 1637 fi 1638 $as_echo "$at_log_msg" >> "$at_group_log" 1639 $as_echo "$at_log_msg" >&5 1640 1641 # Cleanup the group directory, unless the user wants the files 1642 # or the success was unexpected. 1643 if $at_debug_p || test $at_res = xpass; then 1644 at_fn_create_debugging_script 1645 if test $at_res = xpass && $at_errexit; then 1646 echo stop > "$at_stop_file" 1647 fi 1648 else 1649 if test -d "$at_group_dir"; then 1650 find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; 1651 rm -fr "$at_group_dir" 1652 fi 1653 rm -f "$at_test_source" 1654 fi 1655 ;; 1656 *) 1657 # Upon failure, include the log into the testsuite's global 1658 # log. The failure message is written in the group log. It 1659 # is later included in the global log. 1660 $as_echo "$at_log_msg" >> "$at_group_log" 1661 1662 # Upon failure, keep the group directory for autopsy, and create 1663 # the debugging script. With -e, do not start any further tests. 1664 at_fn_create_debugging_script 1665 if $at_errexit; then 1666 echo stop > "$at_stop_file" 1667 fi 1668 ;; 1669 esac 1670} 1671 1672 1673## ------------ ## 1674## Driver loop. ## 1675## ------------ ## 1676 1677 1678if (set -m && set +m && set +b) >/dev/null 2>&1; then 1679 set +b 1680 at_job_control_on='set -m' at_job_control_off='set +m' at_job_group=- 1681else 1682 at_job_control_on=: at_job_control_off=: at_job_group= 1683fi 1684 1685for at_signal in 1 2 15; do 1686 trap 'set +x; set +e 1687 $at_job_control_off 1688 at_signal='"$at_signal"' 1689 echo stop > "$at_stop_file" 1690 trap "" $at_signal 1691 at_pgids= 1692 for at_pgid in `jobs -p 2>/dev/null`; do 1693 at_pgids="$at_pgids $at_job_group$at_pgid" 1694 done 1695 test -z "$at_pgids" || kill -$at_signal $at_pgids 2>/dev/null 1696 wait 1697 if test "$at_jobs" -eq 1 || test -z "$at_verbose"; then 1698 echo >&2 1699 fi 1700 at_signame=`kill -l $at_signal 2>&1 || echo $at_signal` 1701 set x $at_signame 1702 test 0 -gt 2 && at_signame=$at_signal 1703 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: caught signal $at_signame, bailing out" >&5 1704$as_echo "$as_me: WARNING: caught signal $at_signame, bailing out" >&2;} 1705 as_fn_arith 128 + $at_signal && exit_status=$as_val 1706 as_fn_exit $exit_status' $at_signal 1707done 1708 1709rm -f "$at_stop_file" 1710at_first=: 1711 1712if test $at_jobs -ne 1 && 1713 rm -f "$at_job_fifo" && 1714 test -n "$at_job_group" && 1715 ( mkfifo "$at_job_fifo" && trap 'exit 1' PIPE STOP TSTP ) 2>/dev/null 1716then 1717 # FIFO job dispatcher. 1718 1719 trap 'at_pids= 1720 for at_pid in `jobs -p`; do 1721 at_pids="$at_pids $at_job_group$at_pid" 1722 done 1723 if test -n "$at_pids"; then 1724 at_sig=TSTP 1725 test "${TMOUT+set}" = set && at_sig=STOP 1726 kill -$at_sig $at_pids 2>/dev/null 1727 fi 1728 kill -STOP $$ 1729 test -z "$at_pids" || kill -CONT $at_pids 2>/dev/null' TSTP 1730 1731 echo 1732 # Turn jobs into a list of numbers, starting from 1. 1733 at_joblist=`$as_echo "$at_groups" | sed -n 1,${at_jobs}p` 1734 1735 set X $at_joblist 1736 shift 1737 for at_group in $at_groups; do 1738 $at_job_control_on 2>/dev/null 1739 ( 1740 # Start one test group. 1741 $at_job_control_off 1742 if $at_first; then 1743 exec 7>"$at_job_fifo" 1744 else 1745 exec 6<&- 1746 fi 1747 trap 'set +x; set +e 1748 trap "" PIPE 1749 echo stop > "$at_stop_file" 1750 echo >&7 1751 as_fn_exit 141' PIPE 1752 at_fn_group_prepare 1753 if cd "$at_group_dir" && 1754 at_fn_test $at_group && 1755 . "$at_test_source" 1756 then :; else 1757 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 1758$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} 1759 at_failed=: 1760 fi 1761 at_fn_group_postprocess 1762 echo >&7 1763 ) & 1764 $at_job_control_off 1765 if $at_first; then 1766 at_first=false 1767 exec 6<"$at_job_fifo" 7>"$at_job_fifo" 1768 fi 1769 shift # Consume one token. 1770 if test $# -gt 0; then :; else 1771 read at_token <&6 || break 1772 set x $* 1773 fi 1774 test -f "$at_stop_file" && break 1775 done 1776 exec 7>&- 1777 # Read back the remaining ($at_jobs - 1) tokens. 1778 set X $at_joblist 1779 shift 1780 if test $# -gt 0; then 1781 shift 1782 for at_job 1783 do 1784 read at_token 1785 done <&6 1786 fi 1787 exec 6<&- 1788 wait 1789else 1790 # Run serially, avoid forks and other potential surprises. 1791 for at_group in $at_groups; do 1792 at_fn_group_prepare 1793 if cd "$at_group_dir" && 1794 at_fn_test $at_group && 1795 . "$at_test_source"; then :; else 1796 { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5 1797$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} 1798 at_failed=: 1799 fi 1800 at_fn_group_postprocess 1801 test -f "$at_stop_file" && break 1802 at_first=false 1803 done 1804fi 1805 1806# Wrap up the test suite with summary statistics. 1807cd "$at_helper_dir" 1808 1809# Use ?..???? when the list must remain sorted, the faster * otherwise. 1810at_pass_list=`for f in */pass; do echo $f; done | sed '/\*/d; s,/pass,,'` 1811at_skip_list=`for f in */skip; do echo $f; done | sed '/\*/d; s,/skip,,'` 1812at_xfail_list=`for f in */xfail; do echo $f; done | sed '/\*/d; s,/xfail,,'` 1813at_xpass_list=`for f in ?/xpass ??/xpass ???/xpass ????/xpass; do 1814 echo $f; done | sed '/?/d; s,/xpass,,'` 1815at_fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do 1816 echo $f; done | sed '/?/d; s,/fail,,'` 1817 1818set X $at_pass_list $at_xpass_list $at_xfail_list $at_fail_list $at_skip_list 1819shift; at_group_count=$# 1820set X $at_xpass_list; shift; at_xpass_count=$#; at_xpass_list=$* 1821set X $at_xfail_list; shift; at_xfail_count=$# 1822set X $at_fail_list; shift; at_fail_count=$#; at_fail_list=$* 1823set X $at_skip_list; shift; at_skip_count=$# 1824 1825as_fn_arith $at_group_count - $at_skip_count && at_run_count=$as_val 1826as_fn_arith $at_xpass_count + $at_fail_count && at_unexpected_count=$as_val 1827as_fn_arith $at_xfail_count + $at_fail_count && at_total_fail_count=$as_val 1828 1829# Back to the top directory. 1830cd "$at_dir" 1831rm -rf "$at_helper_dir" 1832 1833# Compute the duration of the suite. 1834at_stop_date=`date` 1835at_stop_time=`date +%s 2>/dev/null` 1836$as_echo "$as_me: ending at: $at_stop_date" >&5 1837case $at_start_time,$at_stop_time in 1838 [0-9]*,[0-9]*) 1839 as_fn_arith $at_stop_time - $at_start_time && at_duration_s=$as_val 1840 as_fn_arith $at_duration_s / 60 && at_duration_m=$as_val 1841 as_fn_arith $at_duration_m / 60 && at_duration_h=$as_val 1842 as_fn_arith $at_duration_s % 60 && at_duration_s=$as_val 1843 as_fn_arith $at_duration_m % 60 && at_duration_m=$as_val 1844 at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s" 1845 $as_echo "$as_me: test suite duration: $at_duration" >&5 1846 ;; 1847esac 1848 1849echo 1850$as_echo "## ------------- ## 1851## Test results. ## 1852## ------------- ##" 1853echo 1854{ 1855 echo 1856 $as_echo "## ------------- ## 1857## Test results. ## 1858## ------------- ##" 1859 echo 1860} >&5 1861 1862if test $at_run_count = 1; then 1863 at_result="1 test" 1864 at_were=was 1865else 1866 at_result="$at_run_count tests" 1867 at_were=were 1868fi 1869if $at_errexit_p && test $at_unexpected_count != 0; then 1870 if test $at_xpass_count = 1; then 1871 at_result="$at_result $at_were run, one passed" 1872 else 1873 at_result="$at_result $at_were run, one failed" 1874 fi 1875 at_result="$at_result unexpectedly and inhibited subsequent tests." 1876 at_color=$at_red 1877else 1878 # Don't you just love exponential explosion of the number of cases? 1879 at_color=$at_red 1880 case $at_xpass_count:$at_fail_count:$at_xfail_count in 1881 # So far, so good. 1882 0:0:0) at_result="$at_result $at_were successful." at_color=$at_grn ;; 1883 0:0:*) at_result="$at_result behaved as expected." at_color=$at_lgn ;; 1884 1885 # Some unexpected failures 1886 0:*:0) at_result="$at_result $at_were run, 1887$at_fail_count failed unexpectedly." ;; 1888 1889 # Some failures, both expected and unexpected 1890 0:*:1) at_result="$at_result $at_were run, 1891$at_total_fail_count failed ($at_xfail_count expected failure)." ;; 1892 0:*:*) at_result="$at_result $at_were run, 1893$at_total_fail_count failed ($at_xfail_count expected failures)." ;; 1894 1895 # No unexpected failures, but some xpasses 1896 *:0:*) at_result="$at_result $at_were run, 1897$at_xpass_count passed unexpectedly." ;; 1898 1899 # No expected failures, but failures and xpasses 1900 *:1:0) at_result="$at_result $at_were run, 1901$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;; 1902 *:*:0) at_result="$at_result $at_were run, 1903$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;; 1904 1905 # All of them. 1906 *:*:1) at_result="$at_result $at_were run, 1907$at_xpass_count passed unexpectedly, 1908$at_total_fail_count failed ($at_xfail_count expected failure)." ;; 1909 *:*:*) at_result="$at_result $at_were run, 1910$at_xpass_count passed unexpectedly, 1911$at_total_fail_count failed ($at_xfail_count expected failures)." ;; 1912 esac 1913 1914 if test $at_skip_count = 0 && test $at_run_count -gt 1; then 1915 at_result="All $at_result" 1916 fi 1917fi 1918 1919# Now put skips in the mix. 1920case $at_skip_count in 1921 0) ;; 1922 1) at_result="$at_result 19231 test was skipped." ;; 1924 *) at_result="$at_result 1925$at_skip_count tests were skipped." ;; 1926esac 1927 1928if test $at_unexpected_count = 0; then 1929 echo "$at_color$at_result$at_std" 1930 echo "$at_result" >&5 1931else 1932 echo "${at_color}ERROR: $at_result$at_std" >&2 1933 echo "ERROR: $at_result" >&5 1934 { 1935 echo 1936 $as_echo "## ------------------------ ## 1937## Summary of the failures. ## 1938## ------------------------ ##" 1939 1940 # Summary of failed and skipped tests. 1941 if test $at_fail_count != 0; then 1942 echo "Failed tests:" 1943 $SHELL "$at_myself" $at_fail_list --list 1944 echo 1945 fi 1946 if test $at_skip_count != 0; then 1947 echo "Skipped tests:" 1948 $SHELL "$at_myself" $at_skip_list --list 1949 echo 1950 fi 1951 if test $at_xpass_count != 0; then 1952 echo "Unexpected passes:" 1953 $SHELL "$at_myself" $at_xpass_list --list 1954 echo 1955 fi 1956 if test $at_fail_count != 0; then 1957 $as_echo "## ---------------------- ## 1958## Detailed failed tests. ## 1959## ---------------------- ##" 1960 echo 1961 for at_group in $at_fail_list 1962 do 1963 at_group_normalized=$at_group 1964 1965 eval 'while :; do 1966 case $at_group_normalized in #( 1967 '"$at_format"'*) break;; 1968 esac 1969 at_group_normalized=0$at_group_normalized 1970 done' 1971 1972 cat "$at_suite_dir/$at_group_normalized/$as_me.log" 1973 echo 1974 done 1975 echo 1976 fi 1977 if test -n "$at_top_srcdir"; then 1978 sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX 1979## ${at_top_build_prefix}config.log ## 1980_ASBOX 1981 sed 's/^/| /' ${at_top_build_prefix}config.log 1982 echo 1983 fi 1984 } >&5 1985 1986 sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX 1987## $as_me.log was created. ## 1988_ASBOX 1989 1990 echo 1991 if $at_debug_p; then 1992 at_msg='per-test log files' 1993 else 1994 at_msg="\`${at_testdir+${at_testdir}/}$as_me.log'" 1995 fi 1996 $as_echo "Please send $at_msg and all information you think might help: 1997 1998 To: <bug-mailutils@gnu.org> 1999 Subject: [GNU Mailutils 3.13] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} 2000 2001You may investigate any problem if you feel able to do so, in which 2002case the test suite provides a good starting point. Its output may 2003be found below \`${at_testdir+${at_testdir}/}$as_me.dir'. 2004" 2005 exit 1 2006fi 2007 2008exit 0 2009 2010## ------------- ## 2011## Actual tests. ## 2012## ------------- ## 2013#AT_START_1 2014at_fn_group_banner 1 'count.at:17' \ 2015 "count" " " 2016at_xfail=no 2017( 2018 $as_echo "1. $at_setup_line: testing $at_desc ..." 2019 $at_traceon 2020 2021{ set +x 2022$as_echo "$at_srcdir/count.at:17: cat >dmbx <<'_ATEOF' 2023Received: (from hare@wonder.land) 2024 by wonder.land id 3301 2025 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 2026Date: Mon, 29 Jul 2002 22:00:01 +0100 2027From: March Hare <hare@wonder.land> 2028Message-Id: <200207292200.3301@wonder.land> 2029To: Alice <alice@wonder.land> 2030Subject: Invitation 2031X-IMAPbase: 0 1 2032Return-Path: hare@wonder.land 2033 2034Have some wine 2035. 2036Received: (from alice@wonder.land) 2037 by wonder.land id 3302 2038 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 2039Date: Mon, 29 Jul 2002 22:00:02 +0100 2040From: Alice <alice@wonder.land> 2041Message-Id: <200207292200.3302@wonder.land> 2042To: March Hare <hare@wonder.land> 2043Subject: Re: Invitation 2044Return-Path: alice@wonder.land 2045 2046I don't see any wine 2047. 2048Received: (from hare@wonder.land) 2049 by wonder.land id 3303 2050 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 2051Date: Mon, 29 Jul 2002 22:00:03 +0100 2052From: March Hare <hare@wonder.land> 2053Message-Id: <200207292200.3303@wonder.land> 2054To: Alice <alice@wonder.land> 2055Subject: Re: Invitation 2056Return-Path: hare@wonder.land 2057 2058There isn't any 2059. 2060_ATEOF 2061 2062MAIL=./dmbx 2063export MAIL 2064mbop count 2065" 2066at_fn_check_prepare_notrace 'an embedded newline' "count.at:17" 2067( $at_check_trace; cat >dmbx <<'_ATEOF' 2068Received: (from hare@wonder.land) 2069 by wonder.land id 3301 2070 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 2071Date: Mon, 29 Jul 2002 22:00:01 +0100 2072From: March Hare <hare@wonder.land> 2073Message-Id: <200207292200.3301@wonder.land> 2074To: Alice <alice@wonder.land> 2075Subject: Invitation 2076X-IMAPbase: 0 1 2077Return-Path: hare@wonder.land 2078 2079Have some wine 2080. 2081Received: (from alice@wonder.land) 2082 by wonder.land id 3302 2083 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 2084Date: Mon, 29 Jul 2002 22:00:02 +0100 2085From: Alice <alice@wonder.land> 2086Message-Id: <200207292200.3302@wonder.land> 2087To: March Hare <hare@wonder.land> 2088Subject: Re: Invitation 2089Return-Path: alice@wonder.land 2090 2091I don't see any wine 2092. 2093Received: (from hare@wonder.land) 2094 by wonder.land id 3303 2095 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 2096Date: Mon, 29 Jul 2002 22:00:03 +0100 2097From: March Hare <hare@wonder.land> 2098Message-Id: <200207292200.3303@wonder.land> 2099To: Alice <alice@wonder.land> 2100Subject: Re: Invitation 2101Return-Path: hare@wonder.land 2102 2103There isn't any 2104. 2105_ATEOF 2106 2107MAIL=./dmbx 2108export MAIL 2109mbop count 2110 2111) >>"$at_stdout" 2>>"$at_stderr" 5>&- 2112at_status=$? at_failed=false 2113$at_check_filter 2114at_fn_diff_devnull "$at_stderr" || at_failed=: 2115echo >>"$at_stdout"; $as_echo "count: 3 2116" | \ 2117 $at_diff - "$at_stdout" || at_failed=: 2118at_fn_check_status 0 $at_status "$at_srcdir/count.at:17" 2119$at_failed && at_fn_log_failure 2120$at_traceon; } 2121 2122 set +x 2123 $at_times_p && times >"$at_times_file" 2124) 5>&1 2>&1 7>&- | eval $at_tee_pipe 2125read at_status <"$at_status_file" 2126#AT_STOP_1 2127#AT_START_2 2128at_fn_group_banner 2 'env.at:17' \ 2129 "env" " " 2130at_xfail=no 2131( 2132 $as_echo "2. $at_setup_line: testing $at_desc ..." 2133 $at_traceon 2134 2135{ set +x 2136$as_echo "$at_srcdir/env.at:17: cat >dmbx <<'_ATEOF' 2137Received: (from hare@wonder.land) 2138 by wonder.land id 3301 2139 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 2140Date: Mon, 29 Jul 2002 22:00:01 +0100 2141From: March Hare <hare@wonder.land> 2142Message-Id: <200207292200.3301@wonder.land> 2143To: Alice <alice@wonder.land> 2144Subject: Invitation 2145X-IMAPbase: 0 1 2146Return-Path: hare@example.com 2147 2148Have some wine 2149. 2150_ATEOF 2151 2152cat >input <<'_ATEOF' 21531 2154env_date 2155env_sender 2156_ATEOF 2157 2158 2159MAIL=./dmbx 2160export MAIL 2161mbop < input 2162 2163" 2164at_fn_check_prepare_notrace 'an embedded newline' "env.at:17" 2165( $at_check_trace; cat >dmbx <<'_ATEOF' 2166Received: (from hare@wonder.land) 2167 by wonder.land id 3301 2168 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 2169Date: Mon, 29 Jul 2002 22:00:01 +0100 2170From: March Hare <hare@wonder.land> 2171Message-Id: <200207292200.3301@wonder.land> 2172To: Alice <alice@wonder.land> 2173Subject: Invitation 2174X-IMAPbase: 0 1 2175Return-Path: hare@example.com 2176 2177Have some wine 2178. 2179_ATEOF 2180 2181cat >input <<'_ATEOF' 21821 2183env_date 2184env_sender 2185_ATEOF 2186 2187 2188MAIL=./dmbx 2189export MAIL 2190mbop < input 2191 2192 2193) >>"$at_stdout" 2>>"$at_stderr" 5>&- 2194at_status=$? at_failed=false 2195$at_check_filter 2196at_fn_diff_devnull "$at_stderr" || at_failed=: 2197echo >>"$at_stdout"; $as_echo "1 current message 21981 env_date: Mon Jul 29 21:00:06 2002 21991 env_sender: hare@example.com 2200" | \ 2201 $at_diff - "$at_stdout" || at_failed=: 2202at_fn_check_status 0 $at_status "$at_srcdir/env.at:17" 2203$at_failed && at_fn_log_failure 2204$at_traceon; } 2205 2206 set +x 2207 $at_times_p && times >"$at_times_file" 2208) 5>&1 2>&1 7>&- | eval $at_tee_pipe 2209read at_status <"$at_status_file" 2210#AT_STOP_2 2211#AT_START_3 2212at_fn_group_banner 3 'attr.at:17' \ 2213 "attr" " " 2214at_xfail=no 2215( 2216 $as_echo "3. $at_setup_line: testing $at_desc ..." 2217 $at_traceon 2218 2219{ set +x 2220$as_echo "$at_srcdir/attr.at:17: cat >dmbx <<'_ATEOF' 2221Received: (from hare@wonder.land) 2222 by wonder.land id 3301 2223 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 2224Date: Mon, 29 Jul 2002 22:00:01 +0100 2225From: March Hare <hare@wonder.land> 2226Message-Id: <200207292200.3301@wonder.land> 2227To: Alice <alice@wonder.land> 2228Subject: Invitation 2229Return-Path: hare@wonder.land 2230 2231Have some wine 2232. 2233Received: (from alice@wonder.land) 2234 by wonder.land id 3302 2235 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 2236Date: Mon, 29 Jul 2002 22:00:02 +0100 2237From: Alice <alice@wonder.land> 2238Message-Id: <200207292200.3302@wonder.land> 2239To: March Hare <hare@wonder.land> 2240Subject: Re: Invitation 2241Status: OFR 2242Return-Path: alice@wonder.land 2243 2244I don't see any wine 2245. 2246_ATEOF 2247 2248cat >input <<'_ATEOF' 22491 2250attr 22512 2252attr 2253_ATEOF 2254 2255 2256MAIL=./dmbx 2257export MAIL 2258mbop < input 2259 2260" 2261at_fn_check_prepare_notrace 'an embedded newline' "attr.at:17" 2262( $at_check_trace; cat >dmbx <<'_ATEOF' 2263Received: (from hare@wonder.land) 2264 by wonder.land id 3301 2265 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 2266Date: Mon, 29 Jul 2002 22:00:01 +0100 2267From: March Hare <hare@wonder.land> 2268Message-Id: <200207292200.3301@wonder.land> 2269To: Alice <alice@wonder.land> 2270Subject: Invitation 2271Return-Path: hare@wonder.land 2272 2273Have some wine 2274. 2275Received: (from alice@wonder.land) 2276 by wonder.land id 3302 2277 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 2278Date: Mon, 29 Jul 2002 22:00:02 +0100 2279From: Alice <alice@wonder.land> 2280Message-Id: <200207292200.3302@wonder.land> 2281To: March Hare <hare@wonder.land> 2282Subject: Re: Invitation 2283Status: OFR 2284Return-Path: alice@wonder.land 2285 2286I don't see any wine 2287. 2288_ATEOF 2289 2290cat >input <<'_ATEOF' 22911 2292attr 22932 2294attr 2295_ATEOF 2296 2297 2298MAIL=./dmbx 2299export MAIL 2300mbop < input 2301 2302 2303) >>"$at_stdout" 2>>"$at_stderr" 5>&- 2304at_status=$? at_failed=false 2305$at_check_filter 2306at_fn_diff_devnull "$at_stderr" || at_failed=: 2307echo >>"$at_stdout"; $as_echo "1 current message 23081 attr: - 23092 current message 23102 attr: FOR 2311" | \ 2312 $at_diff - "$at_stdout" || at_failed=: 2313at_fn_check_status 0 $at_status "$at_srcdir/attr.at:17" 2314$at_failed && at_fn_log_failure 2315$at_traceon; } 2316 2317 set +x 2318 $at_times_p && times >"$at_times_file" 2319) 5>&1 2>&1 7>&- | eval $at_tee_pipe 2320read at_status <"$at_status_file" 2321#AT_STOP_3 2322#AT_START_4 2323at_fn_group_banner 4 'recent.at:17' \ 2324 "recent" " " 2325at_xfail=no 2326( 2327 $as_echo "4. $at_setup_line: testing $at_desc ..." 2328 $at_traceon 2329 2330{ set +x 2331$as_echo "$at_srcdir/recent.at:17: cat >dmbx <<'_ATEOF' 2332Return-Path: hare@wonder.land 2333Received: (from hare@wonder.land) 2334 by wonder.land id 3301 2335 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 2336Date: Mon, 29 Jul 2002 22:00:01 +0100 2337From: March Hare <hare@wonder.land> 2338Message-Id: <200207292200.3301@wonder.land> 2339To: Alice <alice@wonder.land> 2340Subject: Invitation 2341Status: O 2342 2343Have some wine 2344. 2345Return-Path: alice@wonder.land 2346Received: (from alice@wonder.land) 2347 by wonder.land id 3302 2348 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 2349Date: Mon, 29 Jul 2002 22:00:02 +0100 2350From: Alice <alice@wonder.land> 2351Message-Id: <200207292200.3302@wonder.land> 2352To: March Hare <hare@wonder.land> 2353Subject: Re: Invitation 2354Status: O 2355 2356I don't see any wine 2357. 2358Return-Path: hare@wonder.land 2359Received: (from hare@wonder.land) 2360 by wonder.land id 3303 2361 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 2362Date: Mon, 29 Jul 2002 22:00:03 +0100 2363From: March Hare <hare@wonder.land> 2364Message-Id: <200207292200.3303@wonder.land> 2365To: Alice <alice@wonder.land> 2366Subject: Re: Invitation 2367Status: OR 2368 2369There isn't any 2370. 2371Received: (from alice@wonder.land) 2372 by wonder.land id 3304 2373 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 2374Date: Mon, 29 Jul 2002 22:00:04 +0100 2375From: Alice <alice@wonder.land> 2376Message-Id: <200207292200.3304@wonder.land> 2377To: March Hare <hare@wonder.land> 2378Subject: Re: Invitation 2379Return-Path: alice@wonder.land 2380 2381Then it wasn't very civil of you to offer it 2382. 2383Received: (from hare@wonder.land) 2384 by wonder.land id 3305 2385 for alice@wonder.land; Mon, 29 Jul 2002 22:00:10 +0100 2386Date: Mon, 29 Jul 2002 22:00:05 +0100 2387From: March Hare <hare@wonder.land> 2388Message-Id: <200207292200.3305@wonder.land> 2389To: Alice <alice@wonder.land> 2390Subject: Re: Invitation 2391Return-Path: hare@wonder.land 2392 2393It wasn't very civil of you to sit down without being invited 2394. 2395_ATEOF 2396 2397MAIL=./dmbx 2398export MAIL 2399mbop recent 2400" 2401at_fn_check_prepare_notrace 'an embedded newline' "recent.at:17" 2402( $at_check_trace; cat >dmbx <<'_ATEOF' 2403Return-Path: hare@wonder.land 2404Received: (from hare@wonder.land) 2405 by wonder.land id 3301 2406 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 2407Date: Mon, 29 Jul 2002 22:00:01 +0100 2408From: March Hare <hare@wonder.land> 2409Message-Id: <200207292200.3301@wonder.land> 2410To: Alice <alice@wonder.land> 2411Subject: Invitation 2412Status: O 2413 2414Have some wine 2415. 2416Return-Path: alice@wonder.land 2417Received: (from alice@wonder.land) 2418 by wonder.land id 3302 2419 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 2420Date: Mon, 29 Jul 2002 22:00:02 +0100 2421From: Alice <alice@wonder.land> 2422Message-Id: <200207292200.3302@wonder.land> 2423To: March Hare <hare@wonder.land> 2424Subject: Re: Invitation 2425Status: O 2426 2427I don't see any wine 2428. 2429Return-Path: hare@wonder.land 2430Received: (from hare@wonder.land) 2431 by wonder.land id 3303 2432 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 2433Date: Mon, 29 Jul 2002 22:00:03 +0100 2434From: March Hare <hare@wonder.land> 2435Message-Id: <200207292200.3303@wonder.land> 2436To: Alice <alice@wonder.land> 2437Subject: Re: Invitation 2438Status: OR 2439 2440There isn't any 2441. 2442Received: (from alice@wonder.land) 2443 by wonder.land id 3304 2444 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 2445Date: Mon, 29 Jul 2002 22:00:04 +0100 2446From: Alice <alice@wonder.land> 2447Message-Id: <200207292200.3304@wonder.land> 2448To: March Hare <hare@wonder.land> 2449Subject: Re: Invitation 2450Return-Path: alice@wonder.land 2451 2452Then it wasn't very civil of you to offer it 2453. 2454Received: (from hare@wonder.land) 2455 by wonder.land id 3305 2456 for alice@wonder.land; Mon, 29 Jul 2002 22:00:10 +0100 2457Date: Mon, 29 Jul 2002 22:00:05 +0100 2458From: March Hare <hare@wonder.land> 2459Message-Id: <200207292200.3305@wonder.land> 2460To: Alice <alice@wonder.land> 2461Subject: Re: Invitation 2462Return-Path: hare@wonder.land 2463 2464It wasn't very civil of you to sit down without being invited 2465. 2466_ATEOF 2467 2468MAIL=./dmbx 2469export MAIL 2470mbop recent 2471 2472) >>"$at_stdout" 2>>"$at_stderr" 5>&- 2473at_status=$? at_failed=false 2474$at_check_filter 2475at_fn_diff_devnull "$at_stderr" || at_failed=: 2476echo >>"$at_stdout"; $as_echo "recent: 2 2477" | \ 2478 $at_diff - "$at_stdout" || at_failed=: 2479at_fn_check_status 0 $at_status "$at_srcdir/recent.at:17" 2480$at_failed && at_fn_log_failure 2481$at_traceon; } 2482 2483 set +x 2484 $at_times_p && times >"$at_times_file" 2485) 5>&1 2>&1 7>&- | eval $at_tee_pipe 2486read at_status <"$at_status_file" 2487#AT_STOP_4 2488#AT_START_5 2489at_fn_group_banner 5 'unseen.at:17' \ 2490 "unseen" " " 2491at_xfail=no 2492( 2493 $as_echo "5. $at_setup_line: testing $at_desc ..." 2494 $at_traceon 2495 2496{ set +x 2497$as_echo "$at_srcdir/unseen.at:17: cat >dmbx <<'_ATEOF' 2498Return-Path: hare@wonder.land 2499Received: (from hare@wonder.land) 2500 by wonder.land id 3301 2501 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 2502Date: Mon, 29 Jul 2002 22:00:01 +0100 2503From: March Hare <hare@wonder.land> 2504Message-Id: <200207292200.3301@wonder.land> 2505To: Alice <alice@wonder.land> 2506Subject: Invitation 2507Status: OR 2508 2509Have some wine 2510. 2511Return-Path: alice@wonder.land 2512Received: (from alice@wonder.land) 2513 by wonder.land id 3302 2514 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 2515Date: Mon, 29 Jul 2002 22:00:02 +0100 2516From: Alice <alice@wonder.land> 2517Message-Id: <200207292200.3302@wonder.land> 2518To: March Hare <hare@wonder.land> 2519Subject: Re: Invitation 2520Status: OR 2521 2522I don't see any wine 2523. 2524Return-Path: hare@wonder.land 2525Received: (from hare@wonder.land) 2526 by wonder.land id 3303 2527 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 2528Date: Mon, 29 Jul 2002 22:00:03 +0100 2529From: March Hare <hare@wonder.land> 2530Message-Id: <200207292200.3303@wonder.land> 2531To: Alice <alice@wonder.land> 2532Subject: Re: Invitation 2533Status: OR 2534 2535There isn't any 2536. 2537Received: (from alice@wonder.land) 2538 by wonder.land id 3304 2539 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 2540Date: Mon, 29 Jul 2002 22:00:04 +0100 2541From: Alice <alice@wonder.land> 2542Message-Id: <200207292200.3304@wonder.land> 2543To: March Hare <hare@wonder.land> 2544Subject: Re: Invitation 2545Return-Path: alice@wonder.land 2546 2547Then it wasn't very civil of you to offer it 2548. 2549Received: (from hare@wonder.land) 2550 by wonder.land id 3305 2551 for alice@wonder.land; Mon, 29 Jul 2002 22:00:10 +0100 2552Date: Mon, 29 Jul 2002 22:00:05 +0100 2553From: March Hare <hare@wonder.land> 2554Message-Id: <200207292200.3305@wonder.land> 2555To: Alice <alice@wonder.land> 2556Subject: Re: Invitation 2557Return-Path: hare@wonder.land 2558 2559It wasn't very civil of you to sit down without being invited 2560. 2561_ATEOF 2562 2563MAIL=./dmbx 2564export MAIL 2565mbop unseen 2566" 2567at_fn_check_prepare_notrace 'an embedded newline' "unseen.at:17" 2568( $at_check_trace; cat >dmbx <<'_ATEOF' 2569Return-Path: hare@wonder.land 2570Received: (from hare@wonder.land) 2571 by wonder.land id 3301 2572 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 2573Date: Mon, 29 Jul 2002 22:00:01 +0100 2574From: March Hare <hare@wonder.land> 2575Message-Id: <200207292200.3301@wonder.land> 2576To: Alice <alice@wonder.land> 2577Subject: Invitation 2578Status: OR 2579 2580Have some wine 2581. 2582Return-Path: alice@wonder.land 2583Received: (from alice@wonder.land) 2584 by wonder.land id 3302 2585 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 2586Date: Mon, 29 Jul 2002 22:00:02 +0100 2587From: Alice <alice@wonder.land> 2588Message-Id: <200207292200.3302@wonder.land> 2589To: March Hare <hare@wonder.land> 2590Subject: Re: Invitation 2591Status: OR 2592 2593I don't see any wine 2594. 2595Return-Path: hare@wonder.land 2596Received: (from hare@wonder.land) 2597 by wonder.land id 3303 2598 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 2599Date: Mon, 29 Jul 2002 22:00:03 +0100 2600From: March Hare <hare@wonder.land> 2601Message-Id: <200207292200.3303@wonder.land> 2602To: Alice <alice@wonder.land> 2603Subject: Re: Invitation 2604Status: OR 2605 2606There isn't any 2607. 2608Received: (from alice@wonder.land) 2609 by wonder.land id 3304 2610 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 2611Date: Mon, 29 Jul 2002 22:00:04 +0100 2612From: Alice <alice@wonder.land> 2613Message-Id: <200207292200.3304@wonder.land> 2614To: March Hare <hare@wonder.land> 2615Subject: Re: Invitation 2616Return-Path: alice@wonder.land 2617 2618Then it wasn't very civil of you to offer it 2619. 2620Received: (from hare@wonder.land) 2621 by wonder.land id 3305 2622 for alice@wonder.land; Mon, 29 Jul 2002 22:00:10 +0100 2623Date: Mon, 29 Jul 2002 22:00:05 +0100 2624From: March Hare <hare@wonder.land> 2625Message-Id: <200207292200.3305@wonder.land> 2626To: Alice <alice@wonder.land> 2627Subject: Re: Invitation 2628Return-Path: hare@wonder.land 2629 2630It wasn't very civil of you to sit down without being invited 2631. 2632_ATEOF 2633 2634MAIL=./dmbx 2635export MAIL 2636mbop unseen 2637 2638) >>"$at_stdout" 2>>"$at_stderr" 5>&- 2639at_status=$? at_failed=false 2640$at_check_filter 2641at_fn_diff_devnull "$at_stderr" || at_failed=: 2642echo >>"$at_stdout"; $as_echo "unseen: 4 2643" | \ 2644 $at_diff - "$at_stdout" || at_failed=: 2645at_fn_check_status 0 $at_status "$at_srcdir/unseen.at:17" 2646$at_failed && at_fn_log_failure 2647$at_traceon; } 2648 2649 set +x 2650 $at_times_p && times >"$at_times_file" 2651) 5>&1 2>&1 7>&- | eval $at_tee_pipe 2652read at_status <"$at_status_file" 2653#AT_STOP_5 2654#AT_START_6 2655at_fn_group_banner 6 'header.at:17' \ 2656 "header" " " 2657at_xfail=no 2658( 2659 $as_echo "6. $at_setup_line: testing $at_desc ..." 2660 $at_traceon 2661 2662{ set +x 2663$as_echo "$at_srcdir/header.at:17: cat >dmbx <<'_ATEOF' 2664Received: (from hare@wonder.land) 2665 by wonder.land id 3301 2666 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 2667Date: Mon, 29 Jul 2002 22:00:01 +0100 2668From: March Hare <hare@wonder.land> 2669Message-Id: <200207292200.3301@wonder.land> 2670To: Alice <alice@wonder.land> 2671Subject: Invitation 2672Return-Path: hare@wonder.land 2673 2674Have some wine 2675. 2676Date: Mon, 29 Jul 2002 22:00:02 +0100 2677From: Alice <alice@wonder.land> 2678Message-Id: <200207292200.3302@wonder.land> 2679To: March Hare <hare@wonder.land> 2680Subject: Re: Invitation 2681Return-Path: alice@wonder.land 2682 2683I don't see any wine 2684. 2685_ATEOF 2686 2687cat >input <<'_ATEOF' 26881 2689header_lines 2690header_size 2691header_count 26922 2693header_lines 2694header_size 2695header_count 2696_ATEOF 2697 2698 2699MAIL=./dmbx 2700export MAIL 2701mbop < input 2702 2703" 2704at_fn_check_prepare_notrace 'an embedded newline' "header.at:17" 2705( $at_check_trace; cat >dmbx <<'_ATEOF' 2706Received: (from hare@wonder.land) 2707 by wonder.land id 3301 2708 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 2709Date: Mon, 29 Jul 2002 22:00:01 +0100 2710From: March Hare <hare@wonder.land> 2711Message-Id: <200207292200.3301@wonder.land> 2712To: Alice <alice@wonder.land> 2713Subject: Invitation 2714Return-Path: hare@wonder.land 2715 2716Have some wine 2717. 2718Date: Mon, 29 Jul 2002 22:00:02 +0100 2719From: Alice <alice@wonder.land> 2720Message-Id: <200207292200.3302@wonder.land> 2721To: March Hare <hare@wonder.land> 2722Subject: Re: Invitation 2723Return-Path: alice@wonder.land 2724 2725I don't see any wine 2726. 2727_ATEOF 2728 2729cat >input <<'_ATEOF' 27301 2731header_lines 2732header_size 2733header_count 27342 2735header_lines 2736header_size 2737header_count 2738_ATEOF 2739 2740 2741MAIL=./dmbx 2742export MAIL 2743mbop < input 2744 2745 2746) >>"$at_stdout" 2>>"$at_stderr" 5>&- 2747at_status=$? at_failed=false 2748$at_check_filter 2749at_fn_diff_devnull "$at_stderr" || at_failed=: 2750echo >>"$at_stdout"; $as_echo "1 current message 27511 header_lines: 10 27521 header_size: 315 27531 header_count: 7 27542 current message 27552 header_lines: 7 27562 header_size: 206 27572 header_count: 6 2758" | \ 2759 $at_diff - "$at_stdout" || at_failed=: 2760at_fn_check_status 0 $at_status "$at_srcdir/header.at:17" 2761$at_failed && at_fn_log_failure 2762$at_traceon; } 2763 2764 set +x 2765 $at_times_p && times >"$at_times_file" 2766) 5>&1 2>&1 7>&- | eval $at_tee_pipe 2767read at_status <"$at_status_file" 2768#AT_STOP_6 2769#AT_START_7 2770at_fn_group_banner 7 'header.at:60' \ 2771 "headers" " " 2772at_xfail=no 2773( 2774 $as_echo "7. $at_setup_line: testing $at_desc ..." 2775 $at_traceon 2776 2777{ set +x 2778$as_echo "$at_srcdir/header.at:60: cat >dmbx <<'_ATEOF' 2779Received: (from hare@wonder.land) 2780 by wonder.land id 3301 2781 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 2782Date: Mon, 29 Jul 2002 22:00:01 +0100 2783From: March Hare <hare@wonder.land> 2784Message-Id: <200207292200.3301@wonder.land> 2785To: Alice <alice@wonder.land> 2786Subject: Invitation 2787Return-Path: hare@wonder.land 2788 2789Have some wine 2790. 2791Date: Mon, 29 Jul 2002 22:00:02 +0100 2792From: Alice <alice@wonder.land> 2793Message-Id: <200207292200.3302@wonder.land> 2794To: March Hare <hare@wonder.land> 2795Subject: Re: Invitation 2796Return-Path: alice@wonder.land 2797 2798I don't see any wine 2799. 2800_ATEOF 2801 2802cat >input <<'_ATEOF' 28031 2804headers 28052 2806headers 2807_ATEOF 2808 2809 2810MAIL=./dmbx 2811export MAIL 2812mbop < input 2813 2814" 2815at_fn_check_prepare_notrace 'an embedded newline' "header.at:60" 2816( $at_check_trace; cat >dmbx <<'_ATEOF' 2817Received: (from hare@wonder.land) 2818 by wonder.land id 3301 2819 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 2820Date: Mon, 29 Jul 2002 22:00:01 +0100 2821From: March Hare <hare@wonder.land> 2822Message-Id: <200207292200.3301@wonder.land> 2823To: Alice <alice@wonder.land> 2824Subject: Invitation 2825Return-Path: hare@wonder.land 2826 2827Have some wine 2828. 2829Date: Mon, 29 Jul 2002 22:00:02 +0100 2830From: Alice <alice@wonder.land> 2831Message-Id: <200207292200.3302@wonder.land> 2832To: March Hare <hare@wonder.land> 2833Subject: Re: Invitation 2834Return-Path: alice@wonder.land 2835 2836I don't see any wine 2837. 2838_ATEOF 2839 2840cat >input <<'_ATEOF' 28411 2842headers 28432 2844headers 2845_ATEOF 2846 2847 2848MAIL=./dmbx 2849export MAIL 2850mbop < input 2851 2852 2853) >>"$at_stdout" 2>>"$at_stderr" 5>&- 2854at_status=$? at_failed=false 2855$at_check_filter 2856at_fn_diff_devnull "$at_stderr" || at_failed=: 2857echo >>"$at_stdout"; $as_echo "1 current message 28581 headers: Received:(from hare@wonder.land) by wonder.land id 3301 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 2859Date:Mon, 29 Jul 2002 22:00:01 +0100 2860From:March Hare <hare@wonder.land> 2861Message-Id:<200207292200.3301@wonder.land> 2862To:Alice <alice@wonder.land> 2863Subject:Invitation 2864Return-Path:hare@wonder.land 2865 28662 current message 28672 headers: Date:Mon, 29 Jul 2002 22:00:02 +0100 2868From:Alice <alice@wonder.land> 2869Message-Id:<200207292200.3302@wonder.land> 2870To:March Hare <hare@wonder.land> 2871Subject:Re: Invitation 2872Return-Path:alice@wonder.land 2873 2874" | \ 2875 $at_diff - "$at_stdout" || at_failed=: 2876at_fn_check_status 0 $at_status "$at_srcdir/header.at:60" 2877$at_failed && at_fn_log_failure 2878$at_traceon; } 2879 2880 set +x 2881 $at_times_p && times >"$at_times_file" 2882) 5>&1 2>&1 7>&- | eval $at_tee_pipe 2883read at_status <"$at_status_file" 2884#AT_STOP_7 2885#AT_START_8 2886at_fn_group_banner 8 'body.at:17' \ 2887 "body" " " 2888at_xfail=no 2889( 2890 $as_echo "8. $at_setup_line: testing $at_desc ..." 2891 $at_traceon 2892 2893{ set +x 2894$as_echo "$at_srcdir/body.at:17: cat >dmbx <<'_ATEOF' 2895Received: (from alice@wonder.land) 2896 by wonder.land id 3314 2897 for hare@wonder.land; Mon, 29 Jul 2002 22:00:19 +0100 2898Date: Mon, 29 Jul 2002 22:00:14 +0100 2899From: Alice <alice@wonder.land> 2900Message-Id: <200207292200.3314@wonder.land> 2901To: March Hare <hare@wonder.land> 2902Subject: Re: Be specific 2903Return-Path: alice@wonder.land 2904 2905I do, at least--at least I mean what 2906I say--that's the same thing, you know. 2907. 2908Received: (from hatter@wonder.land) 2909 by wonder.land id 3315 2910 for alice@wonder.land; Mon, 29 Jul 2002 22:00:20 +0100 2911Date: Mon, 29 Jul 2002 22:00:15 +0100 2912From: Hatter <hatter@wonder.land> 2913Message-Id: <200207292200.3315@wonder.land> 2914To: Alice <alice@wonder.land> 2915Subject: Re: Be specific 2916Return-Path: hatter@wonder.land 2917 2918Not the same thing a bit! You might just 2919as well say that \"I see what I eat\" is the same thing as \"I eat 2920what I see\"! 2921. 2922Received: (from hare@wonder.land) 2923 by wonder.land id 3316 2924 for alice@wonder.land; Mon, 29 Jul 2002 22:00:21 +0100 2925Date: Mon, 29 Jul 2002 22:00:16 +0100 2926From: March Hare <hare@wonder.land> 2927Message-Id: <200207292200.3316@wonder.land> 2928To: Alice <alice@wonder.land> 2929Subject: Re: Be specific 2930Return-Path: hare@wonder.land 2931 2932.. 2933... 2934.... 2935..... 2936...... 2937....... 2938. 2939_ATEOF 2940 2941cat >input <<'_ATEOF' 29421 2943body_lines 2944body_size 2945body_text 29462 2947body_lines 2948body_size 2949body_text 29503 2951body_lines 2952body_size 2953body_text 2954_ATEOF 2955 2956 2957MAIL=./dmbx 2958export MAIL 2959mbop < input 2960 2961" 2962at_fn_check_prepare_notrace 'an embedded newline' "body.at:17" 2963( $at_check_trace; cat >dmbx <<'_ATEOF' 2964Received: (from alice@wonder.land) 2965 by wonder.land id 3314 2966 for hare@wonder.land; Mon, 29 Jul 2002 22:00:19 +0100 2967Date: Mon, 29 Jul 2002 22:00:14 +0100 2968From: Alice <alice@wonder.land> 2969Message-Id: <200207292200.3314@wonder.land> 2970To: March Hare <hare@wonder.land> 2971Subject: Re: Be specific 2972Return-Path: alice@wonder.land 2973 2974I do, at least--at least I mean what 2975I say--that's the same thing, you know. 2976. 2977Received: (from hatter@wonder.land) 2978 by wonder.land id 3315 2979 for alice@wonder.land; Mon, 29 Jul 2002 22:00:20 +0100 2980Date: Mon, 29 Jul 2002 22:00:15 +0100 2981From: Hatter <hatter@wonder.land> 2982Message-Id: <200207292200.3315@wonder.land> 2983To: Alice <alice@wonder.land> 2984Subject: Re: Be specific 2985Return-Path: hatter@wonder.land 2986 2987Not the same thing a bit! You might just 2988as well say that "I see what I eat" is the same thing as "I eat 2989what I see"! 2990. 2991Received: (from hare@wonder.land) 2992 by wonder.land id 3316 2993 for alice@wonder.land; Mon, 29 Jul 2002 22:00:21 +0100 2994Date: Mon, 29 Jul 2002 22:00:16 +0100 2995From: March Hare <hare@wonder.land> 2996Message-Id: <200207292200.3316@wonder.land> 2997To: Alice <alice@wonder.land> 2998Subject: Re: Be specific 2999Return-Path: hare@wonder.land 3000 3001.. 3002... 3003.... 3004..... 3005...... 3006....... 3007. 3008_ATEOF 3009 3010cat >input <<'_ATEOF' 30111 3012body_lines 3013body_size 3014body_text 30152 3016body_lines 3017body_size 3018body_text 30193 3020body_lines 3021body_size 3022body_text 3023_ATEOF 3024 3025 3026MAIL=./dmbx 3027export MAIL 3028mbop < input 3029 3030 3031) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3032at_status=$? at_failed=false 3033$at_check_filter 3034at_fn_diff_devnull "$at_stderr" || at_failed=: 3035echo >>"$at_stdout"; $as_echo "1 current message 30361 body_lines: 2 30371 body_size: 77 30381 body_text: I do, at least--at least I mean what 3039I say--that's the same thing, you know. 3040 30412 current message 30422 body_lines: 3 30432 body_size: 118 30442 body_text: Not the same thing a bit! You might just 3045as well say that \"I see what I eat\" is the same thing as \"I eat 3046what I see\"! 3047 30483 current message 30493 body_lines: 6 30503 body_size: 27 30513 body_text: . 3052.. 3053... 3054.... 3055..... 3056...... 3057 3058" | \ 3059 $at_diff - "$at_stdout" || at_failed=: 3060at_fn_check_status 0 $at_status "$at_srcdir/body.at:17" 3061$at_failed && at_fn_log_failure 3062$at_traceon; } 3063 3064 set +x 3065 $at_times_p && times >"$at_times_file" 3066) 5>&1 2>&1 7>&- | eval $at_tee_pipe 3067read at_status <"$at_status_file" 3068#AT_STOP_8 3069#AT_START_9 3070at_fn_group_banner 9 'uidvalidity.at:17' \ 3071 "uidvalidity" " " 3072at_xfail=no 3073( 3074 $as_echo "9. $at_setup_line: testing $at_desc ..." 3075 $at_traceon 3076 3077{ set +x 3078$as_echo "$at_srcdir/uidvalidity.at:17: cat >dmbx <<'_ATEOF' 3079Received: (from hare@wonder.land) 3080 by wonder.land id 3301 3081 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 3082Date: Mon, 29 Jul 2002 22:00:01 +0100 3083From: March Hare <hare@wonder.land> 3084Message-Id: <200207292200.3301@wonder.land> 3085To: Alice <alice@wonder.land> 3086Subject: Invitation 3087Return-Path: hare@wonder.land 3088Status: O 3089X-UID: 1 3090X-IMAPbase: 1027976401 1001 3091 3092Have some wine 3093. 3094_ATEOF 3095 3096MAIL=./dmbx 3097export MAIL 3098mbop uidvalidity \\; uidnext 3099" 3100at_fn_check_prepare_notrace 'an embedded newline' "uidvalidity.at:17" 3101( $at_check_trace; cat >dmbx <<'_ATEOF' 3102Received: (from hare@wonder.land) 3103 by wonder.land id 3301 3104 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 3105Date: Mon, 29 Jul 2002 22:00:01 +0100 3106From: March Hare <hare@wonder.land> 3107Message-Id: <200207292200.3301@wonder.land> 3108To: Alice <alice@wonder.land> 3109Subject: Invitation 3110Return-Path: hare@wonder.land 3111Status: O 3112X-UID: 1 3113X-IMAPbase: 1027976401 1001 3114 3115Have some wine 3116. 3117_ATEOF 3118 3119MAIL=./dmbx 3120export MAIL 3121mbop uidvalidity \; uidnext 3122 3123) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3124at_status=$? at_failed=false 3125$at_check_filter 3126at_fn_diff_devnull "$at_stderr" || at_failed=: 3127echo >>"$at_stdout"; $as_echo "uidvalidity: 1027976401 3128uidnext: 1001 3129" | \ 3130 $at_diff - "$at_stdout" || at_failed=: 3131at_fn_check_status 0 $at_status "$at_srcdir/uidvalidity.at:17" 3132$at_failed && at_fn_log_failure 3133$at_traceon; } 3134 3135 set +x 3136 $at_times_p && times >"$at_times_file" 3137) 5>&1 2>&1 7>&- | eval $at_tee_pipe 3138read at_status <"$at_status_file" 3139#AT_STOP_9 3140#AT_START_10 3141at_fn_group_banner 10 'uid.at:17' \ 3142 "uid" " " 3143at_xfail=no 3144( 3145 $as_echo "10. $at_setup_line: testing $at_desc ..." 3146 $at_traceon 3147 3148{ set +x 3149$as_echo "$at_srcdir/uid.at:17: cat >dmbx <<'_ATEOF' 3150Received: (from hare@wonder.land) 3151 by wonder.land id 3301 3152 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 3153Date: Mon, 29 Jul 2002 22:00:01 +0100 3154From: March Hare <hare@wonder.land> 3155Message-Id: <200207292200.3301@wonder.land> 3156To: Alice <alice@wonder.land> 3157Subject: Invitation 3158X-UID: 1 3159X-IMAPbase: 1027976401 1001 3160Return-Path: hare@wonder.land 3161 3162Have some wine 3163. 3164Received: (from alice@wonder.land) 3165 by wonder.land id 3302 3166 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 3167Date: Mon, 29 Jul 2002 22:00:02 +0100 3168From: Alice <alice@wonder.land> 3169Message-Id: <200207292200.3302@wonder.land> 3170To: March Hare <hare@wonder.land> 3171Subject: Re: Invitation 3172Return-Path: alice@wonder.land 3173X-UID: 2 3174 3175I don't see any wine 3176. 3177Received: (from hare@wonder.land) 3178 by wonder.land id 3303 3179 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 3180Date: Mon, 29 Jul 2002 22:00:03 +0100 3181From: March Hare <hare@wonder.land> 3182Message-Id: <200207292200.3303@wonder.land> 3183To: Alice <alice@wonder.land> 3184Subject: Re: Invitation 3185Return-Path: hare@wonder.land 3186 3187There isn't any 3188. 3189_ATEOF 3190 3191cat >input <<'_ATEOF' 31921 3193uid 31942 3195uid 31963 3197uid 3198_ATEOF 3199 3200 3201MAIL=./dmbx 3202export MAIL 3203mbop < input 3204 3205" 3206at_fn_check_prepare_notrace 'an embedded newline' "uid.at:17" 3207( $at_check_trace; cat >dmbx <<'_ATEOF' 3208Received: (from hare@wonder.land) 3209 by wonder.land id 3301 3210 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 3211Date: Mon, 29 Jul 2002 22:00:01 +0100 3212From: March Hare <hare@wonder.land> 3213Message-Id: <200207292200.3301@wonder.land> 3214To: Alice <alice@wonder.land> 3215Subject: Invitation 3216X-UID: 1 3217X-IMAPbase: 1027976401 1001 3218Return-Path: hare@wonder.land 3219 3220Have some wine 3221. 3222Received: (from alice@wonder.land) 3223 by wonder.land id 3302 3224 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 3225Date: Mon, 29 Jul 2002 22:00:02 +0100 3226From: Alice <alice@wonder.land> 3227Message-Id: <200207292200.3302@wonder.land> 3228To: March Hare <hare@wonder.land> 3229Subject: Re: Invitation 3230Return-Path: alice@wonder.land 3231X-UID: 2 3232 3233I don't see any wine 3234. 3235Received: (from hare@wonder.land) 3236 by wonder.land id 3303 3237 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 3238Date: Mon, 29 Jul 2002 22:00:03 +0100 3239From: March Hare <hare@wonder.land> 3240Message-Id: <200207292200.3303@wonder.land> 3241To: Alice <alice@wonder.land> 3242Subject: Re: Invitation 3243Return-Path: hare@wonder.land 3244 3245There isn't any 3246. 3247_ATEOF 3248 3249cat >input <<'_ATEOF' 32501 3251uid 32522 3253uid 32543 3255uid 3256_ATEOF 3257 3258 3259MAIL=./dmbx 3260export MAIL 3261mbop < input 3262 3263 3264) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3265at_status=$? at_failed=false 3266$at_check_filter 3267at_fn_diff_devnull "$at_stderr" || at_failed=: 3268echo >>"$at_stdout"; $as_echo "1 current message 32691 uid: 1 32702 current message 32712 uid: 2 32723 current message 32733 uid: 1001 3274" | \ 3275 $at_diff - "$at_stdout" || at_failed=: 3276at_fn_check_status 0 $at_status "$at_srcdir/uid.at:17" 3277$at_failed && at_fn_log_failure 3278$at_traceon; } 3279 3280 set +x 3281 $at_times_p && times >"$at_times_file" 3282) 5>&1 2>&1 7>&- | eval $at_tee_pipe 3283read at_status <"$at_status_file" 3284#AT_STOP_10 3285#AT_START_11 3286at_fn_group_banner 11 'qget.at:17' \ 3287 "qget" " " 3288at_xfail=no 3289( 3290 $as_echo "11. $at_setup_line: testing $at_desc ..." 3291 $at_traceon 3292 3293{ set +x 3294$as_echo "$at_srcdir/qget.at:17: cat >dmbx <<'_ATEOF' 3295Received: (from hare@wonder.land) 3296 by wonder.land id 3301 3297 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 3298Date: Mon, 29 Jul 2002 22:00:01 +0100 3299From: March Hare <hare@wonder.land> 3300Message-Id: <200207292200.3301@wonder.land> 3301To: Alice <alice@wonder.land> 3302Subject: Invitation 3303X-UID: 1 3304X-IMAPbase: 1027976401 1001 3305Return-Path: hare@wonder.land 3306 3307Have some wine 3308. 3309Received: (from alice@wonder.land) 3310 by wonder.land id 3302 3311 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 3312Date: Mon, 29 Jul 2002 22:00:02 +0100 3313From: Alice <alice@wonder.land> 3314Message-Id: <200207292200.3302@wonder.land> 3315To: March Hare <hare@wonder.land> 3316Subject: Re: Invitation 3317Return-Path: alice@wonder.land 3318X-UID: 2 3319 3320I don't see any wine 3321. 3322_ATEOF 3323 3324MAIL=./dmbx 3325export MAIL 3326mbop qget 369 3327" 3328at_fn_check_prepare_notrace 'an embedded newline' "qget.at:17" 3329( $at_check_trace; cat >dmbx <<'_ATEOF' 3330Received: (from hare@wonder.land) 3331 by wonder.land id 3301 3332 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 3333Date: Mon, 29 Jul 2002 22:00:01 +0100 3334From: March Hare <hare@wonder.land> 3335Message-Id: <200207292200.3301@wonder.land> 3336To: Alice <alice@wonder.land> 3337Subject: Invitation 3338X-UID: 1 3339X-IMAPbase: 1027976401 1001 3340Return-Path: hare@wonder.land 3341 3342Have some wine 3343. 3344Received: (from alice@wonder.land) 3345 by wonder.land id 3302 3346 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 3347Date: Mon, 29 Jul 2002 22:00:02 +0100 3348From: Alice <alice@wonder.land> 3349Message-Id: <200207292200.3302@wonder.land> 3350To: March Hare <hare@wonder.land> 3351Subject: Re: Invitation 3352Return-Path: alice@wonder.land 3353X-UID: 2 3354 3355I don't see any wine 3356. 3357_ATEOF 3358 3359MAIL=./dmbx 3360export MAIL 3361mbop qget 369 3362 3363) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3364at_status=$? at_failed=false 3365$at_check_filter 3366at_fn_diff_devnull "$at_stderr" || at_failed=: 3367echo >>"$at_stdout"; $as_echo "qget: Received: (from alice@wonder.land) 3368 by wonder.land id 3302 3369 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 3370Date: Mon, 29 Jul 2002 22:00:02 +0100 3371From: Alice <alice@wonder.land> 3372Message-Id: <200207292200.3302@wonder.land> 3373To: March Hare <hare@wonder.land> 3374Subject: Re: Invitation 3375Return-Path: alice@wonder.land 3376X-UID: 2 3377 3378I don't see any wine 3379 3380" | \ 3381 $at_diff - "$at_stdout" || at_failed=: 3382at_fn_check_status 0 $at_status "$at_srcdir/qget.at:17" 3383$at_failed && at_fn_log_failure 3384$at_traceon; } 3385 3386 set +x 3387 $at_times_p && times >"$at_times_file" 3388) 5>&1 2>&1 7>&- | eval $at_tee_pipe 3389read at_status <"$at_status_file" 3390#AT_STOP_11 3391#AT_START_12 3392at_fn_group_banner 12 'append.at:17' \ 3393 "append" " " 3394at_xfail=no 3395( 3396 $as_echo "12. $at_setup_line: testing $at_desc ..." 3397 $at_traceon 3398 3399{ set +x 3400$as_echo "$at_srcdir/append.at:17: cat >dmbx <<'_ATEOF' 3401Received: (from hare@wonder.land) 3402 by wonder.land id 3301 3403 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 3404Date: Mon, 29 Jul 2002 22:00:01 +0100 3405From: March Hare <hare@wonder.land> 3406Message-Id: <200207292200.3301@wonder.land> 3407To: Alice <alice@wonder.land> 3408Subject: Invitation 3409Return-Path: hare@wonder.land 3410 3411Have some wine 3412. 3413Received: (from alice@wonder.land) 3414 by wonder.land id 3302 3415 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 3416Date: Mon, 29 Jul 2002 22:00:02 +0100 3417From: Alice <alice@wonder.land> 3418Message-Id: <200207292200.3302@wonder.land> 3419To: March Hare <hare@wonder.land> 3420Subject: Re: Invitation 3421Return-Path: alice@wonder.land 3422 3423I don't see any wine 3424. 3425Received: (from hare@wonder.land) 3426 by wonder.land id 3303 3427 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 3428Date: Mon, 29 Jul 2002 22:00:03 +0100 3429From: March Hare <hare@wonder.land> 3430Message-Id: <200207292200.3303@wonder.land> 3431To: Alice <alice@wonder.land> 3432Subject: Re: Invitation 3433Return-Path: hare@wonder.land 3434 3435There isn't any 3436. 3437_ATEOF 3438 3439cat >input <<'_ATEOF' 3440# Append new message 3441append msg 3442# Select it 34434 3444# Check if it is scanned and loaded 3445env_date 3446env_sender 3447headers 3448body_text 3449_ATEOF 3450 3451cat >msg <<'_ATEOF' 3452Received: (from alice@wonder.land) 3453 by wonder.land id 3304 3454 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 3455Date: Mon, 29 Jul 2002 22:00:04 +0100 3456From: Alice <alice@wonder.land> 3457Message-Id: <200207292200.3304@wonder.land> 3458To: March Hare <hare@wonder.land> 3459Subject: Re: Invitation 3460Return-Path: alice@wonder.land 3461X-UID: 1034 3462 3463Then it wasn't very civil of you to offer it 3464_ATEOF 3465 3466MAIL=./dmbx 3467export MAIL 3468mbop < input 3469mbop count 3470" 3471at_fn_check_prepare_notrace 'an embedded newline' "append.at:17" 3472( $at_check_trace; cat >dmbx <<'_ATEOF' 3473Received: (from hare@wonder.land) 3474 by wonder.land id 3301 3475 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 3476Date: Mon, 29 Jul 2002 22:00:01 +0100 3477From: March Hare <hare@wonder.land> 3478Message-Id: <200207292200.3301@wonder.land> 3479To: Alice <alice@wonder.land> 3480Subject: Invitation 3481Return-Path: hare@wonder.land 3482 3483Have some wine 3484. 3485Received: (from alice@wonder.land) 3486 by wonder.land id 3302 3487 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 3488Date: Mon, 29 Jul 2002 22:00:02 +0100 3489From: Alice <alice@wonder.land> 3490Message-Id: <200207292200.3302@wonder.land> 3491To: March Hare <hare@wonder.land> 3492Subject: Re: Invitation 3493Return-Path: alice@wonder.land 3494 3495I don't see any wine 3496. 3497Received: (from hare@wonder.land) 3498 by wonder.land id 3303 3499 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 3500Date: Mon, 29 Jul 2002 22:00:03 +0100 3501From: March Hare <hare@wonder.land> 3502Message-Id: <200207292200.3303@wonder.land> 3503To: Alice <alice@wonder.land> 3504Subject: Re: Invitation 3505Return-Path: hare@wonder.land 3506 3507There isn't any 3508. 3509_ATEOF 3510 3511cat >input <<'_ATEOF' 3512# Append new message 3513append msg 3514# Select it 35154 3516# Check if it is scanned and loaded 3517env_date 3518env_sender 3519headers 3520body_text 3521_ATEOF 3522 3523cat >msg <<'_ATEOF' 3524Received: (from alice@wonder.land) 3525 by wonder.land id 3304 3526 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 3527Date: Mon, 29 Jul 2002 22:00:04 +0100 3528From: Alice <alice@wonder.land> 3529Message-Id: <200207292200.3304@wonder.land> 3530To: March Hare <hare@wonder.land> 3531Subject: Re: Invitation 3532Return-Path: alice@wonder.land 3533X-UID: 1034 3534 3535Then it wasn't very civil of you to offer it 3536_ATEOF 3537 3538MAIL=./dmbx 3539export MAIL 3540mbop < input 3541mbop count 3542 3543) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3544at_status=$? at_failed=false 3545$at_check_filter 3546at_fn_diff_devnull "$at_stderr" || at_failed=: 3547echo >>"$at_stdout"; $as_echo "append: OK 35484 current message 35494 env_date: Mon Jul 29 21:00:09 2002 35504 env_sender: alice@wonder.land 35514 headers: Received:(from alice@wonder.land) by wonder.land id 3304 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 3552Date:Mon, 29 Jul 2002 22:00:04 +0100 3553From:Alice <alice@wonder.land> 3554Message-Id:<200207292200.3304@wonder.land> 3555To:March Hare <hare@wonder.land> 3556Subject:Re: Invitation 3557Return-Path:alice@wonder.land 3558 35594 body_text: Then it wasn't very civil of you to offer it 3560 3561count: 4 3562" | \ 3563 $at_diff - "$at_stdout" || at_failed=: 3564at_fn_check_status 0 $at_status "$at_srcdir/append.at:17" 3565$at_failed && at_fn_log_failure 3566$at_traceon; } 3567 3568 set +x 3569 $at_times_p && times >"$at_times_file" 3570) 5>&1 2>&1 7>&- | eval $at_tee_pipe 3571read at_status <"$at_status_file" 3572#AT_STOP_12 3573#AT_START_13 3574at_fn_group_banner 13 'append.at:98' \ 3575 "append with uid" " " 3576at_xfail=no 3577( 3578 $as_echo "13. $at_setup_line: testing $at_desc ..." 3579 $at_traceon 3580 3581{ set +x 3582$as_echo "$at_srcdir/append.at:98: cat >dmbx <<'_ATEOF' 3583Received: (from hare@wonder.land) 3584 by wonder.land id 3301 3585 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 3586Date: Mon, 29 Jul 2002 22:00:01 +0100 3587From: March Hare <hare@wonder.land> 3588Message-Id: <200207292200.3301@wonder.land> 3589To: Alice <alice@wonder.land> 3590Subject: Invitation 3591Return-Path: hare@wonder.land 3592X-IMAPbase: 1027976406 140 3593X-UID: 137 3594 3595Have some wine 3596. 3597Received: (from alice@wonder.land) 3598 by wonder.land id 3302 3599 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 3600Date: Mon, 29 Jul 2002 22:00:02 +0100 3601From: Alice <alice@wonder.land> 3602Message-Id: <200207292200.3302@wonder.land> 3603To: March Hare <hare@wonder.land> 3604Subject: Re: Invitation 3605Return-Path: alice@wonder.land 3606X-UID: 138 3607 3608I don't see any wine 3609. 3610Received: (from hare@wonder.land) 3611 by wonder.land id 3303 3612 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 3613Date: Mon, 29 Jul 2002 22:00:03 +0100 3614From: March Hare <hare@wonder.land> 3615Message-Id: <200207292200.3303@wonder.land> 3616To: Alice <alice@wonder.land> 3617Subject: Re: Invitation 3618Return-Path: hare@wonder.land 3619X-UID: 139 3620 3621There isn't any 3622. 3623_ATEOF 3624 3625cat >input <<'_ATEOF' 3626# Append new message 3627append msg 3628# Select it 36294 3630# Check if it is scanned and loaded 3631env_date 3632env_sender 3633headers 3634body_text 3635# Check the uidvalidity and uidnext 3636uidvalidity 3637uidnext 3638sync 3639_ATEOF 3640 3641cat >msg <<'_ATEOF' 3642Received: (from alice@wonder.land) 3643 by wonder.land id 3304 3644 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 3645Date: Mon, 29 Jul 2002 22:00:04 +0100 3646From: Alice <alice@wonder.land> 3647Message-Id: <200207292200.3304@wonder.land> 3648To: March Hare <hare@wonder.land> 3649Subject: Re: Invitation 3650Return-Path: alice@wonder.land 3651X-UID: 1034 3652 3653Then it wasn't very civil of you to offer it 3654_ATEOF 3655 3656MAIL=./dmbx 3657export MAIL 3658mbop < input 3659mbop count\\; uidvalidity\\; uidnext 3660" 3661at_fn_check_prepare_notrace 'an embedded newline' "append.at:98" 3662( $at_check_trace; cat >dmbx <<'_ATEOF' 3663Received: (from hare@wonder.land) 3664 by wonder.land id 3301 3665 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 3666Date: Mon, 29 Jul 2002 22:00:01 +0100 3667From: March Hare <hare@wonder.land> 3668Message-Id: <200207292200.3301@wonder.land> 3669To: Alice <alice@wonder.land> 3670Subject: Invitation 3671Return-Path: hare@wonder.land 3672X-IMAPbase: 1027976406 140 3673X-UID: 137 3674 3675Have some wine 3676. 3677Received: (from alice@wonder.land) 3678 by wonder.land id 3302 3679 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 3680Date: Mon, 29 Jul 2002 22:00:02 +0100 3681From: Alice <alice@wonder.land> 3682Message-Id: <200207292200.3302@wonder.land> 3683To: March Hare <hare@wonder.land> 3684Subject: Re: Invitation 3685Return-Path: alice@wonder.land 3686X-UID: 138 3687 3688I don't see any wine 3689. 3690Received: (from hare@wonder.land) 3691 by wonder.land id 3303 3692 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 3693Date: Mon, 29 Jul 2002 22:00:03 +0100 3694From: March Hare <hare@wonder.land> 3695Message-Id: <200207292200.3303@wonder.land> 3696To: Alice <alice@wonder.land> 3697Subject: Re: Invitation 3698Return-Path: hare@wonder.land 3699X-UID: 139 3700 3701There isn't any 3702. 3703_ATEOF 3704 3705cat >input <<'_ATEOF' 3706# Append new message 3707append msg 3708# Select it 37094 3710# Check if it is scanned and loaded 3711env_date 3712env_sender 3713headers 3714body_text 3715# Check the uidvalidity and uidnext 3716uidvalidity 3717uidnext 3718sync 3719_ATEOF 3720 3721cat >msg <<'_ATEOF' 3722Received: (from alice@wonder.land) 3723 by wonder.land id 3304 3724 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 3725Date: Mon, 29 Jul 2002 22:00:04 +0100 3726From: Alice <alice@wonder.land> 3727Message-Id: <200207292200.3304@wonder.land> 3728To: March Hare <hare@wonder.land> 3729Subject: Re: Invitation 3730Return-Path: alice@wonder.land 3731X-UID: 1034 3732 3733Then it wasn't very civil of you to offer it 3734_ATEOF 3735 3736MAIL=./dmbx 3737export MAIL 3738mbop < input 3739mbop count\; uidvalidity\; uidnext 3740 3741) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3742at_status=$? at_failed=false 3743$at_check_filter 3744at_fn_diff_devnull "$at_stderr" || at_failed=: 3745echo >>"$at_stdout"; $as_echo "append: OK 37464 current message 37474 env_date: Mon Jul 29 21:00:09 2002 37484 env_sender: alice@wonder.land 37494 headers: Received:(from alice@wonder.land) by wonder.land id 3304 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 3750Date:Mon, 29 Jul 2002 22:00:04 +0100 3751From:Alice <alice@wonder.land> 3752Message-Id:<200207292200.3304@wonder.land> 3753To:March Hare <hare@wonder.land> 3754Subject:Re: Invitation 3755Return-Path:alice@wonder.land 3756X-UID:140 3757 37584 body_text: Then it wasn't very civil of you to offer it 3759 3760uidvalidity: 1027976406 3761uidnext: 141 3762sync: OK 3763count: 4 3764uidvalidity: 1027976406 3765uidnext: 141 3766" | \ 3767 $at_diff - "$at_stdout" || at_failed=: 3768at_fn_check_status 0 $at_status "$at_srcdir/append.at:98" 3769$at_failed && at_fn_log_failure 3770$at_traceon; } 3771 3772 set +x 3773 $at_times_p && times >"$at_times_file" 3774) 5>&1 2>&1 7>&- | eval $at_tee_pipe 3775read at_status <"$at_status_file" 3776#AT_STOP_13 3777#AT_START_14 3778at_fn_group_banner 14 'append.at:193' \ 3779 "append to empty mailbox" " " 3780at_xfail=no 3781( 3782 $as_echo "14. $at_setup_line: testing $at_desc ..." 3783 $at_traceon 3784 3785{ set +x 3786$as_echo "$at_srcdir/append.at:193: : >dmbx 3787cat >input <<'_ATEOF' 3788# Append new message 3789append msg 3790# Select it 37911 3792# Check if it is scanned and loaded 3793env_date 3794env_sender 3795headers 3796body_text 3797_ATEOF 3798 3799cat >msg <<'_ATEOF' 3800Received: (from hare@wonder.land) 3801 by wonder.land id 3301 3802 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 3803Date: Mon, 29 Jul 2002 22:00:01 +0100 3804From: March Hare <hare@wonder.land> 3805Message-Id: <200207292200.3301@wonder.land> 3806To: Alice <alice@wonder.land> 3807Subject: Invitation 3808Return-Path: hare@wonder.land 3809 3810Have some wine 3811_ATEOF 3812 3813MAIL=./dmbx 3814export MAIL 3815mbop < input 3816 3817" 3818at_fn_check_prepare_notrace 'an embedded newline' "append.at:193" 3819( $at_check_trace; : >dmbx 3820cat >input <<'_ATEOF' 3821# Append new message 3822append msg 3823# Select it 38241 3825# Check if it is scanned and loaded 3826env_date 3827env_sender 3828headers 3829body_text 3830_ATEOF 3831 3832cat >msg <<'_ATEOF' 3833Received: (from hare@wonder.land) 3834 by wonder.land id 3301 3835 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 3836Date: Mon, 29 Jul 2002 22:00:01 +0100 3837From: March Hare <hare@wonder.land> 3838Message-Id: <200207292200.3301@wonder.land> 3839To: Alice <alice@wonder.land> 3840Subject: Invitation 3841Return-Path: hare@wonder.land 3842 3843Have some wine 3844_ATEOF 3845 3846MAIL=./dmbx 3847export MAIL 3848mbop < input 3849 3850 3851) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3852at_status=$? at_failed=false 3853$at_check_filter 3854at_fn_diff_devnull "$at_stderr" || at_failed=: 3855echo >>"$at_stdout"; $as_echo "append: OK 38561 current message 38571 env_date: Mon Jul 29 21:00:06 2002 38581 env_sender: hare@wonder.land 38591 headers: Received:(from hare@wonder.land) by wonder.land id 3301 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 3860Date:Mon, 29 Jul 2002 22:00:01 +0100 3861From:March Hare <hare@wonder.land> 3862Message-Id:<200207292200.3301@wonder.land> 3863To:Alice <alice@wonder.land> 3864Subject:Invitation 3865Return-Path:hare@wonder.land 3866 38671 body_text: Have some wine 3868 3869" | \ 3870 $at_diff - "$at_stdout" || at_failed=: 3871at_fn_check_status 0 $at_status "$at_srcdir/append.at:193" 3872$at_failed && at_fn_log_failure 3873$at_traceon; } 3874 3875 set +x 3876 $at_times_p && times >"$at_times_file" 3877) 5>&1 2>&1 7>&- | eval $at_tee_pipe 3878read at_status <"$at_status_file" 3879#AT_STOP_14 3880#AT_START_15 3881at_fn_group_banner 15 'append.at:236' \ 3882 "append mode" " " 3883at_xfail=no 3884( 3885 $as_echo "15. $at_setup_line: testing $at_desc ..." 3886 $at_traceon 3887 3888cat >inbox <<'_ATEOF' 3889Received: (from hare@wonder.land) 3890 by wonder.land id 3301 3891 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 3892Date: Mon, 29 Jul 2002 22:00:01 +0100 3893From: March Hare <hare@wonder.land> 3894Message-Id: <200207292200.3301@wonder.land> 3895To: Alice <alice@wonder.land> 3896Subject: Invitation 3897Return-Path: hare@wonder.land 3898X-IMAPbase: 10 3 3899X-UID: 1 3900 3901Have some wine 3902. 3903Received: (from alice@wonder.land) 3904 by wonder.land id 3302 3905 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 3906Date: Mon, 29 Jul 2002 22:00:02 +0100 3907From: Alice <alice@wonder.land> 3908Message-Id: <200207292200.3302@wonder.land> 3909To: March Hare <hare@wonder.land> 3910Subject: Re: Invitation 3911Return-Path: alice@wonder.land 3912X-UID: 2 3913 3914I don't see any wine 3915. 3916_ATEOF 3917 3918cat >msg <<'_ATEOF' 3919Received: (from hare@wonder.land) 3920 by wonder.land id 3303 3921 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 3922Date: Mon, 29 Jul 2002 22:00:03 +0100 3923From: March Hare <hare@wonder.land> 3924Message-Id: <200207292200.3303@wonder.land> 3925To: Alice <alice@wonder.land> 3926Subject: Re: Invitation 3927Return-Path: hare@wonder.land 3928 3929There isn't any 3930_ATEOF 3931 3932{ set +x 3933$as_echo "$at_srcdir/append.at:279: mbop -a -m inbox append msg" 3934at_fn_check_prepare_trace "append.at:279" 3935( $at_check_trace; mbop -a -m inbox append msg 3936) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3937at_status=$? at_failed=false 3938$at_check_filter 3939at_fn_diff_devnull "$at_stderr" || at_failed=: 3940echo >>"$at_stdout"; $as_echo "append: OK 3941" | \ 3942 $at_diff - "$at_stdout" || at_failed=: 3943at_fn_check_status 0 $at_status "$at_srcdir/append.at:279" 3944$at_failed && at_fn_log_failure 3945$at_traceon; } 3946 3947{ set +x 3948$as_echo "$at_srcdir/append.at:283: grep X-UID inbox" 3949at_fn_check_prepare_trace "append.at:283" 3950( $at_check_trace; grep X-UID inbox 3951) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3952at_status=$? at_failed=false 3953$at_check_filter 3954at_fn_diff_devnull "$at_stderr" || at_failed=: 3955echo >>"$at_stdout"; $as_echo "X-UID: 1 3956X-UID: 2 3957X-UID: 3 3958" | \ 3959 $at_diff - "$at_stdout" || at_failed=: 3960at_fn_check_status 0 $at_status "$at_srcdir/append.at:283" 3961$at_failed && at_fn_log_failure 3962$at_traceon; } 3963 3964{ set +x 3965$as_echo "$at_srcdir/append.at:289: grep X-IMAPbase inbox | tr -s ' '" 3966at_fn_check_prepare_notrace 'a shell pipeline' "append.at:289" 3967( $at_check_trace; grep X-IMAPbase inbox | tr -s ' ' 3968) >>"$at_stdout" 2>>"$at_stderr" 5>&- 3969at_status=$? at_failed=false 3970$at_check_filter 3971at_fn_diff_devnull "$at_stderr" || at_failed=: 3972echo >>"$at_stdout"; $as_echo "X-IMAPbase: 10 4 3973" | \ 3974 $at_diff - "$at_stdout" || at_failed=: 3975at_fn_check_status 0 $at_status "$at_srcdir/append.at:289" 3976$at_failed && at_fn_log_failure 3977$at_traceon; } 3978 3979 set +x 3980 $at_times_p && times >"$at_times_file" 3981) 5>&1 2>&1 7>&- | eval $at_tee_pipe 3982read at_status <"$at_status_file" 3983#AT_STOP_15 3984#AT_START_16 3985at_fn_group_banner 16 'notify.at:17' \ 3986 "append notification" " " 3987at_xfail=no 3988( 3989 $as_echo "16. $at_setup_line: testing $at_desc ..." 3990 $at_traceon 3991 3992 3993cat >inbox <<'_ATEOF' 3994Received: (from hare@wonder.land) 3995 by wonder.land id 3301 3996 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 3997Date: Mon, 29 Jul 2002 22:00:01 +0100 3998From: March Hare <hare@wonder.land> 3999Message-Id: <200207292200.3301@wonder.land> 4000To: Alice <alice@wonder.land> 4001Subject: Invitation 4002Return-Path: hare@wonder.land 4003 4004Have some wine 4005. 4006Received: (from alice@wonder.land) 4007 by wonder.land id 3302 4008 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 4009Date: Mon, 29 Jul 2002 22:00:02 +0100 4010From: Alice <alice@wonder.land> 4011Message-Id: <200207292200.3302@wonder.land> 4012To: March Hare <hare@wonder.land> 4013Subject: Re: Invitation 4014Return-Path: alice@wonder.land 4015 4016I don't see any wine 4017. 4018Received: (from hare@wonder.land) 4019 by wonder.land id 3303 4020 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 4021Date: Mon, 29 Jul 2002 22:00:03 +0100 4022From: March Hare <hare@wonder.land> 4023Message-Id: <200207292200.3303@wonder.land> 4024To: Alice <alice@wonder.land> 4025Subject: Re: Invitation 4026Return-Path: hare@wonder.land 4027 4028There isn't any 4029. 4030_ATEOF 4031 4032cat >msg <<'_ATEOF' 4033Received: (from alice@wonder.land) 4034 by wonder.land id 3304 4035 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 4036Date: Mon, 29 Jul 2002 22:00:04 +0100 4037From: Alice <alice@wonder.land> 4038Message-Id: <200207292200.3304@wonder.land> 4039To: March Hare <hare@wonder.land> 4040Subject: Re: Invitation 4041Return-Path: alice@wonder.land 4042X-UID: 1034 4043 4044Then it wasn't very civil of you to offer it 4045_ATEOF 4046 4047{ set +x 4048$as_echo "$at_srcdir/notify.at:71: mbop -m inbox --notify append msg 4049" 4050at_fn_check_prepare_notrace 'an embedded newline' "notify.at:71" 4051( $at_check_trace; mbop -m inbox --notify append msg 4052 4053) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4054at_status=$? at_failed=false 4055$at_check_filter 4056echo >>"$at_stderr"; $as_echo "mbop: new message: Alice <alice@wonder.land> Re: Invitation 4057" | \ 4058 $at_diff - "$at_stderr" || at_failed=: 4059echo >>"$at_stdout"; $as_echo "append: OK 4060" | \ 4061 $at_diff - "$at_stdout" || at_failed=: 4062at_fn_check_status 0 $at_status "$at_srcdir/notify.at:71" 4063$at_failed && at_fn_log_failure 4064$at_traceon; } 4065 4066 set +x 4067 $at_times_p && times >"$at_times_file" 4068) 5>&1 2>&1 7>&- | eval $at_tee_pipe 4069read at_status <"$at_status_file" 4070#AT_STOP_16 4071#AT_START_17 4072at_fn_group_banner 17 'delete.at:17' \ 4073 "delete" " " 4074at_xfail=no 4075( 4076 $as_echo "17. $at_setup_line: testing $at_desc ..." 4077 $at_traceon 4078 4079 4080cat >inbox <<'_ATEOF' 4081Received: (from hare@wonder.land) 4082 by wonder.land id 3301 4083 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 4084Date: Mon, 29 Jul 2002 22:00:01 +0100 4085From: March Hare <hare@wonder.land> 4086Message-Id: <200207292200.3301@wonder.land> 4087To: Alice <alice@wonder.land> 4088Subject: Invitation 4089X-IMAPbase: 10 9 4090X-UID: 1 4091 4092Have some wine 4093. 4094Received: (from alice@wonder.land) 4095 by wonder.land id 3302 4096 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 4097Date: Mon, 29 Jul 2002 22:00:02 +0100 4098From: Alice <alice@wonder.land> 4099Message-Id: <200207292200.3302@wonder.land> 4100To: March Hare <hare@wonder.land> 4101Subject: Re: Invitation 4102X-UID: 2 4103 4104I don't see any wine 4105. 4106Received: (from hare@wonder.land) 4107 by wonder.land id 3303 4108 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 4109Date: Mon, 29 Jul 2002 22:00:03 +0100 4110From: March Hare <hare@wonder.land> 4111Message-Id: <200207292200.3303@wonder.land> 4112To: Alice <alice@wonder.land> 4113Subject: Re: Invitation 4114X-UID: 3 4115 4116There isn't any 4117. 4118Received: (from alice@wonder.land) 4119 by wonder.land id 3304 4120 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 4121Date: Mon, 29 Jul 2002 22:00:04 +0100 4122From: Alice <alice@wonder.land> 4123Message-Id: <200207292200.3304@wonder.land> 4124To: March Hare <hare@wonder.land> 4125Subject: Re: Invitation 4126X-UID: 4 4127 4128Then it wasn't very civil of you to offer it 4129. 4130Received: (from hare@wonder.land) 4131 by wonder.land id 3305 4132 for alice@wonder.land; Mon, 29 Jul 2002 22:00:10 +0100 4133Date: Mon, 29 Jul 2002 22:00:05 +0100 4134From: March Hare <hare@wonder.land> 4135Message-Id: <200207292200.3305@wonder.land> 4136To: Alice <alice@wonder.land> 4137Subject: Re: Invitation 4138X-UID: 5 4139 4140It wasn't very civil of you to sit down without being invited 4141. 4142Received: (from alice@wonder.land) 4143 by wonder.land id 3306 4144 for hare@wonder.land; Mon, 29 Jul 2002 22:00:11 +0100 4145Date: Mon, 29 Jul 2002 22:00:06 +0100 4146From: Alice <alice@wonder.land> 4147Message-Id: <200207292200.3306@wonder.land> 4148To: March Hare <hare@wonder.land> 4149Subject: Re: Invitation 4150X-UID: 6 4151 4152I didn't know it was YOUR table, it's laid for a 4153great many more than three. 4154. 4155_ATEOF 4156 4157# -------------------------- 4158 4159cat >commands <<'_ATEOF' 41603 4161set_deleted 4162expunge 4163count 4164# Message 4 becomes 3 after expunge. Re-select it. 41653 4166uid 4167headers 4168_ATEOF 4169 4170 4171{ set +x 4172$as_echo "$at_srcdir/delete.at:108: cp inbox inbox1 4173cp inbox inbox2" 4174at_fn_check_prepare_notrace 'an embedded newline' "delete.at:108" 4175( $at_check_trace; cp inbox inbox1 4176cp inbox inbox2 4177) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4178at_status=$? at_failed=false 4179$at_check_filter 4180at_fn_diff_devnull "$at_stderr" || at_failed=: 4181at_fn_diff_devnull "$at_stdout" || at_failed=: 4182at_fn_check_status 0 $at_status "$at_srcdir/delete.at:108" 4183$at_failed && at_fn_log_failure 4184$at_traceon; } 4185 4186 4187{ set +x 4188$as_echo "$at_srcdir/delete.at:111: mbop -m inbox < commands" 4189at_fn_check_prepare_trace "delete.at:111" 4190( $at_check_trace; mbop -m inbox < commands 4191) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4192at_status=$? at_failed=false 4193$at_check_filter 4194at_fn_diff_devnull "$at_stderr" || at_failed=: 4195echo >>"$at_stdout"; $as_echo "3 current message 41963 set_deleted: OK 4197expunge: OK 4198count: 5 41993 current message 42003 uid: 4 42013 headers: Received:(from alice@wonder.land) by wonder.land id 3304 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 4202Date:Mon, 29 Jul 2002 22:00:04 +0100 4203From:Alice <alice@wonder.land> 4204Message-Id:<200207292200.3304@wonder.land> 4205To:March Hare <hare@wonder.land> 4206Subject:Re: Invitation 4207X-UID:4 4208 4209" | \ 4210 $at_diff - "$at_stdout" || at_failed=: 4211at_fn_check_status 0 $at_status "$at_srcdir/delete.at:111" 4212$at_failed && at_fn_log_failure 4213$at_traceon; } 4214 4215 4216cat >commands1 <<'_ATEOF' 42171 4218set_deleted 42192 4220set_deleted 42215 4222set_deleted 4223expunge 4224count 42251 4226uid 4227headers 42282 4229uid 4230headers 42313 4232uid 4233headers 4234_ATEOF 4235 4236 4237{ set +x 4238$as_echo "$at_srcdir/delete.at:149: mbop -m inbox1 < commands1|x_imapbase_normalize" 4239at_fn_check_prepare_notrace 'a shell pipeline' "delete.at:149" 4240( $at_check_trace; mbop -m inbox1 < commands1|x_imapbase_normalize 4241) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4242at_status=$? at_failed=false 4243$at_check_filter 4244at_fn_diff_devnull "$at_stderr" || at_failed=: 4245echo >>"$at_stdout"; $as_echo "1 current message 42461 set_deleted: OK 42472 current message 42482 set_deleted: OK 42495 current message 42505 set_deleted: OK 4251expunge: OK 4252count: 3 42531 current message 42541 uid: 3 42551 headers: Received:(from hare@wonder.land) by wonder.land id 3303 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 4256Date:Mon, 29 Jul 2002 22:00:03 +0100 4257From:March Hare <hare@wonder.land> 4258Message-Id:<200207292200.3303@wonder.land> 4259To:Alice <alice@wonder.land> 4260Subject:Re: Invitation 4261X-IMAPbase:10 9 4262X-UID:3 4263 42642 current message 42652 uid: 4 42662 headers: Received:(from alice@wonder.land) by wonder.land id 3304 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 4267Date:Mon, 29 Jul 2002 22:00:04 +0100 4268From:Alice <alice@wonder.land> 4269Message-Id:<200207292200.3304@wonder.land> 4270To:March Hare <hare@wonder.land> 4271Subject:Re: Invitation 4272X-UID:4 4273 42743 current message 42753 uid: 6 42763 headers: Received:(from alice@wonder.land) by wonder.land id 3306 for hare@wonder.land; Mon, 29 Jul 2002 22:00:11 +0100 4277Date:Mon, 29 Jul 2002 22:00:06 +0100 4278From:Alice <alice@wonder.land> 4279Message-Id:<200207292200.3306@wonder.land> 4280To:March Hare <hare@wonder.land> 4281Subject:Re: Invitation 4282X-UID:6 4283 4284" | \ 4285 $at_diff - "$at_stdout" || at_failed=: 4286at_fn_check_status 0 $at_status "$at_srcdir/delete.at:149" 4287$at_failed && at_fn_log_failure 4288$at_traceon; } 4289 4290 4291# ## 4292cat >commands1a <<'_ATEOF' 4293count 42941 4295uid 4296headers 42972 4298uid 4299headers 43003 4301uid 4302headers 4303_ATEOF 4304 4305 4306{ set +x 4307$as_echo "$at_srcdir/delete.at:206: mbop -m inbox1 < commands1a|x_imapbase_normalize" 4308at_fn_check_prepare_notrace 'a shell pipeline' "delete.at:206" 4309( $at_check_trace; mbop -m inbox1 < commands1a|x_imapbase_normalize 4310) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4311at_status=$? at_failed=false 4312$at_check_filter 4313at_fn_diff_devnull "$at_stderr" || at_failed=: 4314echo >>"$at_stdout"; $as_echo "count: 3 43151 current message 43161 uid: 3 43171 headers: Received:(from hare@wonder.land) by wonder.land id 3303 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 4318Date:Mon, 29 Jul 2002 22:00:03 +0100 4319From:March Hare <hare@wonder.land> 4320Message-Id:<200207292200.3303@wonder.land> 4321To:Alice <alice@wonder.land> 4322Subject:Re: Invitation 4323X-IMAPbase:10 9 4324X-UID:3 4325 43262 current message 43272 uid: 4 43282 headers: Received:(from alice@wonder.land) by wonder.land id 3304 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 4329Date:Mon, 29 Jul 2002 22:00:04 +0100 4330From:Alice <alice@wonder.land> 4331Message-Id:<200207292200.3304@wonder.land> 4332To:March Hare <hare@wonder.land> 4333Subject:Re: Invitation 4334X-UID:4 4335 43363 current message 43373 uid: 6 43383 headers: Received:(from alice@wonder.land) by wonder.land id 3306 for hare@wonder.land; Mon, 29 Jul 2002 22:00:11 +0100 4339Date:Mon, 29 Jul 2002 22:00:06 +0100 4340From:Alice <alice@wonder.land> 4341Message-Id:<200207292200.3306@wonder.land> 4342To:March Hare <hare@wonder.land> 4343Subject:Re: Invitation 4344X-UID:6 4345 4346" | \ 4347 $at_diff - "$at_stdout" || at_failed=: 4348at_fn_check_status 0 $at_status "$at_srcdir/delete.at:206" 4349$at_failed && at_fn_log_failure 4350$at_traceon; } 4351 4352 4353# ## 4354cat >commands2 <<'_ATEOF' 43551 4356set_deleted 43573 4358set_deleted 43595 4360set_deleted 4361expunge 4362count 43631 4364uid 4365headers 43662 4367uid 4368headers 43693 4370uid 4371headers 4372_ATEOF 4373 4374 4375{ set +x 4376$as_echo "$at_srcdir/delete.at:263: mbop -m inbox2 < commands2|x_imapbase_normalize" 4377at_fn_check_prepare_notrace 'a shell pipeline' "delete.at:263" 4378( $at_check_trace; mbop -m inbox2 < commands2|x_imapbase_normalize 4379) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4380at_status=$? at_failed=false 4381$at_check_filter 4382at_fn_diff_devnull "$at_stderr" || at_failed=: 4383echo >>"$at_stdout"; $as_echo "1 current message 43841 set_deleted: OK 43853 current message 43863 set_deleted: OK 43875 current message 43885 set_deleted: OK 4389expunge: OK 4390count: 3 43911 current message 43921 uid: 2 43931 headers: Received:(from alice@wonder.land) by wonder.land id 3302 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 4394Date:Mon, 29 Jul 2002 22:00:02 +0100 4395From:Alice <alice@wonder.land> 4396Message-Id:<200207292200.3302@wonder.land> 4397To:March Hare <hare@wonder.land> 4398Subject:Re: Invitation 4399X-IMAPbase:10 9 4400X-UID:2 4401 44022 current message 44032 uid: 4 44042 headers: Received:(from alice@wonder.land) by wonder.land id 3304 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 4405Date:Mon, 29 Jul 2002 22:00:04 +0100 4406From:Alice <alice@wonder.land> 4407Message-Id:<200207292200.3304@wonder.land> 4408To:March Hare <hare@wonder.land> 4409Subject:Re: Invitation 4410X-UID:4 4411 44123 current message 44133 uid: 6 44143 headers: Received:(from alice@wonder.land) by wonder.land id 3306 for hare@wonder.land; Mon, 29 Jul 2002 22:00:11 +0100 4415Date:Mon, 29 Jul 2002 22:00:06 +0100 4416From:Alice <alice@wonder.land> 4417Message-Id:<200207292200.3306@wonder.land> 4418To:March Hare <hare@wonder.land> 4419Subject:Re: Invitation 4420X-UID:6 4421 4422" | \ 4423 $at_diff - "$at_stdout" || at_failed=: 4424at_fn_check_status 0 $at_status "$at_srcdir/delete.at:263" 4425$at_failed && at_fn_log_failure 4426$at_traceon; } 4427 4428 4429cat >commands2a <<'_ATEOF' 4430count 44311 4432uid 4433headers 44342 4435uid 4436headers 44373 4438uid 4439headers 4440_ATEOF 4441 4442 4443{ set +x 4444$as_echo "$at_srcdir/delete.at:319: mbop -m inbox2 < commands2a|x_imapbase_normalize" 4445at_fn_check_prepare_notrace 'a shell pipeline' "delete.at:319" 4446( $at_check_trace; mbop -m inbox2 < commands2a|x_imapbase_normalize 4447) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4448at_status=$? at_failed=false 4449$at_check_filter 4450at_fn_diff_devnull "$at_stderr" || at_failed=: 4451echo >>"$at_stdout"; $as_echo "count: 3 44521 current message 44531 uid: 2 44541 headers: Received:(from alice@wonder.land) by wonder.land id 3302 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 4455Date:Mon, 29 Jul 2002 22:00:02 +0100 4456From:Alice <alice@wonder.land> 4457Message-Id:<200207292200.3302@wonder.land> 4458To:March Hare <hare@wonder.land> 4459Subject:Re: Invitation 4460X-IMAPbase:10 9 4461X-UID:2 4462 44632 current message 44642 uid: 4 44652 headers: Received:(from alice@wonder.land) by wonder.land id 3304 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 4466Date:Mon, 29 Jul 2002 22:00:04 +0100 4467From:Alice <alice@wonder.land> 4468Message-Id:<200207292200.3304@wonder.land> 4469To:March Hare <hare@wonder.land> 4470Subject:Re: Invitation 4471X-UID:4 4472 44733 current message 44743 uid: 6 44753 headers: Received:(from alice@wonder.land) by wonder.land id 3306 for hare@wonder.land; Mon, 29 Jul 2002 22:00:11 +0100 4476Date:Mon, 29 Jul 2002 22:00:06 +0100 4477From:Alice <alice@wonder.land> 4478Message-Id:<200207292200.3306@wonder.land> 4479To:March Hare <hare@wonder.land> 4480Subject:Re: Invitation 4481X-UID:6 4482 4483" | \ 4484 $at_diff - "$at_stdout" || at_failed=: 4485at_fn_check_status 0 $at_status "$at_srcdir/delete.at:319" 4486$at_failed && at_fn_log_failure 4487$at_traceon; } 4488 4489 4490 set +x 4491 $at_times_p && times >"$at_times_file" 4492) 5>&1 2>&1 7>&- | eval $at_tee_pipe 4493read at_status <"$at_status_file" 4494#AT_STOP_17 4495#AT_START_18 4496at_fn_group_banner 18 'uidnext.at:17' \ 4497 "UID monotonicity" " " 4498at_xfail=no 4499( 4500 $as_echo "18. $at_setup_line: testing $at_desc ..." 4501 $at_traceon 4502 4503cat >inbox <<'_ATEOF' 4504Received: (from hare@wonder.land) 4505 by wonder.land id 3301 4506 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 4507Date: Mon, 29 Jul 2002 22:00:01 +0100 4508From: March Hare <hare@wonder.land> 4509Message-Id: <200207292200.3301@wonder.land> 4510To: Alice <alice@wonder.land> 4511Subject: Invitation 4512Return-Path: hare@wonder.land 4513Status: O 4514X-UID: 10 4515X-IMAPbase: 10 1001 4516 4517Have some wine 4518. 4519Received: (from alice@wonder.land) 4520 by wonder.land id 3302 4521 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 4522Date: Mon, 29 Jul 2002 22:00:02 +0100 4523From: Alice <alice@wonder.land> 4524Message-Id: <200207292200.3302@wonder.land> 4525To: March Hare <hare@wonder.land> 4526Subject: Re: Invitation 4527Return-Path: alice@wonder.land 4528X-UID: 11 4529 4530I don't see any wine 4531. 4532_ATEOF 4533 4534 4535# Test initial mailbox status 4536{ set +x 4537$as_echo "$at_srcdir/uidnext.at:50: mbop -m inbox count \\; uidnext \\; uidvalidity" 4538at_fn_check_prepare_trace "uidnext.at:50" 4539( $at_check_trace; mbop -m inbox count \; uidnext \; uidvalidity 4540) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4541at_status=$? at_failed=false 4542$at_check_filter 4543at_fn_diff_devnull "$at_stderr" || at_failed=: 4544echo >>"$at_stdout"; $as_echo "count: 2 4545uidnext: 1001 4546uidvalidity: 10 4547" | \ 4548 $at_diff - "$at_stdout" || at_failed=: 4549at_fn_check_status 0 $at_status "$at_srcdir/uidnext.at:50" 4550$at_failed && at_fn_log_failure 4551$at_traceon; } 4552 4553 4554# Prepare the message to append. 4555cat >msg1 <<'_ATEOF' 4556Received: (from hare@wonder.land) 4557 by wonder.land id 3303 4558 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 4559Date: Mon, 29 Jul 2002 22:00:03 +0100 4560From: March Hare <hare@wonder.land> 4561Message-Id: <200207292200.3303@wonder.land> 4562To: Alice <alice@wonder.land> 4563Subject: Re: Invitation 4564Return-Path: hare@wonder.land 4565 4566There isn't any 4567_ATEOF 4568 4569 4570# Append message; check mailbox status 4571{ set +x 4572$as_echo "$at_srcdir/uidnext.at:73: mbop -m inbox append msg1 \\; 3 \\; uid \\; uidnext \\; uidvalidity" 4573at_fn_check_prepare_trace "uidnext.at:73" 4574( $at_check_trace; mbop -m inbox append msg1 \; 3 \; uid \; uidnext \; uidvalidity 4575) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4576at_status=$? at_failed=false 4577$at_check_filter 4578at_fn_diff_devnull "$at_stderr" || at_failed=: 4579echo >>"$at_stdout"; $as_echo "append: OK 45803 current message 45813 uid: 1001 4582uidnext: 1002 4583uidvalidity: 10 4584" | \ 4585 $at_diff - "$at_stdout" || at_failed=: 4586at_fn_check_status 0 $at_status "$at_srcdir/uidnext.at:73" 4587$at_failed && at_fn_log_failure 4588$at_traceon; } 4589 4590 4591# Test mailbox status after close. 4592{ set +x 4593$as_echo "$at_srcdir/uidnext.at:83: mbop -m inbox count \\; uidnext \\; uidvalidity" 4594at_fn_check_prepare_trace "uidnext.at:83" 4595( $at_check_trace; mbop -m inbox count \; uidnext \; uidvalidity 4596) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4597at_status=$? at_failed=false 4598$at_check_filter 4599at_fn_diff_devnull "$at_stderr" || at_failed=: 4600echo >>"$at_stdout"; $as_echo "count: 3 4601uidnext: 1002 4602uidvalidity: 10 4603" | \ 4604 $at_diff - "$at_stdout" || at_failed=: 4605at_fn_check_status 0 $at_status "$at_srcdir/uidnext.at:83" 4606$at_failed && at_fn_log_failure 4607$at_traceon; } 4608 4609 4610# Delete the message 4611{ set +x 4612$as_echo "$at_srcdir/uidnext.at:91: mbop -m inbox 3 \\; set_deleted \\; expunge" 4613at_fn_check_prepare_trace "uidnext.at:91" 4614( $at_check_trace; mbop -m inbox 3 \; set_deleted \; expunge 4615) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4616at_status=$? at_failed=false 4617$at_check_filter 4618at_fn_diff_devnull "$at_stderr" || at_failed=: 4619echo >>"$at_stdout"; $as_echo "3 current message 46203 set_deleted: OK 4621expunge: OK 4622" | \ 4623 $at_diff - "$at_stdout" || at_failed=: 4624at_fn_check_status 0 $at_status "$at_srcdir/uidnext.at:91" 4625$at_failed && at_fn_log_failure 4626$at_traceon; } 4627 4628 4629# Test mailbox status after delete 4630{ set +x 4631$as_echo "$at_srcdir/uidnext.at:99: mbop -m inbox count \\; uidnext \\; uidvalidity" 4632at_fn_check_prepare_trace "uidnext.at:99" 4633( $at_check_trace; mbop -m inbox count \; uidnext \; uidvalidity 4634) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4635at_status=$? at_failed=false 4636$at_check_filter 4637at_fn_diff_devnull "$at_stderr" || at_failed=: 4638echo >>"$at_stdout"; $as_echo "count: 2 4639uidnext: 1002 4640uidvalidity: 10 4641" | \ 4642 $at_diff - "$at_stdout" || at_failed=: 4643at_fn_check_status 0 $at_status "$at_srcdir/uidnext.at:99" 4644$at_failed && at_fn_log_failure 4645$at_traceon; } 4646 4647 4648# Append the message again and check status 4649{ set +x 4650$as_echo "$at_srcdir/uidnext.at:107: mbop -m inbox append msg1 \\; 3 \\; uid \\; uidnext \\; uidvalidity" 4651at_fn_check_prepare_trace "uidnext.at:107" 4652( $at_check_trace; mbop -m inbox append msg1 \; 3 \; uid \; uidnext \; uidvalidity 4653) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4654at_status=$? at_failed=false 4655$at_check_filter 4656at_fn_diff_devnull "$at_stderr" || at_failed=: 4657echo >>"$at_stdout"; $as_echo "append: OK 46583 current message 46593 uid: 1002 4660uidnext: 1003 4661uidvalidity: 10 4662" | \ 4663 $at_diff - "$at_stdout" || at_failed=: 4664at_fn_check_status 0 $at_status "$at_srcdir/uidnext.at:107" 4665$at_failed && at_fn_log_failure 4666$at_traceon; } 4667 4668 4669# Test mailbox status after append 4670{ set +x 4671$as_echo "$at_srcdir/uidnext.at:117: mbop -m inbox count \\; uidnext \\; uidvalidity" 4672at_fn_check_prepare_trace "uidnext.at:117" 4673( $at_check_trace; mbop -m inbox count \; uidnext \; uidvalidity 4674) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4675at_status=$? at_failed=false 4676$at_check_filter 4677at_fn_diff_devnull "$at_stderr" || at_failed=: 4678echo >>"$at_stdout"; $as_echo "count: 3 4679uidnext: 1003 4680uidvalidity: 10 4681" | \ 4682 $at_diff - "$at_stdout" || at_failed=: 4683at_fn_check_status 0 $at_status "$at_srcdir/uidnext.at:117" 4684$at_failed && at_fn_log_failure 4685$at_traceon; } 4686 4687 4688# Retry all in one session. 4689cat >cmd <<'_ATEOF' 46903 4691set_deleted 4692expunge 4693uidnext 4694uidvalidity 4695append msg1 46963 4697uid 4698uidnext 4699uidvalidity 4700_ATEOF 4701 4702 4703{ set +x 4704$as_echo "$at_srcdir/uidnext.at:138: mbop -m inbox < cmd" 4705at_fn_check_prepare_trace "uidnext.at:138" 4706( $at_check_trace; mbop -m inbox < cmd 4707) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4708at_status=$? at_failed=false 4709$at_check_filter 4710at_fn_diff_devnull "$at_stderr" || at_failed=: 4711echo >>"$at_stdout"; $as_echo "3 current message 47123 set_deleted: OK 4713expunge: OK 4714uidnext: 1003 4715uidvalidity: 10 4716append: OK 47173 current message 47183 uid: 1003 4719uidnext: 1004 4720uidvalidity: 10 4721" | \ 4722 $at_diff - "$at_stdout" || at_failed=: 4723at_fn_check_status 0 $at_status "$at_srcdir/uidnext.at:138" 4724$at_failed && at_fn_log_failure 4725$at_traceon; } 4726 4727 4728 set +x 4729 $at_times_p && times >"$at_times_file" 4730) 5>&1 2>&1 7>&- | eval $at_tee_pipe 4731read at_status <"$at_status_file" 4732#AT_STOP_18 4733#AT_START_19 4734at_fn_group_banner 19 'autodetect.at:17' \ 4735 "format detection" " " 4736at_xfail=no 4737( 4738 $as_echo "19. $at_setup_line: testing $at_desc ..." 4739 $at_traceon 4740 4741 4742{ set +x 4743$as_echo "$at_srcdir/autodetect.at:19: : >empty 4744 4745# Valid dotmail mailbox 4746cat >dotmail <<'_ATEOF' 4747Received: (from hare@wonder.land) 4748 by wonder.land id 3301 4749 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 4750Date: Mon, 29 Jul 2002 22:00:01 +0100 4751From: March Hare <hare@wonder.land> 4752Message-Id: <200207292200.3301@wonder.land> 4753To: Alice <alice@wonder.land> 4754Subject: Invitation 4755Return-Path: hare@wonder.land 4756 4757Have some wine 4758. 4759Received: (from alice@wonder.land) 4760 by wonder.land id 3302 4761 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 4762Date: Mon, 29 Jul 2002 22:00:02 +0100 4763From: Alice <alice@wonder.land> 4764Message-Id: <200207292200.3302@wonder.land> 4765To: March Hare <hare@wonder.land> 4766Subject: Re: Invitation 4767Return-Path: alice@wonder.land 4768 4769I don't see any wine 4770. 4771_ATEOF 4772 4773 4774# Valid mbox mailbox 4775cat >mbox <<'_ATEOF' 4776From hare@wonder.land Mon Jul 29 22:00:08 2002 4777Received: (from hare@wonder.land) 4778 by wonder.land id 3301 4779 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 4780Date: Mon, 29 Jul 2002 22:00:01 +0100 4781From: March Hare <hare@wonder.land> 4782Message-Id: <200207292200.3301@wonder.land> 4783To: Alice <alice@wonder.land> 4784Subject: Invitation 4785 4786Have some wine 4787 4788_ATEOF 4789 4790 4791# Malformed dotmail: no final dot 4792cat >nodot <<'_ATEOF' 4793Received: (from hare@wonder.land) 4794 by wonder.land id 3301 4795 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 4796Date: Mon, 29 Jul 2002 22:00:01 +0100 4797From: March Hare <hare@wonder.land> 4798Message-Id: <200207292200.3301@wonder.land> 4799To: Alice <alice@wonder.land> 4800Subject: Invitation 4801Return-Path: hare@wonder.land 4802 4803Have some wine 4804. 4805Received: (from alice@wonder.land) 4806 by wonder.land id 3302 4807 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 4808Date: Mon, 29 Jul 2002 22:00:02 +0100 4809From: Alice <alice@wonder.land> 4810Message-Id: <200207292200.3302@wonder.land> 4811To: March Hare <hare@wonder.land> 4812Subject: Re: Invitation 4813Return-Path: alice@wonder.land 4814 4815I don't see any wine 4816_ATEOF 4817 4818 4819# Garbage input that is similar to header line 4820cat >badheader <<'_ATEOF' 4821Something-that-looks-like-A%: header 4822text 4823. 4824_ATEOF 4825 4826 4827# Garbage input 4828cat >garbage <<'_ATEOF' 4829ZZKTJVLRF97GGVYv+hMsbO2gHUe/4ra31zXffN9vS10FG8lUBixFJJ9kv+F1/5muYhG6n2JrrLC9ZScpn9zNRrMqLVH/9slNBadT6fZL9hAmxyYQUMbqcCmsmn3A7rNVfKgfubufBpsUg/dzqsJWN4DOPQACSVYMY2DIGmEYt2Rdt3s1/VdpJZhaHEETWQzXyaG0iAZn4r2iD2InJHPOalG7WJhj1cCHHToEA029GRMx6uHhOWBjXT5P0H3ebhEujbIBj9e6aX5u42jg/+YuCoVpy8fbESHiB3gc9ijKgyGrVLBQLkikc6sK7E8xjwGhu75G4LKVTctff8UyqRjgUR5eA7TuI9+VmCnO7pf5LR/QDFzV1smrfR1BzX3dudbjdCyR3xW2oYFyWRJDlycFULVuRmG87u795P4DOeH6/+I32AnJeJNX40vEzprqQwdxdkifBtcDiKvhcecFgbQLIw4OKrOEuFBMraViHC6ZFkLBNf6aXBk+xiv6U8ogDH4a1+ 4830_ATEOF 4831 4832export MU_AUTODETECT_ACCURACY 4833for MU_AUTODETECT_ACCURACY in 0 1 2 4834do 4835 echo \"MU_AUTODETECT_ACCURACY=\$MU_AUTODETECT_ACCURACY\" 4836 for mbox in empty dotmail mbox nodot badheader garbage 4837 do 4838 mbop --mailbox \$mbox --detect 4839 done 4840done 4841exit 0 4842" 4843at_fn_check_prepare_notrace 'an embedded newline' "autodetect.at:19" 4844( $at_check_trace; : >empty 4845 4846# Valid dotmail mailbox 4847cat >dotmail <<'_ATEOF' 4848Received: (from hare@wonder.land) 4849 by wonder.land id 3301 4850 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 4851Date: Mon, 29 Jul 2002 22:00:01 +0100 4852From: March Hare <hare@wonder.land> 4853Message-Id: <200207292200.3301@wonder.land> 4854To: Alice <alice@wonder.land> 4855Subject: Invitation 4856Return-Path: hare@wonder.land 4857 4858Have some wine 4859. 4860Received: (from alice@wonder.land) 4861 by wonder.land id 3302 4862 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 4863Date: Mon, 29 Jul 2002 22:00:02 +0100 4864From: Alice <alice@wonder.land> 4865Message-Id: <200207292200.3302@wonder.land> 4866To: March Hare <hare@wonder.land> 4867Subject: Re: Invitation 4868Return-Path: alice@wonder.land 4869 4870I don't see any wine 4871. 4872_ATEOF 4873 4874 4875# Valid mbox mailbox 4876cat >mbox <<'_ATEOF' 4877From hare@wonder.land Mon Jul 29 22:00:08 2002 4878Received: (from hare@wonder.land) 4879 by wonder.land id 3301 4880 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 4881Date: Mon, 29 Jul 2002 22:00:01 +0100 4882From: March Hare <hare@wonder.land> 4883Message-Id: <200207292200.3301@wonder.land> 4884To: Alice <alice@wonder.land> 4885Subject: Invitation 4886 4887Have some wine 4888 4889_ATEOF 4890 4891 4892# Malformed dotmail: no final dot 4893cat >nodot <<'_ATEOF' 4894Received: (from hare@wonder.land) 4895 by wonder.land id 3301 4896 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 4897Date: Mon, 29 Jul 2002 22:00:01 +0100 4898From: March Hare <hare@wonder.land> 4899Message-Id: <200207292200.3301@wonder.land> 4900To: Alice <alice@wonder.land> 4901Subject: Invitation 4902Return-Path: hare@wonder.land 4903 4904Have some wine 4905. 4906Received: (from alice@wonder.land) 4907 by wonder.land id 3302 4908 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 4909Date: Mon, 29 Jul 2002 22:00:02 +0100 4910From: Alice <alice@wonder.land> 4911Message-Id: <200207292200.3302@wonder.land> 4912To: March Hare <hare@wonder.land> 4913Subject: Re: Invitation 4914Return-Path: alice@wonder.land 4915 4916I don't see any wine 4917_ATEOF 4918 4919 4920# Garbage input that is similar to header line 4921cat >badheader <<'_ATEOF' 4922Something-that-looks-like-A%: header 4923text 4924. 4925_ATEOF 4926 4927 4928# Garbage input 4929cat >garbage <<'_ATEOF' 4930ZZKTJVLRF97GGVYv+hMsbO2gHUe/4ra31zXffN9vS10FG8lUBixFJJ9kv+F1/5muYhG6n2JrrLC9ZScpn9zNRrMqLVH/9slNBadT6fZL9hAmxyYQUMbqcCmsmn3A7rNVfKgfubufBpsUg/dzqsJWN4DOPQACSVYMY2DIGmEYt2Rdt3s1/VdpJZhaHEETWQzXyaG0iAZn4r2iD2InJHPOalG7WJhj1cCHHToEA029GRMx6uHhOWBjXT5P0H3ebhEujbIBj9e6aX5u42jg/+YuCoVpy8fbESHiB3gc9ijKgyGrVLBQLkikc6sK7E8xjwGhu75G4LKVTctff8UyqRjgUR5eA7TuI9+VmCnO7pf5LR/QDFzV1smrfR1BzX3dudbjdCyR3xW2oYFyWRJDlycFULVuRmG87u795P4DOeH6/+I32AnJeJNX40vEzprqQwdxdkifBtcDiKvhcecFgbQLIw4OKrOEuFBMraViHC6ZFkLBNf6aXBk+xiv6U8ogDH4a1+ 4931_ATEOF 4932 4933export MU_AUTODETECT_ACCURACY 4934for MU_AUTODETECT_ACCURACY in 0 1 2 4935do 4936 echo "MU_AUTODETECT_ACCURACY=$MU_AUTODETECT_ACCURACY" 4937 for mbox in empty dotmail mbox nodot badheader garbage 4938 do 4939 mbop --mailbox $mbox --detect 4940 done 4941done 4942exit 0 4943 4944) >>"$at_stdout" 2>>"$at_stderr" 5>&- 4945at_status=$? at_failed=false 4946$at_check_filter 4947at_fn_diff_devnull "$at_stderr" || at_failed=: 4948echo >>"$at_stdout"; $as_echo "MU_AUTODETECT_ACCURACY=0 4949empty: 2 4950dotmail: 2 4951mbox: 2 4952nodot: 2 4953badheader: 2 4954garbage: 2 4955MU_AUTODETECT_ACCURACY=1 4956empty: 2 4957dotmail: 2 4958mbox: 0 4959nodot: 2 4960badheader: 0 4961garbage: 0 4962MU_AUTODETECT_ACCURACY=2 4963empty: 2 4964dotmail: 2 4965mbox: 0 4966nodot: 0 4967badheader: 0 4968garbage: 0 4969" | \ 4970 $at_diff - "$at_stdout" || at_failed=: 4971at_fn_check_status 0 $at_status "$at_srcdir/autodetect.at:19" 4972$at_failed && at_fn_log_failure 4973$at_traceon; } 4974 4975 set +x 4976 $at_times_p && times >"$at_times_file" 4977) 5>&1 2>&1 7>&- | eval $at_tee_pipe 4978read at_status <"$at_status_file" 4979#AT_STOP_19 4980#AT_START_20 4981at_fn_group_banner 20 'setattr.at:17' \ 4982 "set attributes" " " 4983at_xfail=no 4984( 4985 $as_echo "20. $at_setup_line: testing $at_desc ..." 4986 $at_traceon 4987 4988{ set +x 4989$as_echo "$at_srcdir/setattr.at:17: cat >dmbx <<'_ATEOF' 4990Received: (from hare@wonder.land) 4991 by wonder.land id 3301 4992 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 4993Date: Mon, 29 Jul 2002 22:00:01 +0100 4994From: March Hare <hare@wonder.land> 4995Message-Id: <200207292200.3301@wonder.land> 4996To: Alice <alice@wonder.land> 4997Subject: Invitation 4998Return-Path: hare@wonder.land 4999 5000Have some wine 5001. 5002Received: (from alice@wonder.land) 5003 by wonder.land id 3302 5004 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 5005Date: Mon, 29 Jul 2002 22:00:02 +0100 5006From: Alice <alice@wonder.land> 5007Message-Id: <200207292200.3302@wonder.land> 5008To: March Hare <hare@wonder.land> 5009Subject: Re: Invitation 5010Return-Path: alice@wonder.land 5011 5012I don't see any wine 5013. 5014Received: (from hare@wonder.land) 5015 by wonder.land id 3303 5016 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 5017Date: Mon, 29 Jul 2002 22:00:03 +0100 5018From: March Hare <hare@wonder.land> 5019Message-Id: <200207292200.3303@wonder.land> 5020To: Alice <alice@wonder.land> 5021Subject: Re: Invitation 5022Return-Path: hare@wonder.land 5023 5024There isn't any 5025. 5026Received: (from alice@wonder.land) 5027 by wonder.land id 3304 5028 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 5029Date: Mon, 29 Jul 2002 22:00:04 +0100 5030From: Alice <alice@wonder.land> 5031Message-Id: <200207292200.3304@wonder.land> 5032To: March Hare <hare@wonder.land> 5033Subject: Re: Invitation 5034Return-Path: alice@wonder.land 5035 5036Then it wasn't very civil of you to offer it 5037. 5038Received: (from hare@wonder.land) 5039 by wonder.land id 3305 5040 for alice@wonder.land; Mon, 29 Jul 2002 22:00:10 +0100 5041Date: Mon, 29 Jul 2002 22:00:05 +0100 5042From: March Hare <hare@wonder.land> 5043Message-Id: <200207292200.3305@wonder.land> 5044To: Alice <alice@wonder.land> 5045Subject: Re: Invitation 5046Return-Path: hare@wonder.land 5047 5048It wasn't very civil of you to sit down without being invited 5049. 5050_ATEOF 5051 5052cat >input <<'_ATEOF' 5053# Select 3rd message 50543 5055# Display its attributes 5056attr 5057# Set the Read attribute 5058set_read 5059# Set the Draft attribute 5060set_draft 5061# Display modified attributes 5062attr 5063# Synchronize the mailbox with disk storage 5064sync 5065# Display modified attributes: should be the same as before 5066attr 5067# Display all headers; the Status header is missing, because 5068# the mu_header_t object was not notified about the change. 5069# Not sure if that's right, but that's the way the library works now. 5070headers 5071# Display the message text; this is to make sure all offsets 5072# in the mu_dotmail_message structure have been updated correctly 5073# after the change. 5074body_text 5075# Select fourth message 50764 5077# The following two commands make sure offsets in the subsequent messages 5078# are all fixed up. 5079headers 5080body_text 5081_ATEOF 5082 5083 5084MAIL=./dmbx 5085export MAIL 5086mbop < input 5087 5088" 5089at_fn_check_prepare_notrace 'an embedded newline' "setattr.at:17" 5090( $at_check_trace; cat >dmbx <<'_ATEOF' 5091Received: (from hare@wonder.land) 5092 by wonder.land id 3301 5093 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 5094Date: Mon, 29 Jul 2002 22:00:01 +0100 5095From: March Hare <hare@wonder.land> 5096Message-Id: <200207292200.3301@wonder.land> 5097To: Alice <alice@wonder.land> 5098Subject: Invitation 5099Return-Path: hare@wonder.land 5100 5101Have some wine 5102. 5103Received: (from alice@wonder.land) 5104 by wonder.land id 3302 5105 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 5106Date: Mon, 29 Jul 2002 22:00:02 +0100 5107From: Alice <alice@wonder.land> 5108Message-Id: <200207292200.3302@wonder.land> 5109To: March Hare <hare@wonder.land> 5110Subject: Re: Invitation 5111Return-Path: alice@wonder.land 5112 5113I don't see any wine 5114. 5115Received: (from hare@wonder.land) 5116 by wonder.land id 3303 5117 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 5118Date: Mon, 29 Jul 2002 22:00:03 +0100 5119From: March Hare <hare@wonder.land> 5120Message-Id: <200207292200.3303@wonder.land> 5121To: Alice <alice@wonder.land> 5122Subject: Re: Invitation 5123Return-Path: hare@wonder.land 5124 5125There isn't any 5126. 5127Received: (from alice@wonder.land) 5128 by wonder.land id 3304 5129 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 5130Date: Mon, 29 Jul 2002 22:00:04 +0100 5131From: Alice <alice@wonder.land> 5132Message-Id: <200207292200.3304@wonder.land> 5133To: March Hare <hare@wonder.land> 5134Subject: Re: Invitation 5135Return-Path: alice@wonder.land 5136 5137Then it wasn't very civil of you to offer it 5138. 5139Received: (from hare@wonder.land) 5140 by wonder.land id 3305 5141 for alice@wonder.land; Mon, 29 Jul 2002 22:00:10 +0100 5142Date: Mon, 29 Jul 2002 22:00:05 +0100 5143From: March Hare <hare@wonder.land> 5144Message-Id: <200207292200.3305@wonder.land> 5145To: Alice <alice@wonder.land> 5146Subject: Re: Invitation 5147Return-Path: hare@wonder.land 5148 5149It wasn't very civil of you to sit down without being invited 5150. 5151_ATEOF 5152 5153cat >input <<'_ATEOF' 5154# Select 3rd message 51553 5156# Display its attributes 5157attr 5158# Set the Read attribute 5159set_read 5160# Set the Draft attribute 5161set_draft 5162# Display modified attributes 5163attr 5164# Synchronize the mailbox with disk storage 5165sync 5166# Display modified attributes: should be the same as before 5167attr 5168# Display all headers; the Status header is missing, because 5169# the mu_header_t object was not notified about the change. 5170# Not sure if that's right, but that's the way the library works now. 5171headers 5172# Display the message text; this is to make sure all offsets 5173# in the mu_dotmail_message structure have been updated correctly 5174# after the change. 5175body_text 5176# Select fourth message 51774 5178# The following two commands make sure offsets in the subsequent messages 5179# are all fixed up. 5180headers 5181body_text 5182_ATEOF 5183 5184 5185MAIL=./dmbx 5186export MAIL 5187mbop < input 5188 5189 5190) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5191at_status=$? at_failed=false 5192$at_check_filter 5193at_fn_diff_devnull "$at_stderr" || at_failed=: 5194echo >>"$at_stdout"; $as_echo "3 current message 51953 attr: - 51963 set_read: OK 51973 set_draft: OK 51983 attr: dR 5199sync: OK 52003 attr: dR 52013 headers: Received:(from hare@wonder.land) by wonder.land id 3303 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 5202Date:Mon, 29 Jul 2002 22:00:03 +0100 5203From:March Hare <hare@wonder.land> 5204Message-Id:<200207292200.3303@wonder.land> 5205To:Alice <alice@wonder.land> 5206Subject:Re: Invitation 5207Return-Path:hare@wonder.land 5208 52093 body_text: There isn't any 5210 52114 current message 52124 headers: Received:(from alice@wonder.land) by wonder.land id 3304 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 5213Date:Mon, 29 Jul 2002 22:00:04 +0100 5214From:Alice <alice@wonder.land> 5215Message-Id:<200207292200.3304@wonder.land> 5216To:March Hare <hare@wonder.land> 5217Subject:Re: Invitation 5218Return-Path:alice@wonder.land 5219 52204 body_text: Then it wasn't very civil of you to offer it 5221 5222" | \ 5223 $at_diff - "$at_stdout" || at_failed=: 5224at_fn_check_status 0 $at_status "$at_srcdir/setattr.at:17" 5225$at_failed && at_fn_log_failure 5226$at_traceon; } 5227 5228 set +x 5229 $at_times_p && times >"$at_times_file" 5230) 5>&1 2>&1 7>&- | eval $at_tee_pipe 5231read at_status <"$at_status_file" 5232#AT_STOP_20 5233#AT_START_21 5234at_fn_group_banner 21 'rospool.at:17' \ 5235 "read-only spool directory" " " 5236at_xfail=no 5237( 5238 $as_echo "21. $at_setup_line: testing $at_desc ..." 5239 $at_traceon 5240 5241 5242{ set +x 5243$as_echo "$at_srcdir/rospool.at:19: 5244mkdir mailspool 5245cat >mailspool/inbox <<'_ATEOF' 5246Received: (from hare@wonder.land) 5247 by wonder.land id 3301 5248 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 5249Date: Mon, 29 Jul 2002 22:00:01 +0100 5250From: March Hare <hare@wonder.land> 5251Message-Id: <200207292200.3301@wonder.land> 5252To: Alice <alice@wonder.land> 5253Subject: Invitation 5254X-IMAPbase: 10 9 5255X-UID: 1 5256 5257Have some wine 5258. 5259Received: (from alice@wonder.land) 5260 by wonder.land id 3302 5261 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 5262Date: Mon, 29 Jul 2002 22:00:02 +0100 5263From: Alice <alice@wonder.land> 5264Message-Id: <200207292200.3302@wonder.land> 5265To: March Hare <hare@wonder.land> 5266Subject: Re: Invitation 5267X-UID: 2 5268 5269I don't see any wine 5270. 5271Received: (from hare@wonder.land) 5272 by wonder.land id 3303 5273 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 5274Date: Mon, 29 Jul 2002 22:00:03 +0100 5275From: March Hare <hare@wonder.land> 5276Message-Id: <200207292200.3303@wonder.land> 5277To: Alice <alice@wonder.land> 5278Subject: Re: Invitation 5279X-UID: 3 5280 5281There isn't any 5282. 5283Received: (from alice@wonder.land) 5284 by wonder.land id 3304 5285 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 5286Date: Mon, 29 Jul 2002 22:00:04 +0100 5287From: Alice <alice@wonder.land> 5288Message-Id: <200207292200.3304@wonder.land> 5289To: March Hare <hare@wonder.land> 5290Subject: Re: Invitation 5291X-UID: 4 5292 5293Then it wasn't very civil of you to offer it 5294. 5295Received: (from hare@wonder.land) 5296 by wonder.land id 3305 5297 for alice@wonder.land; Mon, 29 Jul 2002 22:00:10 +0100 5298Date: Mon, 29 Jul 2002 22:00:05 +0100 5299From: March Hare <hare@wonder.land> 5300Message-Id: <200207292200.3305@wonder.land> 5301To: Alice <alice@wonder.land> 5302Subject: Re: Invitation 5303X-UID: 5 5304 5305It wasn't very civil of you to sit down without being invited 5306. 5307Received: (from alice@wonder.land) 5308 by wonder.land id 3306 5309 for hare@wonder.land; Mon, 29 Jul 2002 22:00:11 +0100 5310Date: Mon, 29 Jul 2002 22:00:06 +0100 5311From: Alice <alice@wonder.land> 5312Message-Id: <200207292200.3306@wonder.land> 5313To: March Hare <hare@wonder.land> 5314Subject: Re: Invitation 5315X-UID: 6 5316 5317I didn't know it was YOUR table, it's laid for a 5318great many more than three. 5319. 5320_ATEOF 5321 5322cp mailspool/inbox mailspool/inbox1 5323cp mailspool/inbox mailspool/inbox2 5324chmod -w mailspool 5325" 5326at_fn_check_prepare_notrace 'an embedded newline' "rospool.at:19" 5327( $at_check_trace; 5328mkdir mailspool 5329cat >mailspool/inbox <<'_ATEOF' 5330Received: (from hare@wonder.land) 5331 by wonder.land id 3301 5332 for alice@wonder.land; Mon, 29 Jul 2002 22:00:06 +0100 5333Date: Mon, 29 Jul 2002 22:00:01 +0100 5334From: March Hare <hare@wonder.land> 5335Message-Id: <200207292200.3301@wonder.land> 5336To: Alice <alice@wonder.land> 5337Subject: Invitation 5338X-IMAPbase: 10 9 5339X-UID: 1 5340 5341Have some wine 5342. 5343Received: (from alice@wonder.land) 5344 by wonder.land id 3302 5345 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 5346Date: Mon, 29 Jul 2002 22:00:02 +0100 5347From: Alice <alice@wonder.land> 5348Message-Id: <200207292200.3302@wonder.land> 5349To: March Hare <hare@wonder.land> 5350Subject: Re: Invitation 5351X-UID: 2 5352 5353I don't see any wine 5354. 5355Received: (from hare@wonder.land) 5356 by wonder.land id 3303 5357 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 5358Date: Mon, 29 Jul 2002 22:00:03 +0100 5359From: March Hare <hare@wonder.land> 5360Message-Id: <200207292200.3303@wonder.land> 5361To: Alice <alice@wonder.land> 5362Subject: Re: Invitation 5363X-UID: 3 5364 5365There isn't any 5366. 5367Received: (from alice@wonder.land) 5368 by wonder.land id 3304 5369 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 5370Date: Mon, 29 Jul 2002 22:00:04 +0100 5371From: Alice <alice@wonder.land> 5372Message-Id: <200207292200.3304@wonder.land> 5373To: March Hare <hare@wonder.land> 5374Subject: Re: Invitation 5375X-UID: 4 5376 5377Then it wasn't very civil of you to offer it 5378. 5379Received: (from hare@wonder.land) 5380 by wonder.land id 3305 5381 for alice@wonder.land; Mon, 29 Jul 2002 22:00:10 +0100 5382Date: Mon, 29 Jul 2002 22:00:05 +0100 5383From: March Hare <hare@wonder.land> 5384Message-Id: <200207292200.3305@wonder.land> 5385To: Alice <alice@wonder.land> 5386Subject: Re: Invitation 5387X-UID: 5 5388 5389It wasn't very civil of you to sit down without being invited 5390. 5391Received: (from alice@wonder.land) 5392 by wonder.land id 3306 5393 for hare@wonder.land; Mon, 29 Jul 2002 22:00:11 +0100 5394Date: Mon, 29 Jul 2002 22:00:06 +0100 5395From: Alice <alice@wonder.land> 5396Message-Id: <200207292200.3306@wonder.land> 5397To: March Hare <hare@wonder.land> 5398Subject: Re: Invitation 5399X-UID: 6 5400 5401I didn't know it was YOUR table, it's laid for a 5402great many more than three. 5403. 5404_ATEOF 5405 5406cp mailspool/inbox mailspool/inbox1 5407cp mailspool/inbox mailspool/inbox2 5408chmod -w mailspool 5409 5410) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5411at_status=$? at_failed=false 5412$at_check_filter 5413at_fn_diff_devnull "$at_stderr" || at_failed=: 5414at_fn_diff_devnull "$at_stdout" || at_failed=: 5415at_fn_check_status 0 $at_status "$at_srcdir/rospool.at:19" 5416$at_failed && at_fn_log_failure 5417$at_traceon; } 5418 5419# -------------------------- 5420 5421cat >commands <<'_ATEOF' 54223 5423set_deleted 5424expunge 5425count 5426# Message 4 becomes 3 after expunge. Re-select it. 54273 5428uid 5429headers 5430_ATEOF 5431 5432 5433{ set +x 5434$as_echo "$at_srcdir/rospool.at:114: mbop -m mailspool/inbox < commands" 5435at_fn_check_prepare_trace "rospool.at:114" 5436( $at_check_trace; mbop -m mailspool/inbox < commands 5437) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5438at_status=$? at_failed=false 5439$at_check_filter 5440at_fn_diff_devnull "$at_stderr" || at_failed=: 5441echo >>"$at_stdout"; $as_echo "3 current message 54423 set_deleted: OK 5443expunge: OK 5444count: 5 54453 current message 54463 uid: 4 54473 headers: Received:(from alice@wonder.land) by wonder.land id 3304 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 5448Date:Mon, 29 Jul 2002 22:00:04 +0100 5449From:Alice <alice@wonder.land> 5450Message-Id:<200207292200.3304@wonder.land> 5451To:March Hare <hare@wonder.land> 5452Subject:Re: Invitation 5453X-UID:4 5454 5455" | \ 5456 $at_diff - "$at_stdout" || at_failed=: 5457at_fn_check_status 0 $at_status "$at_srcdir/rospool.at:114" 5458$at_failed && at_fn_log_failure 5459$at_traceon; } 5460 5461 5462cat >commands1 <<'_ATEOF' 54631 5464set_deleted 54652 5466set_deleted 54675 5468set_deleted 5469expunge 5470count 54711 5472uid 5473headers 54742 5475uid 5476headers 54773 5478uid 5479headers 5480_ATEOF 5481 5482 5483{ set +x 5484$as_echo "$at_srcdir/rospool.at:152: mbop -m mailspool/inbox1 < commands1|x_imapbase_normalize" 5485at_fn_check_prepare_notrace 'a shell pipeline' "rospool.at:152" 5486( $at_check_trace; mbop -m mailspool/inbox1 < commands1|x_imapbase_normalize 5487) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5488at_status=$? at_failed=false 5489$at_check_filter 5490at_fn_diff_devnull "$at_stderr" || at_failed=: 5491echo >>"$at_stdout"; $as_echo "1 current message 54921 set_deleted: OK 54932 current message 54942 set_deleted: OK 54955 current message 54965 set_deleted: OK 5497expunge: OK 5498count: 3 54991 current message 55001 uid: 3 55011 headers: Received:(from hare@wonder.land) by wonder.land id 3303 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 5502Date:Mon, 29 Jul 2002 22:00:03 +0100 5503From:March Hare <hare@wonder.land> 5504Message-Id:<200207292200.3303@wonder.land> 5505To:Alice <alice@wonder.land> 5506Subject:Re: Invitation 5507X-IMAPbase:10 9 5508X-UID:3 5509 55102 current message 55112 uid: 4 55122 headers: Received:(from alice@wonder.land) by wonder.land id 3304 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 5513Date:Mon, 29 Jul 2002 22:00:04 +0100 5514From:Alice <alice@wonder.land> 5515Message-Id:<200207292200.3304@wonder.land> 5516To:March Hare <hare@wonder.land> 5517Subject:Re: Invitation 5518X-UID:4 5519 55203 current message 55213 uid: 6 55223 headers: Received:(from alice@wonder.land) by wonder.land id 3306 for hare@wonder.land; Mon, 29 Jul 2002 22:00:11 +0100 5523Date:Mon, 29 Jul 2002 22:00:06 +0100 5524From:Alice <alice@wonder.land> 5525Message-Id:<200207292200.3306@wonder.land> 5526To:March Hare <hare@wonder.land> 5527Subject:Re: Invitation 5528X-UID:6 5529 5530" | \ 5531 $at_diff - "$at_stdout" || at_failed=: 5532at_fn_check_status 0 $at_status "$at_srcdir/rospool.at:152" 5533$at_failed && at_fn_log_failure 5534$at_traceon; } 5535 5536 5537# ## 5538cat >commands1a <<'_ATEOF' 5539count 55401 5541uid 5542headers 55432 5544uid 5545headers 55463 5547uid 5548headers 5549_ATEOF 5550 5551 5552{ set +x 5553$as_echo "$at_srcdir/rospool.at:209: mbop -m mailspool/inbox1 < commands1a|x_imapbase_normalize" 5554at_fn_check_prepare_notrace 'a shell pipeline' "rospool.at:209" 5555( $at_check_trace; mbop -m mailspool/inbox1 < commands1a|x_imapbase_normalize 5556) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5557at_status=$? at_failed=false 5558$at_check_filter 5559at_fn_diff_devnull "$at_stderr" || at_failed=: 5560echo >>"$at_stdout"; $as_echo "count: 3 55611 current message 55621 uid: 3 55631 headers: Received:(from hare@wonder.land) by wonder.land id 3303 for alice@wonder.land; Mon, 29 Jul 2002 22:00:08 +0100 5564Date:Mon, 29 Jul 2002 22:00:03 +0100 5565From:March Hare <hare@wonder.land> 5566Message-Id:<200207292200.3303@wonder.land> 5567To:Alice <alice@wonder.land> 5568Subject:Re: Invitation 5569X-IMAPbase:10 9 5570X-UID:3 5571 55722 current message 55732 uid: 4 55742 headers: Received:(from alice@wonder.land) by wonder.land id 3304 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 5575Date:Mon, 29 Jul 2002 22:00:04 +0100 5576From:Alice <alice@wonder.land> 5577Message-Id:<200207292200.3304@wonder.land> 5578To:March Hare <hare@wonder.land> 5579Subject:Re: Invitation 5580X-UID:4 5581 55823 current message 55833 uid: 6 55843 headers: Received:(from alice@wonder.land) by wonder.land id 3306 for hare@wonder.land; Mon, 29 Jul 2002 22:00:11 +0100 5585Date:Mon, 29 Jul 2002 22:00:06 +0100 5586From:Alice <alice@wonder.land> 5587Message-Id:<200207292200.3306@wonder.land> 5588To:March Hare <hare@wonder.land> 5589Subject:Re: Invitation 5590X-UID:6 5591 5592" | \ 5593 $at_diff - "$at_stdout" || at_failed=: 5594at_fn_check_status 0 $at_status "$at_srcdir/rospool.at:209" 5595$at_failed && at_fn_log_failure 5596$at_traceon; } 5597 5598 5599# ## 5600cat >commands2 <<'_ATEOF' 56011 5602set_deleted 56033 5604set_deleted 56055 5606set_deleted 5607expunge 5608count 56091 5610uid 5611headers 56122 5613uid 5614headers 56153 5616uid 5617headers 5618_ATEOF 5619 5620 5621{ set +x 5622$as_echo "$at_srcdir/rospool.at:266: mbop -m mailspool/inbox2 < commands2|x_imapbase_normalize" 5623at_fn_check_prepare_notrace 'a shell pipeline' "rospool.at:266" 5624( $at_check_trace; mbop -m mailspool/inbox2 < commands2|x_imapbase_normalize 5625) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5626at_status=$? at_failed=false 5627$at_check_filter 5628at_fn_diff_devnull "$at_stderr" || at_failed=: 5629echo >>"$at_stdout"; $as_echo "1 current message 56301 set_deleted: OK 56313 current message 56323 set_deleted: OK 56335 current message 56345 set_deleted: OK 5635expunge: OK 5636count: 3 56371 current message 56381 uid: 2 56391 headers: Received:(from alice@wonder.land) by wonder.land id 3302 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 5640Date:Mon, 29 Jul 2002 22:00:02 +0100 5641From:Alice <alice@wonder.land> 5642Message-Id:<200207292200.3302@wonder.land> 5643To:March Hare <hare@wonder.land> 5644Subject:Re: Invitation 5645X-IMAPbase:10 9 5646X-UID:2 5647 56482 current message 56492 uid: 4 56502 headers: Received:(from alice@wonder.land) by wonder.land id 3304 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 5651Date:Mon, 29 Jul 2002 22:00:04 +0100 5652From:Alice <alice@wonder.land> 5653Message-Id:<200207292200.3304@wonder.land> 5654To:March Hare <hare@wonder.land> 5655Subject:Re: Invitation 5656X-UID:4 5657 56583 current message 56593 uid: 6 56603 headers: Received:(from alice@wonder.land) by wonder.land id 3306 for hare@wonder.land; Mon, 29 Jul 2002 22:00:11 +0100 5661Date:Mon, 29 Jul 2002 22:00:06 +0100 5662From:Alice <alice@wonder.land> 5663Message-Id:<200207292200.3306@wonder.land> 5664To:March Hare <hare@wonder.land> 5665Subject:Re: Invitation 5666X-UID:6 5667 5668" | \ 5669 $at_diff - "$at_stdout" || at_failed=: 5670at_fn_check_status 0 $at_status "$at_srcdir/rospool.at:266" 5671$at_failed && at_fn_log_failure 5672$at_traceon; } 5673 5674 5675cat >commands2a <<'_ATEOF' 5676count 56771 5678uid 5679headers 56802 5681uid 5682headers 56833 5684uid 5685headers 5686_ATEOF 5687 5688 5689{ set +x 5690$as_echo "$at_srcdir/rospool.at:322: mbop -m mailspool/inbox2 < commands2a|x_imapbase_normalize" 5691at_fn_check_prepare_notrace 'a shell pipeline' "rospool.at:322" 5692( $at_check_trace; mbop -m mailspool/inbox2 < commands2a|x_imapbase_normalize 5693) >>"$at_stdout" 2>>"$at_stderr" 5>&- 5694at_status=$? at_failed=false 5695$at_check_filter 5696at_fn_diff_devnull "$at_stderr" || at_failed=: 5697echo >>"$at_stdout"; $as_echo "count: 3 56981 current message 56991 uid: 2 57001 headers: Received:(from alice@wonder.land) by wonder.land id 3302 for hare@wonder.land; Mon, 29 Jul 2002 22:00:07 +0100 5701Date:Mon, 29 Jul 2002 22:00:02 +0100 5702From:Alice <alice@wonder.land> 5703Message-Id:<200207292200.3302@wonder.land> 5704To:March Hare <hare@wonder.land> 5705Subject:Re: Invitation 5706X-IMAPbase:10 9 5707X-UID:2 5708 57092 current message 57102 uid: 4 57112 headers: Received:(from alice@wonder.land) by wonder.land id 3304 for hare@wonder.land; Mon, 29 Jul 2002 22:00:09 +0100 5712Date:Mon, 29 Jul 2002 22:00:04 +0100 5713From:Alice <alice@wonder.land> 5714Message-Id:<200207292200.3304@wonder.land> 5715To:March Hare <hare@wonder.land> 5716Subject:Re: Invitation 5717X-UID:4 5718 57193 current message 57203 uid: 6 57213 headers: Received:(from alice@wonder.land) by wonder.land id 3306 for hare@wonder.land; Mon, 29 Jul 2002 22:00:11 +0100 5722Date:Mon, 29 Jul 2002 22:00:06 +0100 5723From:Alice <alice@wonder.land> 5724Message-Id:<200207292200.3306@wonder.land> 5725To:March Hare <hare@wonder.land> 5726Subject:Re: Invitation 5727X-UID:6 5728 5729" | \ 5730 $at_diff - "$at_stdout" || at_failed=: 5731at_fn_check_status 0 $at_status "$at_srcdir/rospool.at:322" 5732$at_failed && at_fn_log_failure 5733$at_traceon; } 5734 5735 5736 set +x 5737 $at_times_p && times >"$at_times_file" 5738) 5>&1 2>&1 7>&- | eval $at_tee_pipe 5739read at_status <"$at_status_file" 5740#AT_STOP_21 5741