1#! /bin/sh
2# Generated from ../../grecs/wordsplit/wordsplit.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='wsp'
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;wordsplit.at:59;simple input;wordsplit wsp wordsplit000 wsp000 wsp-simple;
5942;wordsplit.at:68;quoted space;wordsplit wsp wordsplit001 wsp000 wsp-quoted;
5953;wordsplit.at:75;tab character;wordsplit wsp wordsplit002 wsp000 wsp-tab;
5964;wordsplit.at:84;octal and hex escapes;wordsplit wsp wordsplit003 wsp000 wsp-escape wsp-escape000;
5975;wordsplit.at:91;octal and hex escapes 2;wordsplit wsp wordsplit004 wsp000 wsp-escape wsp-escape001;
5986;wordsplit.at:100;escape representation;wordsplit wsp wordsplit005 wsp000 wsp-escape wsp-escape002;
5997;wordsplit.at:112;append;wordsplit wsp wordsplit006 wsp000 wsp-append;
6008;wordsplit.at:137;dooffs;wordsplit wsp wordsplit007 wsp000 wsp-doofs;
6019;wordsplit.at:150;variable substitutions: single var;wordsplit wsp wordsplit008 wsp000 wsp-var wsp-var000;
60210;wordsplit.at:161;variable substitutions: concatenated vars;wordsplit wsp wordsplit009 wsp000 wsp-var wsp-var001;
60311;wordsplit.at:173;variable substitutions: field splitting;wordsplit wsp wordsplit010 wsp000 wsp-var wsp-var002;
60412;wordsplit.at:185;variable substitutions: double-quoted variable;wordsplit wsp wordsplit011 wsp000 wsp-var wsp-var003;
60513;wordsplit.at:196;variable substitutions: single-quoted variable;wordsplit wsp wordsplit012 wsp000 wsp-var wsp-var004;
60614;wordsplit.at:207;undefined variables 1;wordsplit wsp wordsplit013 wsp000 wsp-var wsp-var005;
60715;wordsplit.at:218;undefined variables 2;wordsplit wsp wordsplit014 wsp000 wsp-var wsp-var006;
60816;wordsplit.at:230;warn about undefined variables;wordsplit wsp wordsplit015 wsp000 wsp-var wsp-var007;
60917;wordsplit.at:239;bail out on undefined variables;wordsplit wsp wordsplit016 wsp000 wsp-var wsp-var008;
61018;wordsplit.at:246;disable variable expansion;wordsplit wsp wordsplit017 wsp000 wsp-var wsp-var009;
61119;wordsplit.at:255;K/V environment;wordsplit wsp wordsplit018 wsp000 wsp-var wsp-var010 wsp-env-kv wsp-env_kv;
61220;wordsplit.at:266;nosplit with variable expansion;wordsplit wsp wordsplit019 wsp000 wsp-var wsp-var011 wsp-var-nosplit;
61321;wordsplit.at:275;nosplit without variable expansion;wordsplit wsp wordsplit020 wsp000 wsp-var wsp-var012;
61422;wordsplit.at:284;nosplit: empty expansion;wordsplit wsp wordsplit021 wsp000 wsp-var wsp-var013;
61523;wordsplit.at:293;default value;wordsplit wsp wordsplit022 wsp000 wsp-var wsp-var014;
61624;wordsplit.at:300;default value (defined);wordsplit wsp wordsplit023 wsp000 wsp-var wsp-var015;
61725;wordsplit.at:309;default value (:- null);wordsplit wsp wordsplit024 wsp000 wsp-var wsp-var016;
61826;wordsplit.at:318;default value (- null);wordsplit wsp wordsplit025 wsp000 wsp-var wsp-var017;
61927;wordsplit.at:326;default value (- null, unset);wordsplit wsp wordsplit026 wsp000 wsp-var wsp-var018;
62028;wordsplit.at:333;assign default values;wordsplit wsp wordsplit027 wsp000 wsp-var wsp-var019;
62129;wordsplit.at:344;default error message (var defined);wordsplit wsp wordsplit028 wsp000 wsp-var wsp-var020;
62230;wordsplit.at:355;default error message;wordsplit wsp wordsplit029 wsp000 wsp-var wsp-var021;
62331;wordsplit.at:363;custom error message (defined);wordsplit wsp wordsplit030 wsp000 wsp-var wsp-var022 wsp-custom-err wsp-custom-err00;
62432;wordsplit.at:374;custom error message;wordsplit wsp wordsplit031 wsp000 wsp-var wsp-var023 wsp-custom-err wsp-custom-err01;
62533;wordsplit.at:384;alternate value (defined);wordsplit wsp wordsplit032 wsp000 wsp-var wsp-var024 wsp-alt wsp-alt00;
62634;wordsplit.at:395;alternate value;wordsplit wsp wordsplit033 wsp000 wsp-var wsp-var025 wsp-alt wsp-alt01;
62735;wordsplit.at:405;getvar;wordsplit wsp wordsplit034 wsp000 wsp-var wsp-var026 wsp-getvar;
62836;wordsplit.at:419;getvar and env;wordsplit wsp wordsplit035 wsp000 wsp-var wsp-var027 wsp-getvar;
62937;wordsplit.at:435;getvar, alternate value;wordsplit wsp wordsplit036 wsp000 wsp-var wsp-var028 wsp-getvar;
63038;wordsplit.at:446;ignore quotes;wordsplit wsp wordsplit037 wsp000 wsp-ignore-quotes;
63139;wordsplit.at:456;custom delimiters (squeeze);wordsplit wsp wordsplit038 wsp000 wsp-delim wsp-delim000;
63240;wordsplit.at:468;custom delimiters (no squeeze);wordsplit wsp wordsplit039 wsp000 wsp-delim wsp-delim001;
63341;wordsplit.at:481;custom, with returned delimiters;wordsplit wsp wordsplit040 wsp000 wsp-delim wsp-delim002;
63442;wordsplit.at:497;custom, with returned & squeezed delimiters;wordsplit wsp wordsplit041 wsp000 wsp-delim wsp-delim003;
63543;wordsplit.at:516;sed expressions;wordsplit wsp wordsplit042 wsp000 wsp-sed wsp-sed000;
63644;wordsplit.at:527;C escapes on;wordsplit wsp wordsplit043 wsp000 wcp-c-escape;
63745;wordsplit.at:537;C escapes off;wordsplit wsp wordsplit044 wsp000 wcp-c-escape-off;
63846;wordsplit.at:547;ws elimination;wordsplit wsp wordsplit045 wsp000 wsp-ws-elim;
63947;wordsplit.at:557;ws elimination + return delim;wordsplit wsp wordsplit046 wsp000 wsp-ws-elim-ret;
64048;wordsplit.at:571;empty quotes;wordsplit wsp wordsplit047 wsp000 wsp-empty-quotes;
64149;wordsplit.at:578;delimiter following empty quotes;wordsplit wsp wordsplit048 wsp000;
64250;wordsplit.at:588;suppress ws trimming within quotes;wordsplit wsp wordsplit049 wsp000;
64351;wordsplit.at:601;unescape;wordsplit wsp wordsplit050 wsp000 wsp-unescape wsp-unescape-simple;
64452;wordsplit.at:612;unescape: word/quote;wordsplit wsp wordsplit051 wsp000 wsp-unescape wsp-unescape-word;
64553;wordsplit.at:626;dquote;wordsplit wsp wordsplit052 wsp000;
64654;wordsplit.at:636;squote;wordsplit wsp wordsplit053 wsp000;
64755;wordsplit.at:648;incremental;wordsplit wsp wordsplit054 wsp000 wsp-incr wsp-incr000;
64856;wordsplit.at:666;incremental append;wordsplit wsp wordsplit055 wsp000 wsp-incr wsp-incr001;
64957;wordsplit.at:687;incremental ws;wordsplit wsp wordsplit056 wsp000 wsp-incr wsp-incr002;
65058;wordsplit.at:706;incremental nosplit;wordsplit wsp wordsplit057 wsp000 wsp-incr wsp-incr003;
65159;wordsplit.at:716;simple command substitution;wordsplit wsp wordsplit058 wsp000 wsp-incr wsp-incr004;
65260;wordsplit.at:726;quoted command substitution;wordsplit wsp wordsplit059 wsp000 wsp-incr wsp-incr005;
65361;wordsplit.at:735;coalesced command substitution;wordsplit wsp wordsplit060 wsp000 wsp-incr wsp-incr006;
65462;wordsplit.at:743;quoted coalesced command substitution;wordsplit wsp wordsplit061 wsp000 wsp-incr wsp-incr007;
65563;wordsplit.at:750;variable and command substitution;wordsplit wsp wordsplit062 wsp000 wsp-incr wsp-incr008;
65664;wordsplit.at:761;variable expansion and command substitution in quotes;wordsplit wsp wordsplit063 wsp000 wsp-incr wsp-incr009;
65765;wordsplit.at:768;nested commands;wordsplit wsp wordsplit064 wsp000 wsp-incr wsp-incr010;
65866;wordsplit.at:779;pathname expansion;wordsplit wsp wsp-path wsp-path-1;
65967;wordsplit.at:801;pathname expansion: no match;wordsplit wsp wsp-path wsp-path-2;
66068;wordsplit.at:821;pathname expansion: nullglob;wordsplit wsp wsp-path wsp-path-3;
66169;wordsplit.at:840;pathname expansion: failglob;wordsplit wsp wsp-path wsp-path-4;
66270;wordsplit.at:857;append;wordsplit wsp wordsplit065 wsp000 wsp-incr wsp-incr011;
66371;wordsplit.at:869;append + dooffs + env;wordsplit wsp wordsplit066 wsp000 wsp-incr wsp-incr012;
66472;wordsplit.at:886;maxwords;wordsplit wsp wordsplit067 wsp000 wsp-incr wsp-incr013;
66573;wordsplit.at:896;maxwords return_delims;wordsplit wsp wordsplit068 wsp000 wsp-incr wsp-incr014;
66674;wordsplit.at:911;maxwords return_delims -squeeze_delims;wordsplit wsp wordsplit069 wsp000 wsp-incr wsp-incr015;
66775;wordsplit.at:926;maxwords incremental;wordsplit wsp wordsplit070 wsp000 wsp-incr wsp-incr016;
66876;wordsplit.at:945;variable nosplit;wordsplit wsp wordsplit071 wsp000 wsp-incr wsp-incr017;
66977;wordsplit.at:954;command nosplit;wordsplit wsp wordsplit072 wsp000 wsp-incr wsp-incr018;
67078;wordsplit.at:963;positional parameters;wordsplit wsp wordsplit073 wsp000 wsp-incr wsp-incr019;
67179;wordsplit.at:976;\$* and \$@;wordsplit wsp wordsplit074 wsp000 wsp-incr wsp-incr020;
67280;wordsplit.at:1001;\$* and \$@ in nosplit mode;wordsplit wsp wordsplit075 wsp000 wsp-incr wsp-incr021;
67381;wordsplit.at:1013;\$* and \$@ in nosplit mode with delimiter;wordsplit wsp wordsplit076 wsp000 wsp-incr wsp-incr022;
674"
675# List of the all the test groups.
676at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'`
677
678# at_fn_validate_ranges NAME...
679# -----------------------------
680# Validate and normalize the test group number contained in each variable
681# NAME. Leading zeroes are treated as decimal.
682at_fn_validate_ranges ()
683{
684  for at_grp
685  do
686    eval at_value=\$$at_grp
687    if test $at_value -lt 1 || test $at_value -gt 81; then
688      $as_echo "invalid test group: $at_value" >&2
689      exit 1
690    fi
691    case $at_value in
692      0*) # We want to treat leading 0 as decimal, like expr and test, but
693	  # AS_VAR_ARITH treats it as octal if it uses $(( )).
694	  # With XSI shells, ${at_value#${at_value%%[1-9]*}} avoids the
695	  # expr fork, but it is not worth the effort to determine if the
696	  # shell supports XSI when the user can just avoid leading 0.
697	  eval $at_grp='`expr $at_value + 0`' ;;
698    esac
699  done
700}
701
702at_prev=
703for at_option
704do
705  # If the previous option needs an argument, assign it.
706  if test -n "$at_prev"; then
707    at_option=$at_prev=$at_option
708    at_prev=
709  fi
710
711  case $at_option in
712  *=?*) at_optarg=`expr "X$at_option" : '[^=]*=\(.*\)'` ;;
713  *)    at_optarg= ;;
714  esac
715
716  # Accept the important Cygnus configure options, so we can diagnose typos.
717
718  case $at_option in
719    --help | -h )
720	at_help_p=:
721	;;
722
723    --list | -l )
724	at_list_p=:
725	;;
726
727    --version | -V )
728	at_version_p=:
729	;;
730
731    --clean | -c )
732	at_clean=:
733	;;
734
735    --color )
736	at_color=always
737	;;
738    --color=* )
739	case $at_optarg in
740	no | never | none) at_color=never ;;
741	auto | tty | if-tty) at_color=auto ;;
742	always | yes | force) at_color=always ;;
743	*) at_optname=`echo " $at_option" | sed 's/^ //; s/=.*//'`
744	   as_fn_error $? "unrecognized argument to $at_optname: $at_optarg" ;;
745	esac
746	;;
747
748    --debug | -d )
749	at_debug_p=:
750	;;
751
752    --errexit | -e )
753	at_debug_p=:
754	at_errexit_p=:
755	;;
756
757    --verbose | -v )
758	at_verbose=; at_quiet=:
759	;;
760
761    --trace | -x )
762	at_traceon='set -x'
763	at_trace_echo=echo
764	at_check_filter_trace=at_fn_filter_trace
765	;;
766
767    [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9])
768	at_fn_validate_ranges at_option
769	as_fn_append at_groups "$at_option$as_nl"
770	;;
771
772    # Ranges
773    [0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-)
774	at_range_start=`echo $at_option |tr -d X-`
775	at_fn_validate_ranges at_range_start
776	at_range=`$as_echo "$at_groups_all" | \
777	  sed -ne '/^'$at_range_start'$/,$p'`
778	as_fn_append at_groups "$at_range$as_nl"
779	;;
780
781    -[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9])
782	at_range_end=`echo $at_option |tr -d X-`
783	at_fn_validate_ranges at_range_end
784	at_range=`$as_echo "$at_groups_all" | \
785	  sed -ne '1,/^'$at_range_end'$/p'`
786	as_fn_append at_groups "$at_range$as_nl"
787	;;
788
789    [0-9]-[0-9] | [0-9]-[0-9][0-9] | [0-9]-[0-9][0-9][0-9] | \
790    [0-9]-[0-9][0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9] | \
791    [0-9][0-9]-[0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9][0-9][0-9] | \
792    [0-9][0-9][0-9]-[0-9][0-9][0-9] | \
793    [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] | \
794    [0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] )
795	at_range_start=`expr $at_option : '\(.*\)-'`
796	at_range_end=`expr $at_option : '.*-\(.*\)'`
797	if test $at_range_start -gt $at_range_end; then
798	  at_tmp=$at_range_end
799	  at_range_end=$at_range_start
800	  at_range_start=$at_tmp
801	fi
802	at_fn_validate_ranges at_range_start at_range_end
803	at_range=`$as_echo "$at_groups_all" | \
804	  sed -ne '/^'$at_range_start'$/,/^'$at_range_end'$/p'`
805	as_fn_append at_groups "$at_range$as_nl"
806	;;
807
808    # Directory selection.
809    --directory | -C )
810	at_prev=--directory
811	;;
812    --directory=* )
813	at_change_dir=:
814	at_dir=$at_optarg
815	if test x- = "x$at_dir" ; then
816	  at_dir=./-
817	fi
818	;;
819
820    # Parallel execution.
821    --jobs | -j )
822	at_jobs=0
823	;;
824    --jobs=* | -j[0-9]* )
825	if test -n "$at_optarg"; then
826	  at_jobs=$at_optarg
827	else
828	  at_jobs=`expr X$at_option : 'X-j\(.*\)'`
829	fi
830	case $at_jobs in *[!0-9]*)
831	  at_optname=`echo " $at_option" | sed 's/^ //; s/[0-9=].*//'`
832	  as_fn_error $? "non-numeric argument to $at_optname: $at_jobs" ;;
833	esac
834	;;
835
836    # Keywords.
837    --keywords | -k )
838	at_prev=--keywords
839	;;
840    --keywords=* )
841	at_groups_selected=$at_help_all
842	at_save_IFS=$IFS
843	IFS=,
844	set X $at_optarg
845	shift
846	IFS=$at_save_IFS
847	for at_keyword
848	do
849	  at_invert=
850	  case $at_keyword in
851	  '!'*)
852	    at_invert="-v"
853	    at_keyword=`expr "X$at_keyword" : 'X!\(.*\)'`
854	    ;;
855	  esac
856	  # It is on purpose that we match the test group titles too.
857	  at_groups_selected=`$as_echo "$at_groups_selected" |
858	      grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"`
859	done
860	# Smash the keywords.
861	at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//'`
862	as_fn_append at_groups "$at_groups_selected$as_nl"
863	;;
864    --recheck)
865	at_recheck=:
866	;;
867
868    *=*)
869	at_envvar=`expr "x$at_option" : 'x\([^=]*\)='`
870	# Reject names that are not valid shell variable names.
871	case $at_envvar in
872	  '' | [0-9]* | *[!_$as_cr_alnum]* )
873	    as_fn_error $? "invalid variable name: \`$at_envvar'" ;;
874	esac
875	at_value=`$as_echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"`
876	# Export now, but save eval for later and for debug scripts.
877	export $at_envvar
878	as_fn_append at_debug_args " $at_envvar='$at_value'"
879	;;
880
881     *) $as_echo "$as_me: invalid option: $at_option" >&2
882	$as_echo "Try \`$0 --help' for more information." >&2
883	exit 1
884	;;
885  esac
886done
887
888# Verify our last option didn't require an argument
889if test -n "$at_prev"; then :
890  as_fn_error $? "\`$at_prev' requires an argument"
891fi
892
893# The file containing the suite.
894at_suite_log=$at_dir/$as_me.log
895
896# Selected test groups.
897if test -z "$at_groups$at_recheck"; then
898  at_groups=$at_groups_all
899else
900  if test -n "$at_recheck" && test -r "$at_suite_log"; then
901    at_oldfails=`sed -n '
902      /^Failed tests:$/,/^Skipped tests:$/{
903	s/^[ ]*\([1-9][0-9]*\):.*/\1/p
904      }
905      /^Unexpected passes:$/,/^## Detailed failed tests/{
906	s/^[ ]*\([1-9][0-9]*\):.*/\1/p
907      }
908      /^## Detailed failed tests/q
909      ' "$at_suite_log"`
910    as_fn_append at_groups "$at_oldfails$as_nl"
911  fi
912  # Sort the tests, removing duplicates.
913  at_groups=`$as_echo "$at_groups" | sort -nu | sed '/^$/d'`
914fi
915
916if test x"$at_color" = xalways \
917   || { test x"$at_color" = xauto && test -t 1; }; then
918  at_red=`printf '\033[0;31m'`
919  at_grn=`printf '\033[0;32m'`
920  at_lgn=`printf '\033[1;32m'`
921  at_blu=`printf '\033[1;34m'`
922  at_std=`printf '\033[m'`
923else
924  at_red= at_grn= at_lgn= at_blu= at_std=
925fi
926
927# Help message.
928if $at_help_p; then
929  cat <<_ATEOF || at_write_fail=1
930Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS]
931
932Run all the tests, or the selected TESTS, given by numeric ranges, and
933save a detailed log file.  Upon failure, create debugging scripts.
934
935Do not change environment variables directly.  Instead, set them via
936command line arguments.  Set \`AUTOTEST_PATH' to select the executables
937to exercise.  Each relative directory is expanded as build and source
938directories relative to the top level of this distribution.
939E.g., from within the build directory /tmp/foo-1.0, invoking this:
940
941  $ $0 AUTOTEST_PATH=bin
942
943is equivalent to the following, assuming the source directory is /src/foo-1.0:
944
945  PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH $0
946_ATEOF
947cat <<_ATEOF || at_write_fail=1
948
949Operation modes:
950  -h, --help     print the help message, then exit
951  -V, --version  print version number, then exit
952  -c, --clean    remove all the files this test suite might create and exit
953  -l, --list     describes all the tests, or the selected TESTS
954_ATEOF
955cat <<_ATEOF || at_write_fail=1
956
957Execution tuning:
958  -C, --directory=DIR
959                 change to directory DIR before starting
960      --color[=never|auto|always]
961                 enable colored test results on terminal, or always
962  -j, --jobs[=N]
963                 Allow N jobs at once; infinite jobs with no arg (default 1)
964  -k, --keywords=KEYWORDS
965                 select the tests matching all the comma-separated KEYWORDS
966                 multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD
967      --recheck  select all tests that failed or passed unexpectedly last time
968  -e, --errexit  abort as soon as a test fails; implies --debug
969  -v, --verbose  force more detailed output
970                 default for debugging scripts
971  -d, --debug    inhibit clean up and top-level logging
972                 default for debugging scripts
973  -x, --trace    enable tests shell tracing
974_ATEOF
975cat <<_ATEOF || at_write_fail=1
976
977Report bugs to <bug-direvent@gnu.org.ua>.
978_ATEOF
979  exit $at_write_fail
980fi
981
982# List of tests.
983if $at_list_p; then
984  cat <<_ATEOF || at_write_fail=1
985wordsplit v1.0-6-gd36275f test suite test groups:
986
987 NUM: FILE-NAME:LINE     TEST-GROUP-NAME
988      KEYWORDS
989
990_ATEOF
991  # Pass an empty line as separator between selected groups and help.
992  $as_echo "$at_groups$as_nl$as_nl$at_help_all" |
993    awk 'NF == 1 && FS != ";" {
994	   selected[$ 1] = 1
995	   next
996	 }
997	 /^$/ { FS = ";" }
998	 NF > 0 {
999	   if (selected[$ 1]) {
1000	     printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3
1001	     if ($ 4) {
1002	       lmax = 79
1003	       indent = "     "
1004	       line = indent
1005	       len = length (line)
1006	       n = split ($ 4, a, " ")
1007	       for (i = 1; i <= n; i++) {
1008		 l = length (a[i]) + 1
1009		 if (i > 1 && len + l > lmax) {
1010		   print line
1011		   line = indent " " a[i]
1012		   len = length (line)
1013		 } else {
1014		   line = line " " a[i]
1015		   len += l
1016		 }
1017	       }
1018	       if (n)
1019		 print line
1020	     }
1021	   }
1022	 }' || at_write_fail=1
1023  exit $at_write_fail
1024fi
1025if $at_version_p; then
1026  $as_echo "$as_me (wordsplit v1.0-6-gd36275f)" &&
1027  cat <<\_ATEOF || at_write_fail=1
1028
1029Copyright (C) 2012 Free Software Foundation, Inc.
1030This test suite is free software; the Free Software Foundation gives
1031unlimited permission to copy, distribute and modify it.
1032_ATEOF
1033  exit $at_write_fail
1034fi
1035
1036# Should we print banners?  Yes if more than one test is run.
1037case $at_groups in #(
1038  *$as_nl* )
1039      at_print_banners=: ;; #(
1040  * ) at_print_banners=false ;;
1041esac
1042# Text for banner N, set to a single space once printed.
1043
1044# Take any -C into account.
1045if $at_change_dir ; then
1046  test x != "x$at_dir" && cd "$at_dir" \
1047    || as_fn_error $? "unable to change directory"
1048  at_dir=`pwd`
1049fi
1050
1051# Load the config files for any default variable assignments.
1052for at_file in atconfig atlocal
1053do
1054  test -r $at_file || continue
1055  . ./$at_file || as_fn_error $? "invalid content: $at_file"
1056done
1057
1058# Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix:
1059: "${at_top_build_prefix=$at_top_builddir}"
1060
1061# Perform any assignments requested during argument parsing.
1062eval "$at_debug_args"
1063
1064# atconfig delivers names relative to the directory the test suite is
1065# in, but the groups themselves are run in testsuite-dir/group-dir.
1066if test -n "$at_top_srcdir"; then
1067  builddir=../..
1068  for at_dir_var in srcdir top_srcdir top_build_prefix
1069  do
1070    eval at_val=\$at_$at_dir_var
1071    case $at_val in
1072      [\\/$]* | ?:[\\/]* ) at_prefix= ;;
1073      *) at_prefix=../../ ;;
1074    esac
1075    eval "$at_dir_var=\$at_prefix\$at_val"
1076  done
1077fi
1078
1079## -------------------- ##
1080## Directory structure. ##
1081## -------------------- ##
1082
1083# This is the set of directories and files used by this script
1084# (non-literals are capitalized):
1085#
1086# TESTSUITE         - the testsuite
1087# TESTSUITE.log     - summarizes the complete testsuite run
1088# TESTSUITE.dir/    - created during a run, remains after -d or failed test
1089# + at-groups/      - during a run: status of all groups in run
1090# | + NNN/          - during a run: meta-data about test group NNN
1091# | | + check-line  - location (source file and line) of current AT_CHECK
1092# | | + status      - exit status of current AT_CHECK
1093# | | + stdout      - stdout of current AT_CHECK
1094# | | + stder1      - stderr, including trace
1095# | | + stderr      - stderr, with trace filtered out
1096# | | + test-source - portion of testsuite that defines group
1097# | | + times       - timestamps for computing duration
1098# | | + pass        - created if group passed
1099# | | + xpass       - created if group xpassed
1100# | | + fail        - created if group failed
1101# | | + xfail       - created if group xfailed
1102# | | + skip        - created if group skipped
1103# + at-stop         - during a run: end the run if this file exists
1104# + at-source-lines - during a run: cache of TESTSUITE line numbers for extraction
1105# + 0..NNN/         - created for each group NNN, remains after -d or failed test
1106# | + TESTSUITE.log - summarizes the group results
1107# | + ...           - files created during the group
1108
1109# The directory the whole suite works in.
1110# Should be absolute to let the user `cd' at will.
1111at_suite_dir=$at_dir/$as_me.dir
1112# The file containing the suite ($at_dir might have changed since earlier).
1113at_suite_log=$at_dir/$as_me.log
1114# The directory containing helper files per test group.
1115at_helper_dir=$at_suite_dir/at-groups
1116# Stop file: if it exists, do not start new jobs.
1117at_stop_file=$at_suite_dir/at-stop
1118# The fifo used for the job dispatcher.
1119at_job_fifo=$at_suite_dir/at-job-fifo
1120
1121if $at_clean; then
1122  test -d "$at_suite_dir" &&
1123    find "$at_suite_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
1124  rm -f -r "$at_suite_dir" "$at_suite_log"
1125  exit $?
1126fi
1127
1128# Don't take risks: use only absolute directories in PATH.
1129#
1130# For stand-alone test suites (ie. atconfig was not found),
1131# AUTOTEST_PATH is relative to `.'.
1132#
1133# For embedded test suites, AUTOTEST_PATH is relative to the top level
1134# of the package.  Then expand it into build/src parts, since users
1135# may create executables in both places.
1136AUTOTEST_PATH=`$as_echo "$AUTOTEST_PATH" | sed "s|:|$PATH_SEPARATOR|g"`
1137at_path=
1138as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
1139for as_dir in $AUTOTEST_PATH $PATH
1140do
1141  IFS=$as_save_IFS
1142  test -z "$as_dir" && as_dir=.
1143    test -n "$at_path" && as_fn_append at_path $PATH_SEPARATOR
1144case $as_dir in
1145  [\\/]* | ?:[\\/]* )
1146    as_fn_append at_path "$as_dir"
1147    ;;
1148  * )
1149    if test -z "$at_top_build_prefix"; then
1150      # Stand-alone test suite.
1151      as_fn_append at_path "$as_dir"
1152    else
1153      # Embedded test suite.
1154      as_fn_append at_path "$at_top_build_prefix$as_dir$PATH_SEPARATOR"
1155      as_fn_append at_path "$at_top_srcdir/$as_dir"
1156    fi
1157    ;;
1158esac
1159  done
1160IFS=$as_save_IFS
1161
1162
1163# Now build and simplify PATH.
1164#
1165# There might be directories that don't exist, but don't redirect
1166# builtins' (eg., cd) stderr directly: Ultrix's sh hates that.
1167at_new_path=
1168as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
1169for as_dir in $at_path
1170do
1171  IFS=$as_save_IFS
1172  test -z "$as_dir" && as_dir=.
1173    test -d "$as_dir" || continue
1174case $as_dir in
1175  [\\/]* | ?:[\\/]* ) ;;
1176  * ) as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` ;;
1177esac
1178case $PATH_SEPARATOR$at_new_path$PATH_SEPARATOR in
1179  *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR*) ;;
1180  $PATH_SEPARATOR$PATH_SEPARATOR) at_new_path=$as_dir ;;
1181  *) as_fn_append at_new_path "$PATH_SEPARATOR$as_dir" ;;
1182esac
1183  done
1184IFS=$as_save_IFS
1185
1186PATH=$at_new_path
1187export PATH
1188
1189# Setting up the FDs.
1190
1191
1192
1193# 5 is the log file.  Not to be overwritten if `-d'.
1194if $at_debug_p; then
1195  at_suite_log=/dev/null
1196else
1197  : >"$at_suite_log"
1198fi
1199exec 5>>"$at_suite_log"
1200
1201# Banners and logs.
1202$as_echo "## ------------------------------------- ##
1203## wordsplit v1.0-6-gd36275f test suite. ##
1204## ------------------------------------- ##"
1205{
1206  $as_echo "## ------------------------------------- ##
1207## wordsplit v1.0-6-gd36275f test suite. ##
1208## ------------------------------------- ##"
1209  echo
1210
1211  $as_echo "$as_me: command line was:"
1212  $as_echo "  \$ $0 $at_cli_args"
1213  echo
1214
1215  # If ChangeLog exists, list a few lines in case it might help determining
1216  # the exact version.
1217  if test -n "$at_top_srcdir" && test -f "$at_top_srcdir/ChangeLog"; then
1218    $as_echo "## ---------- ##
1219## ChangeLog. ##
1220## ---------- ##"
1221    echo
1222    sed 's/^/| /;10q' "$at_top_srcdir/ChangeLog"
1223    echo
1224  fi
1225
1226  {
1227cat <<_ASUNAME
1228## --------- ##
1229## Platform. ##
1230## --------- ##
1231
1232hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
1233uname -m = `(uname -m) 2>/dev/null || echo unknown`
1234uname -r = `(uname -r) 2>/dev/null || echo unknown`
1235uname -s = `(uname -s) 2>/dev/null || echo unknown`
1236uname -v = `(uname -v) 2>/dev/null || echo unknown`
1237
1238/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
1239/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
1240
1241/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
1242/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
1243/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
1244/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
1245/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
1246/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
1247/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
1248
1249_ASUNAME
1250
1251as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
1252for as_dir in $PATH
1253do
1254  IFS=$as_save_IFS
1255  test -z "$as_dir" && as_dir=.
1256    $as_echo "PATH: $as_dir"
1257  done
1258IFS=$as_save_IFS
1259
1260}
1261  echo
1262
1263  # Contents of the config files.
1264  for at_file in atconfig atlocal
1265  do
1266    test -r $at_file || continue
1267    $as_echo "$as_me: $at_file:"
1268    sed 's/^/| /' $at_file
1269    echo
1270  done
1271} >&5
1272
1273
1274## ------------------------- ##
1275## Autotest shell functions. ##
1276## ------------------------- ##
1277
1278# at_fn_banner NUMBER
1279# -------------------
1280# Output banner NUMBER, provided the testsuite is running multiple groups and
1281# this particular banner has not yet been printed.
1282at_fn_banner ()
1283{
1284  $at_print_banners || return 0
1285  eval at_banner_text=\$at_banner_text_$1
1286  test "x$at_banner_text" = "x " && return 0
1287  eval "at_banner_text_$1=\" \""
1288  if test -z "$at_banner_text"; then
1289    $at_first || echo
1290  else
1291    $as_echo "$as_nl$at_banner_text$as_nl"
1292  fi
1293} # at_fn_banner
1294
1295# at_fn_check_prepare_notrace REASON LINE
1296# ---------------------------------------
1297# Perform AT_CHECK preparations for the command at LINE for an untraceable
1298# command; REASON is the reason for disabling tracing.
1299at_fn_check_prepare_notrace ()
1300{
1301  $at_trace_echo "Not enabling shell tracing (command contains $1)"
1302  $as_echo "$2" >"$at_check_line_file"
1303  at_check_trace=: at_check_filter=:
1304  : >"$at_stdout"; : >"$at_stderr"
1305}
1306
1307# at_fn_check_prepare_trace LINE
1308# ------------------------------
1309# Perform AT_CHECK preparations for the command at LINE for a traceable
1310# command.
1311at_fn_check_prepare_trace ()
1312{
1313  $as_echo "$1" >"$at_check_line_file"
1314  at_check_trace=$at_traceon at_check_filter=$at_check_filter_trace
1315  : >"$at_stdout"; : >"$at_stderr"
1316}
1317
1318# at_fn_check_prepare_dynamic COMMAND LINE
1319# ----------------------------------------
1320# Decide if COMMAND at LINE is traceable at runtime, and call the appropriate
1321# preparation function.
1322at_fn_check_prepare_dynamic ()
1323{
1324  case $1 in
1325    *$as_nl*)
1326      at_fn_check_prepare_notrace 'an embedded newline' "$2" ;;
1327    *)
1328      at_fn_check_prepare_trace "$2" ;;
1329  esac
1330}
1331
1332# at_fn_filter_trace
1333# ------------------
1334# Remove the lines in the file "$at_stderr" generated by "set -x" and print
1335# them to stderr.
1336at_fn_filter_trace ()
1337{
1338  mv "$at_stderr" "$at_stder1"
1339  grep '^ *+' "$at_stder1" >&2
1340  grep -v '^ *+' "$at_stder1" >"$at_stderr"
1341}
1342
1343# at_fn_log_failure FILE-LIST
1344# ---------------------------
1345# Copy the files in the list on stdout with a "> " prefix, and exit the shell
1346# with a failure exit code.
1347at_fn_log_failure ()
1348{
1349  for file
1350    do $as_echo "$file:"; sed 's/^/> /' "$file"; done
1351  echo 1 > "$at_status_file"
1352  exit 1
1353}
1354
1355# at_fn_check_skip EXIT-CODE LINE
1356# -------------------------------
1357# Check whether EXIT-CODE is a special exit code (77 or 99), and if so exit
1358# the test group subshell with that same exit code. Use LINE in any report
1359# about test failure.
1360at_fn_check_skip ()
1361{
1362  case $1 in
1363    99) echo 99 > "$at_status_file"; at_failed=:
1364	$as_echo "$2: hard failure"; exit 99;;
1365    77) echo 77 > "$at_status_file"; exit 77;;
1366  esac
1367}
1368
1369# at_fn_check_status EXPECTED EXIT-CODE LINE
1370# ------------------------------------------
1371# Check whether EXIT-CODE is the EXPECTED exit code, and if so do nothing.
1372# Otherwise, if it is 77 or 99, exit the test group subshell with that same
1373# exit code; if it is anything else print an error message referring to LINE,
1374# and fail the test.
1375at_fn_check_status ()
1376{
1377  case $2 in
1378    $1 ) ;;
1379    77) echo 77 > "$at_status_file"; exit 77;;
1380    99) echo 99 > "$at_status_file"; at_failed=:
1381	$as_echo "$3: hard failure"; exit 99;;
1382    *) $as_echo "$3: exit code was $2, expected $1"
1383      at_failed=:;;
1384  esac
1385}
1386
1387# at_fn_diff_devnull FILE
1388# -----------------------
1389# Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless diff
1390# invocations.
1391at_fn_diff_devnull ()
1392{
1393  test -s "$1" || return 0
1394  $at_diff "$at_devnull" "$1"
1395}
1396
1397# at_fn_test NUMBER
1398# -----------------
1399# Parse out test NUMBER from the tail of this file.
1400at_fn_test ()
1401{
1402  eval at_sed=\$at_sed$1
1403  sed "$at_sed" "$at_myself" > "$at_test_source"
1404}
1405
1406# at_fn_create_debugging_script
1407# -----------------------------
1408# Create the debugging script $at_group_dir/run which will reproduce the
1409# current test group.
1410at_fn_create_debugging_script ()
1411{
1412  {
1413    echo "#! /bin/sh" &&
1414    echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' &&
1415    $as_echo "cd '$at_dir'" &&
1416    $as_echo "exec \${CONFIG_SHELL-$SHELL} \"$at_myself\" -v -d $at_debug_args $at_group \${1+\"\$@\"}" &&
1417    echo 'exit 1'
1418  } >"$at_group_dir/run" &&
1419  chmod +x "$at_group_dir/run"
1420}
1421
1422## -------------------------------- ##
1423## End of autotest shell functions. ##
1424## -------------------------------- ##
1425{
1426  $as_echo "## ---------------- ##
1427## Tested programs. ##
1428## ---------------- ##"
1429  echo
1430} >&5
1431
1432# Report what programs are being tested.
1433for at_program in : $at_tested
1434do
1435  test "$at_program" = : && continue
1436  case $at_program in
1437    [\\/]* | ?:[\\/]* ) $at_program_=$at_program ;;
1438    * )
1439    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
1440for as_dir in $PATH
1441do
1442  IFS=$as_save_IFS
1443  test -z "$as_dir" && as_dir=.
1444    test -f "$as_dir/$at_program" && break
1445  done
1446IFS=$as_save_IFS
1447
1448    at_program_=$as_dir/$at_program ;;
1449  esac
1450  if test -f "$at_program_"; then
1451    {
1452      $as_echo "$at_srcdir/wordsplit.at:17: $at_program_ --version"
1453      "$at_program_" --version </dev/null
1454      echo
1455    } >&5 2>&1
1456  else
1457    as_fn_error $? "cannot find $at_program" "$LINENO" 5
1458  fi
1459done
1460
1461{
1462  $as_echo "## ------------------ ##
1463## Running the tests. ##
1464## ------------------ ##"
1465} >&5
1466
1467at_start_date=`date`
1468at_start_time=`date +%s 2>/dev/null`
1469$as_echo "$as_me: starting at: $at_start_date" >&5
1470
1471# Create the master directory if it doesn't already exist.
1472as_dir="$at_suite_dir"; as_fn_mkdir_p ||
1473  as_fn_error $? "cannot create \`$at_suite_dir'" "$LINENO" 5
1474
1475# Can we diff with `/dev/null'?  DU 5.0 refuses.
1476if diff /dev/null /dev/null >/dev/null 2>&1; then
1477  at_devnull=/dev/null
1478else
1479  at_devnull=$at_suite_dir/devnull
1480  >"$at_devnull"
1481fi
1482
1483# Use `diff -u' when possible.
1484if at_diff=`diff -u "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_diff"
1485then
1486  at_diff='diff -u'
1487else
1488  at_diff=diff
1489fi
1490
1491# Get the last needed group.
1492for at_group in : $at_groups; do :; done
1493
1494# Extract the start and end lines of each test group at the tail
1495# of this file
1496awk '
1497BEGIN { FS="" }
1498/^#AT_START_/ {
1499  start = NR
1500}
1501/^#AT_STOP_/ {
1502  test = substr ($ 0, 10)
1503  print "at_sed" test "=\"1," start "d;" (NR-1) "q\""
1504  if (test == "'"$at_group"'") exit
1505}' "$at_myself" > "$at_suite_dir/at-source-lines" &&
1506. "$at_suite_dir/at-source-lines" ||
1507  as_fn_error $? "cannot create test line number cache" "$LINENO" 5
1508rm -f "$at_suite_dir/at-source-lines"
1509
1510# Set number of jobs for `-j'; avoid more jobs than test groups.
1511set X $at_groups; shift; at_max_jobs=$#
1512if test $at_max_jobs -eq 0; then
1513  at_jobs=1
1514fi
1515if test $at_jobs -ne 1 &&
1516   { test $at_jobs -eq 0 || test $at_jobs -gt $at_max_jobs; }; then
1517  at_jobs=$at_max_jobs
1518fi
1519
1520# If parallel mode, don't output banners, don't split summary lines.
1521if test $at_jobs -ne 1; then
1522  at_print_banners=false
1523  at_quiet=:
1524fi
1525
1526# Set up helper dirs.
1527rm -rf "$at_helper_dir" &&
1528mkdir "$at_helper_dir" &&
1529cd "$at_helper_dir" &&
1530{ test -z "$at_groups" || mkdir $at_groups; } ||
1531as_fn_error $? "testsuite directory setup failed" "$LINENO" 5
1532
1533# Functions for running a test group.  We leave the actual
1534# test group execution outside of a shell function in order
1535# to avoid hitting zsh 4.x exit status bugs.
1536
1537# at_fn_group_prepare
1538# -------------------
1539# Prepare for running a test group.
1540at_fn_group_prepare ()
1541{
1542  # The directory for additional per-group helper files.
1543  at_job_dir=$at_helper_dir/$at_group
1544  # The file containing the location of the last AT_CHECK.
1545  at_check_line_file=$at_job_dir/check-line
1546  # The file containing the exit status of the last command.
1547  at_status_file=$at_job_dir/status
1548  # The files containing the output of the tested commands.
1549  at_stdout=$at_job_dir/stdout
1550  at_stder1=$at_job_dir/stder1
1551  at_stderr=$at_job_dir/stderr
1552  # The file containing the code for a test group.
1553  at_test_source=$at_job_dir/test-source
1554  # The file containing dates.
1555  at_times_file=$at_job_dir/times
1556
1557  # Be sure to come back to the top test directory.
1558  cd "$at_suite_dir"
1559
1560  # Clearly separate the test groups when verbose.
1561  $at_first || $at_verbose echo
1562
1563  at_group_normalized=$at_group
1564
1565  eval 'while :; do
1566    case $at_group_normalized in #(
1567    '"$at_format"'*) break;;
1568    esac
1569    at_group_normalized=0$at_group_normalized
1570  done'
1571
1572
1573  # Create a fresh directory for the next test group, and enter.
1574  # If one already exists, the user may have invoked ./run from
1575  # within that directory; we remove the contents, but not the
1576  # directory itself, so that we aren't pulling the rug out from
1577  # under the shell's notion of the current directory.
1578  at_group_dir=$at_suite_dir/$at_group_normalized
1579  at_group_log=$at_group_dir/$as_me.log
1580  if test -d "$at_group_dir"; then
1581  find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx {} \;
1582  rm -fr "$at_group_dir"/* "$at_group_dir"/.[!.] "$at_group_dir"/.??*
1583fi ||
1584    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: test directory for $at_group_normalized could not be cleaned" >&5
1585$as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned" >&2;}
1586  # Be tolerant if the above `rm' was not able to remove the directory.
1587  as_dir="$at_group_dir"; as_fn_mkdir_p
1588
1589  echo 0 > "$at_status_file"
1590
1591  # In verbose mode, append to the log file *and* show on
1592  # the standard output; in quiet mode only write to the log.
1593  if test -z "$at_verbose"; then
1594    at_tee_pipe='tee -a "$at_group_log"'
1595  else
1596    at_tee_pipe='cat >> "$at_group_log"'
1597  fi
1598}
1599
1600# at_fn_group_banner ORDINAL LINE DESC PAD [BANNER]
1601# -------------------------------------------------
1602# Declare the test group ORDINAL, located at LINE with group description DESC,
1603# and residing under BANNER. Use PAD to align the status column.
1604at_fn_group_banner ()
1605{
1606  at_setup_line="$2"
1607  test -n "$5" && at_fn_banner $5
1608  at_desc="$3"
1609  case $1 in
1610    [0-9])      at_desc_line="  $1: ";;
1611    [0-9][0-9]) at_desc_line=" $1: " ;;
1612    *)          at_desc_line="$1: "  ;;
1613  esac
1614  as_fn_append at_desc_line "$3$4"
1615  $at_quiet $as_echo_n "$at_desc_line"
1616  echo "#                             -*- compilation -*-" >> "$at_group_log"
1617}
1618
1619# at_fn_group_postprocess
1620# -----------------------
1621# Perform cleanup after running a test group.
1622at_fn_group_postprocess ()
1623{
1624  # Be sure to come back to the suite directory, in particular
1625  # since below we might `rm' the group directory we are in currently.
1626  cd "$at_suite_dir"
1627
1628  if test ! -f "$at_check_line_file"; then
1629    sed "s/^ */$as_me: WARNING: /" <<_ATEOF
1630      A failure happened in a test group before any test could be
1631      run. This means that test suite is improperly designed.  Please
1632      report this failure to <bug-direvent@gnu.org.ua>.
1633_ATEOF
1634    $as_echo "$at_setup_line" >"$at_check_line_file"
1635    at_status=99
1636  fi
1637  $at_verbose $as_echo_n "$at_group. $at_setup_line: "
1638  $as_echo_n "$at_group. $at_setup_line: " >> "$at_group_log"
1639  case $at_xfail:$at_status in
1640    yes:0)
1641	at_msg="UNEXPECTED PASS"
1642	at_res=xpass
1643	at_errexit=$at_errexit_p
1644	at_color=$at_red
1645	;;
1646    no:0)
1647	at_msg="ok"
1648	at_res=pass
1649	at_errexit=false
1650	at_color=$at_grn
1651	;;
1652    *:77)
1653	at_msg='skipped ('`cat "$at_check_line_file"`')'
1654	at_res=skip
1655	at_errexit=false
1656	at_color=$at_blu
1657	;;
1658    no:* | *:99)
1659	at_msg='FAILED ('`cat "$at_check_line_file"`')'
1660	at_res=fail
1661	at_errexit=$at_errexit_p
1662	at_color=$at_red
1663	;;
1664    yes:*)
1665	at_msg='expected failure ('`cat "$at_check_line_file"`')'
1666	at_res=xfail
1667	at_errexit=false
1668	at_color=$at_lgn
1669	;;
1670  esac
1671  echo "$at_res" > "$at_job_dir/$at_res"
1672  # In parallel mode, output the summary line only afterwards.
1673  if test $at_jobs -ne 1 && test -n "$at_verbose"; then
1674    $as_echo "$at_desc_line $at_color$at_msg$at_std"
1675  else
1676    # Make sure there is a separator even with long titles.
1677    $as_echo " $at_color$at_msg$at_std"
1678  fi
1679  at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg"
1680  case $at_status in
1681    0|77)
1682      # $at_times_file is only available if the group succeeded.
1683      # We're not including the group log, so the success message
1684      # is written in the global log separately.  But we also
1685      # write to the group log in case they're using -d.
1686      if test -f "$at_times_file"; then
1687	at_log_msg="$at_log_msg     ("`sed 1d "$at_times_file"`')'
1688	rm -f "$at_times_file"
1689      fi
1690      $as_echo "$at_log_msg" >> "$at_group_log"
1691      $as_echo "$at_log_msg" >&5
1692
1693      # Cleanup the group directory, unless the user wants the files
1694      # or the success was unexpected.
1695      if $at_debug_p || test $at_res = xpass; then
1696	at_fn_create_debugging_script
1697	if test $at_res = xpass && $at_errexit; then
1698	  echo stop > "$at_stop_file"
1699	fi
1700      else
1701	if test -d "$at_group_dir"; then
1702	  find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
1703	  rm -fr "$at_group_dir"
1704	fi
1705	rm -f "$at_test_source"
1706      fi
1707      ;;
1708    *)
1709      # Upon failure, include the log into the testsuite's global
1710      # log.  The failure message is written in the group log.  It
1711      # is later included in the global log.
1712      $as_echo "$at_log_msg" >> "$at_group_log"
1713
1714      # Upon failure, keep the group directory for autopsy, and create
1715      # the debugging script.  With -e, do not start any further tests.
1716      at_fn_create_debugging_script
1717      if $at_errexit; then
1718	echo stop > "$at_stop_file"
1719      fi
1720      ;;
1721  esac
1722}
1723
1724
1725## ------------ ##
1726## Driver loop. ##
1727## ------------ ##
1728
1729
1730if (set -m && set +m && set +b) >/dev/null 2>&1; then
1731  set +b
1732  at_job_control_on='set -m' at_job_control_off='set +m' at_job_group=-
1733else
1734  at_job_control_on=: at_job_control_off=: at_job_group=
1735fi
1736
1737for at_signal in 1 2 15; do
1738  trap 'set +x; set +e
1739	$at_job_control_off
1740	at_signal='"$at_signal"'
1741	echo stop > "$at_stop_file"
1742	trap "" $at_signal
1743	at_pgids=
1744	for at_pgid in `jobs -p 2>/dev/null`; do
1745	  at_pgids="$at_pgids $at_job_group$at_pgid"
1746	done
1747	test -z "$at_pgids" || kill -$at_signal $at_pgids 2>/dev/null
1748	wait
1749	if test "$at_jobs" -eq 1 || test -z "$at_verbose"; then
1750	  echo >&2
1751	fi
1752	at_signame=`kill -l $at_signal 2>&1 || echo $at_signal`
1753	set x $at_signame
1754	test 0 -gt 2 && at_signame=$at_signal
1755	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: caught signal $at_signame, bailing out" >&5
1756$as_echo "$as_me: WARNING: caught signal $at_signame, bailing out" >&2;}
1757	as_fn_arith 128 + $at_signal && exit_status=$as_val
1758	as_fn_exit $exit_status' $at_signal
1759done
1760
1761rm -f "$at_stop_file"
1762at_first=:
1763
1764if test $at_jobs -ne 1 &&
1765     rm -f "$at_job_fifo" &&
1766     test -n "$at_job_group" &&
1767     ( mkfifo "$at_job_fifo" && trap 'exit 1' PIPE STOP TSTP ) 2>/dev/null
1768then
1769  # FIFO job dispatcher.
1770
1771  trap 'at_pids=
1772	for at_pid in `jobs -p`; do
1773	  at_pids="$at_pids $at_job_group$at_pid"
1774	done
1775	if test -n "$at_pids"; then
1776	  at_sig=TSTP
1777	  test "${TMOUT+set}" = set && at_sig=STOP
1778	  kill -$at_sig $at_pids 2>/dev/null
1779	fi
1780	kill -STOP $$
1781	test -z "$at_pids" || kill -CONT $at_pids 2>/dev/null' TSTP
1782
1783  echo
1784  # Turn jobs into a list of numbers, starting from 1.
1785  at_joblist=`$as_echo "$at_groups" | sed -n 1,${at_jobs}p`
1786
1787  set X $at_joblist
1788  shift
1789  for at_group in $at_groups; do
1790    $at_job_control_on 2>/dev/null
1791    (
1792      # Start one test group.
1793      $at_job_control_off
1794      if $at_first; then
1795	exec 7>"$at_job_fifo"
1796      else
1797	exec 6<&-
1798      fi
1799      trap 'set +x; set +e
1800	    trap "" PIPE
1801	    echo stop > "$at_stop_file"
1802	    echo >&7
1803	    as_fn_exit 141' PIPE
1804      at_fn_group_prepare
1805      if cd "$at_group_dir" &&
1806	 at_fn_test $at_group &&
1807	 . "$at_test_source"
1808      then :; else
1809	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5
1810$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;}
1811	at_failed=:
1812      fi
1813      at_fn_group_postprocess
1814      echo >&7
1815    ) &
1816    $at_job_control_off
1817    if $at_first; then
1818      at_first=false
1819      exec 6<"$at_job_fifo" 7>"$at_job_fifo"
1820    fi
1821    shift # Consume one token.
1822    if test $# -gt 0; then :; else
1823      read at_token <&6 || break
1824      set x $*
1825    fi
1826    test -f "$at_stop_file" && break
1827  done
1828  exec 7>&-
1829  # Read back the remaining ($at_jobs - 1) tokens.
1830  set X $at_joblist
1831  shift
1832  if test $# -gt 0; then
1833    shift
1834    for at_job
1835    do
1836      read at_token
1837    done <&6
1838  fi
1839  exec 6<&-
1840  wait
1841else
1842  # Run serially, avoid forks and other potential surprises.
1843  for at_group in $at_groups; do
1844    at_fn_group_prepare
1845    if cd "$at_group_dir" &&
1846       at_fn_test $at_group &&
1847       . "$at_test_source"; then :; else
1848      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5
1849$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;}
1850      at_failed=:
1851    fi
1852    at_fn_group_postprocess
1853    test -f "$at_stop_file" && break
1854    at_first=false
1855  done
1856fi
1857
1858# Wrap up the test suite with summary statistics.
1859cd "$at_helper_dir"
1860
1861# Use ?..???? when the list must remain sorted, the faster * otherwise.
1862at_pass_list=`for f in */pass; do echo $f; done | sed '/\*/d; s,/pass,,'`
1863at_skip_list=`for f in */skip; do echo $f; done | sed '/\*/d; s,/skip,,'`
1864at_xfail_list=`for f in */xfail; do echo $f; done | sed '/\*/d; s,/xfail,,'`
1865at_xpass_list=`for f in ?/xpass ??/xpass ???/xpass ????/xpass; do
1866		 echo $f; done | sed '/?/d; s,/xpass,,'`
1867at_fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do
1868		echo $f; done | sed '/?/d; s,/fail,,'`
1869
1870set X $at_pass_list $at_xpass_list $at_xfail_list $at_fail_list $at_skip_list
1871shift; at_group_count=$#
1872set X $at_xpass_list; shift; at_xpass_count=$#; at_xpass_list=$*
1873set X $at_xfail_list; shift; at_xfail_count=$#
1874set X $at_fail_list; shift; at_fail_count=$#; at_fail_list=$*
1875set X $at_skip_list; shift; at_skip_count=$#
1876
1877as_fn_arith $at_group_count - $at_skip_count && at_run_count=$as_val
1878as_fn_arith $at_xpass_count + $at_fail_count && at_unexpected_count=$as_val
1879as_fn_arith $at_xfail_count + $at_fail_count && at_total_fail_count=$as_val
1880
1881# Back to the top directory.
1882cd "$at_dir"
1883rm -rf "$at_helper_dir"
1884
1885# Compute the duration of the suite.
1886at_stop_date=`date`
1887at_stop_time=`date +%s 2>/dev/null`
1888$as_echo "$as_me: ending at: $at_stop_date" >&5
1889case $at_start_time,$at_stop_time in
1890  [0-9]*,[0-9]*)
1891    as_fn_arith $at_stop_time - $at_start_time && at_duration_s=$as_val
1892    as_fn_arith $at_duration_s / 60 && at_duration_m=$as_val
1893    as_fn_arith $at_duration_m / 60 && at_duration_h=$as_val
1894    as_fn_arith $at_duration_s % 60 && at_duration_s=$as_val
1895    as_fn_arith $at_duration_m % 60 && at_duration_m=$as_val
1896    at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s"
1897    $as_echo "$as_me: test suite duration: $at_duration" >&5
1898    ;;
1899esac
1900
1901echo
1902$as_echo "## ------------- ##
1903## Test results. ##
1904## ------------- ##"
1905echo
1906{
1907  echo
1908  $as_echo "## ------------- ##
1909## Test results. ##
1910## ------------- ##"
1911  echo
1912} >&5
1913
1914if test $at_run_count = 1; then
1915  at_result="1 test"
1916  at_were=was
1917else
1918  at_result="$at_run_count tests"
1919  at_were=were
1920fi
1921if $at_errexit_p && test $at_unexpected_count != 0; then
1922  if test $at_xpass_count = 1; then
1923    at_result="$at_result $at_were run, one passed"
1924  else
1925    at_result="$at_result $at_were run, one failed"
1926  fi
1927  at_result="$at_result unexpectedly and inhibited subsequent tests."
1928  at_color=$at_red
1929else
1930  # Don't you just love exponential explosion of the number of cases?
1931  at_color=$at_red
1932  case $at_xpass_count:$at_fail_count:$at_xfail_count in
1933    # So far, so good.
1934    0:0:0) at_result="$at_result $at_were successful." at_color=$at_grn ;;
1935    0:0:*) at_result="$at_result behaved as expected." at_color=$at_lgn ;;
1936
1937    # Some unexpected failures
1938    0:*:0) at_result="$at_result $at_were run,
1939$at_fail_count failed unexpectedly." ;;
1940
1941    # Some failures, both expected and unexpected
1942    0:*:1) at_result="$at_result $at_were run,
1943$at_total_fail_count failed ($at_xfail_count expected failure)." ;;
1944    0:*:*) at_result="$at_result $at_were run,
1945$at_total_fail_count failed ($at_xfail_count expected failures)." ;;
1946
1947    # No unexpected failures, but some xpasses
1948    *:0:*) at_result="$at_result $at_were run,
1949$at_xpass_count passed unexpectedly." ;;
1950
1951    # No expected failures, but failures and xpasses
1952    *:1:0) at_result="$at_result $at_were run,
1953$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;;
1954    *:*:0) at_result="$at_result $at_were run,
1955$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;;
1956
1957    # All of them.
1958    *:*:1) at_result="$at_result $at_were run,
1959$at_xpass_count passed unexpectedly,
1960$at_total_fail_count failed ($at_xfail_count expected failure)." ;;
1961    *:*:*) at_result="$at_result $at_were run,
1962$at_xpass_count passed unexpectedly,
1963$at_total_fail_count failed ($at_xfail_count expected failures)." ;;
1964  esac
1965
1966  if test $at_skip_count = 0 && test $at_run_count -gt 1; then
1967    at_result="All $at_result"
1968  fi
1969fi
1970
1971# Now put skips in the mix.
1972case $at_skip_count in
1973  0) ;;
1974  1) at_result="$at_result
19751 test was skipped." ;;
1976  *) at_result="$at_result
1977$at_skip_count tests were skipped." ;;
1978esac
1979
1980if test $at_unexpected_count = 0; then
1981  echo "$at_color$at_result$at_std"
1982  echo "$at_result" >&5
1983else
1984  echo "${at_color}ERROR: $at_result$at_std" >&2
1985  echo "ERROR: $at_result" >&5
1986  {
1987    echo
1988    $as_echo "## ------------------------ ##
1989## Summary of the failures. ##
1990## ------------------------ ##"
1991
1992    # Summary of failed and skipped tests.
1993    if test $at_fail_count != 0; then
1994      echo "Failed tests:"
1995      $SHELL "$at_myself" $at_fail_list --list
1996      echo
1997    fi
1998    if test $at_skip_count != 0; then
1999      echo "Skipped tests:"
2000      $SHELL "$at_myself" $at_skip_list --list
2001      echo
2002    fi
2003    if test $at_xpass_count != 0; then
2004      echo "Unexpected passes:"
2005      $SHELL "$at_myself" $at_xpass_list --list
2006      echo
2007    fi
2008    if test $at_fail_count != 0; then
2009      $as_echo "## ---------------------- ##
2010## Detailed failed tests. ##
2011## ---------------------- ##"
2012      echo
2013      for at_group in $at_fail_list
2014      do
2015	at_group_normalized=$at_group
2016
2017  eval 'while :; do
2018    case $at_group_normalized in #(
2019    '"$at_format"'*) break;;
2020    esac
2021    at_group_normalized=0$at_group_normalized
2022  done'
2023
2024	cat "$at_suite_dir/$at_group_normalized/$as_me.log"
2025	echo
2026      done
2027      echo
2028    fi
2029    if test -n "$at_top_srcdir"; then
2030      sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
2031## ${at_top_build_prefix}config.log ##
2032_ASBOX
2033      sed 's/^/| /' ${at_top_build_prefix}config.log
2034      echo
2035    fi
2036  } >&5
2037
2038  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
2039## $as_me.log was created. ##
2040_ASBOX
2041
2042  echo
2043  if $at_debug_p; then
2044    at_msg='per-test log files'
2045  else
2046    at_msg="\`${at_testdir+${at_testdir}/}$as_me.log'"
2047  fi
2048  $as_echo "Please send $at_msg and all information you think might help:
2049
2050   To: <bug-direvent@gnu.org.ua>
2051   Subject: [wordsplit v1.0-6-gd36275f] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
2052
2053You may investigate any problem if you feel able to do so, in which
2054case the test suite provides a good starting point.  Its output may
2055be found below \`${at_testdir+${at_testdir}/}$as_me.dir'.
2056"
2057  exit 1
2058fi
2059
2060exit 0
2061
2062## ------------- ##
2063## Actual tests. ##
2064## ------------- ##
2065#AT_START_1
2066at_fn_group_banner 1 'wordsplit.at:59' \
2067  "simple input" "                                   "
2068at_xfail=no
2069(
2070  $as_echo "1. $at_setup_line: testing $at_desc ..."
2071  $at_traceon
2072
2073
2074{ set +x
2075$as_echo "$at_srcdir/wordsplit.at:59:
2076 wsp  <<'EOT'
20771 2 3
2078EOT
2079"
2080at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:59"
2081( $at_check_trace;
2082 wsp  <<'EOT'
20831 2 3
2084EOT
2085
2086) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2087at_status=$? at_failed=false
2088$at_check_filter
2089at_fn_diff_devnull "$at_stderr" || at_failed=:
2090echo >>"$at_stdout"; $as_echo "NF: 3
20910: 1
20921: 2
20932: 3
2094TOTAL: 3
2095" | \
2096  $at_diff - "$at_stdout" || at_failed=:
2097at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:59"
2098$at_failed && at_fn_log_failure
2099$at_traceon; }
2100
2101  set +x
2102  $at_times_p && times >"$at_times_file"
2103) 5>&1 2>&1 7>&- | eval $at_tee_pipe
2104read at_status <"$at_status_file"
2105#AT_STOP_1
2106#AT_START_2
2107at_fn_group_banner 2 'wordsplit.at:68' \
2108  "quoted space" "                                   "
2109at_xfail=no
2110(
2111  $as_echo "2. $at_setup_line: testing $at_desc ..."
2112  $at_traceon
2113
2114
2115{ set +x
2116$as_echo "$at_srcdir/wordsplit.at:68:
2117 wsp  <<'EOT'
2118quoted\\ space
2119EOT
2120"
2121at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:68"
2122( $at_check_trace;
2123 wsp  <<'EOT'
2124quoted\ space
2125EOT
2126
2127) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2128at_status=$? at_failed=false
2129$at_check_filter
2130at_fn_diff_devnull "$at_stderr" || at_failed=:
2131echo >>"$at_stdout"; $as_echo "NF: 1
21320: \"quoted space\"
2133TOTAL: 1
2134" | \
2135  $at_diff - "$at_stdout" || at_failed=:
2136at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:68"
2137$at_failed && at_fn_log_failure
2138$at_traceon; }
2139
2140  set +x
2141  $at_times_p && times >"$at_times_file"
2142) 5>&1 2>&1 7>&- | eval $at_tee_pipe
2143read at_status <"$at_status_file"
2144#AT_STOP_2
2145#AT_START_3
2146at_fn_group_banner 3 'wordsplit.at:75' \
2147  "tab character" "                                  "
2148at_xfail=no
2149(
2150  $as_echo "3. $at_setup_line: testing $at_desc ..."
2151  $at_traceon
2152
2153
2154{ set +x
2155$as_echo "$at_srcdir/wordsplit.at:75:
2156 wsp  <<'EOT'
2157a \"tab	character\"
2158EOT
2159"
2160at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:75"
2161( $at_check_trace;
2162 wsp  <<'EOT'
2163a "tab	character"
2164EOT
2165
2166) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2167at_status=$? at_failed=false
2168$at_check_filter
2169at_fn_diff_devnull "$at_stderr" || at_failed=:
2170echo >>"$at_stdout"; $as_echo "NF: 2
21710: a
21721: tab\\tcharacter
2173TOTAL: 2
2174" | \
2175  $at_diff - "$at_stdout" || at_failed=:
2176at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:75"
2177$at_failed && at_fn_log_failure
2178$at_traceon; }
2179
2180  set +x
2181  $at_times_p && times >"$at_times_file"
2182) 5>&1 2>&1 7>&- | eval $at_tee_pipe
2183read at_status <"$at_status_file"
2184#AT_STOP_3
2185#AT_START_4
2186at_fn_group_banner 4 'wordsplit.at:84' \
2187  "octal and hex escapes" "                          "
2188at_xfail=no
2189(
2190  $as_echo "4. $at_setup_line: testing $at_desc ..."
2191  $at_traceon
2192
2193
2194{ set +x
2195$as_echo "$at_srcdir/wordsplit.at:84:
2196 wsp  <<'EOT'
2197\\157\\143\\164\\141\\154\\40and\\x20\\x68\\x65\\x78
2198EOT
2199"
2200at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:84"
2201( $at_check_trace;
2202 wsp  <<'EOT'
2203\157\143\164\141\154\40and\x20\x68\x65\x78
2204EOT
2205
2206) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2207at_status=$? at_failed=false
2208$at_check_filter
2209at_fn_diff_devnull "$at_stderr" || at_failed=:
2210echo >>"$at_stdout"; $as_echo "NF: 1
22110: \"octal and hex\"
2212TOTAL: 1
2213" | \
2214  $at_diff - "$at_stdout" || at_failed=:
2215at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:84"
2216$at_failed && at_fn_log_failure
2217$at_traceon; }
2218
2219  set +x
2220  $at_times_p && times >"$at_times_file"
2221) 5>&1 2>&1 7>&- | eval $at_tee_pipe
2222read at_status <"$at_status_file"
2223#AT_STOP_4
2224#AT_START_5
2225at_fn_group_banner 5 'wordsplit.at:91' \
2226  "octal and hex escapes 2" "                        "
2227at_xfail=no
2228(
2229  $as_echo "5. $at_setup_line: testing $at_desc ..."
2230  $at_traceon
2231
2232
2233{ set +x
2234$as_echo "$at_srcdir/wordsplit.at:91:
2235 wsp  <<'EOT'
2236\\157\\143\\164\\141\\154\\40 and \\x20\\x68\\x65\\x78
2237EOT
2238"
2239at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:91"
2240( $at_check_trace;
2241 wsp  <<'EOT'
2242\157\143\164\141\154\40 and \x20\x68\x65\x78
2243EOT
2244
2245) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2246at_status=$? at_failed=false
2247$at_check_filter
2248at_fn_diff_devnull "$at_stderr" || at_failed=:
2249echo >>"$at_stdout"; $as_echo "NF: 3
22500: \"octal \"
22511: and
22522: \" hex\"
2253TOTAL: 3
2254" | \
2255  $at_diff - "$at_stdout" || at_failed=:
2256at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:91"
2257$at_failed && at_fn_log_failure
2258$at_traceon; }
2259
2260  set +x
2261  $at_times_p && times >"$at_times_file"
2262) 5>&1 2>&1 7>&- | eval $at_tee_pipe
2263read at_status <"$at_status_file"
2264#AT_STOP_5
2265#AT_START_6
2266at_fn_group_banner 6 'wordsplit.at:100' \
2267  "escape representation" "                          "
2268at_xfail=no
2269(
2270  $as_echo "6. $at_setup_line: testing $at_desc ..."
2271  $at_traceon
2272
2273
2274{ set +x
2275$as_echo "$at_srcdir/wordsplit.at:100:
2276 wsp  <<'EOT'
2277A\\x3-\\48\\39
2278EOT
2279"
2280at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:100"
2281( $at_check_trace;
2282 wsp  <<'EOT'
2283A\x3-\48\39
2284EOT
2285
2286) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2287at_status=$? at_failed=false
2288$at_check_filter
2289at_fn_diff_devnull "$at_stderr" || at_failed=:
2290echo >>"$at_stdout"; $as_echo "NF: 1
22910: A\\003-\\0048\\0039
2292TOTAL: 1
2293" | \
2294  $at_diff - "$at_stdout" || at_failed=:
2295at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:100"
2296$at_failed && at_fn_log_failure
2297$at_traceon; }
2298
2299  set +x
2300  $at_times_p && times >"$at_times_file"
2301) 5>&1 2>&1 7>&- | eval $at_tee_pipe
2302read at_status <"$at_status_file"
2303#AT_STOP_6
2304#AT_START_7
2305at_fn_group_banner 7 'wordsplit.at:112' \
2306  "append" "                                         "
2307at_xfail=no
2308(
2309  $as_echo "7. $at_setup_line: testing $at_desc ..."
2310  $at_traceon
2311
2312
2313{ set +x
2314$as_echo "$at_srcdir/wordsplit.at:112:
2315 wsp -append <<'EOT'
2316jeden dwa trzy
2317cztery
2318piec szesc
2319EOT
2320"
2321at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:112"
2322( $at_check_trace;
2323 wsp -append <<'EOT'
2324jeden dwa trzy
2325cztery
2326piec szesc
2327EOT
2328
2329) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2330at_status=$? at_failed=false
2331$at_check_filter
2332at_fn_diff_devnull "$at_stderr" || at_failed=:
2333echo >>"$at_stdout"; $as_echo "NF: 3
23340: jeden
23351: dwa
23362: trzy
2337TOTAL: 3
2338NF: 4
23390: jeden
23401: dwa
23412: trzy
23423: cztery
2343TOTAL: 1
2344NF: 6
23450: jeden
23461: dwa
23472: trzy
23483: cztery
23494: piec
23505: szesc
2351TOTAL: 2
2352" | \
2353  $at_diff - "$at_stdout" || at_failed=:
2354at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:112"
2355$at_failed && at_fn_log_failure
2356$at_traceon; }
2357
2358  set +x
2359  $at_times_p && times >"$at_times_file"
2360) 5>&1 2>&1 7>&- | eval $at_tee_pipe
2361read at_status <"$at_status_file"
2362#AT_STOP_7
2363#AT_START_8
2364at_fn_group_banner 8 'wordsplit.at:137' \
2365  "dooffs" "                                         "
2366at_xfail=no
2367(
2368  $as_echo "8. $at_setup_line: testing $at_desc ..."
2369  $at_traceon
2370
2371
2372{ set +x
2373$as_echo "$at_srcdir/wordsplit.at:137:
2374 wsp -dooffs jeden dwa trzy <<'EOT'
2375cztery piec
2376EOT
2377"
2378at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:137"
2379( $at_check_trace;
2380 wsp -dooffs jeden dwa trzy <<'EOT'
2381cztery piec
2382EOT
2383
2384) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2385at_status=$? at_failed=false
2386$at_check_filter
2387at_fn_diff_devnull "$at_stderr" || at_failed=:
2388echo >>"$at_stdout"; $as_echo "NF: 2 (3)
2389(0): jeden
2390(1): dwa
2391(2): trzy
23923: cztery
23934: piec
2394TOTAL: 2
2395" | \
2396  $at_diff - "$at_stdout" || at_failed=:
2397at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:137"
2398$at_failed && at_fn_log_failure
2399$at_traceon; }
2400
2401  set +x
2402  $at_times_p && times >"$at_times_file"
2403) 5>&1 2>&1 7>&- | eval $at_tee_pipe
2404read at_status <"$at_status_file"
2405#AT_STOP_8
2406#AT_START_9
2407at_fn_group_banner 9 'wordsplit.at:150' \
2408  "variable substitutions: single var" "             "
2409at_xfail=no
2410(
2411  $as_echo "9. $at_setup_line: testing $at_desc ..."
2412  $at_traceon
2413
2414
2415{ set +x
2416$as_echo "$at_srcdir/wordsplit.at:150:
2417FOO=bar wsp  <<'EOT'
2418a \$FOO test
2419EOT
2420"
2421at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:150"
2422( $at_check_trace;
2423FOO=bar wsp  <<'EOT'
2424a $FOO test
2425EOT
2426
2427) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2428at_status=$? at_failed=false
2429$at_check_filter
2430at_fn_diff_devnull "$at_stderr" || at_failed=:
2431echo >>"$at_stdout"; $as_echo "NF: 3
24320: a
24331: bar
24342: test
2435TOTAL: 3
2436" | \
2437  $at_diff - "$at_stdout" || at_failed=:
2438at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:150"
2439$at_failed && at_fn_log_failure
2440$at_traceon; }
2441
2442  set +x
2443  $at_times_p && times >"$at_times_file"
2444) 5>&1 2>&1 7>&- | eval $at_tee_pipe
2445read at_status <"$at_status_file"
2446#AT_STOP_9
2447#AT_START_10
2448at_fn_group_banner 10 'wordsplit.at:161' \
2449  "variable substitutions: concatenated vars" "      "
2450at_xfail=no
2451(
2452  $as_echo "10. $at_setup_line: testing $at_desc ..."
2453  $at_traceon
2454
2455
2456{ set +x
2457$as_echo "$at_srcdir/wordsplit.at:161:
2458FOO=str BAR=ing wsp  <<'EOT'
2459a \$FOO\${BAR}ent test
2460EOT
2461"
2462at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:161"
2463( $at_check_trace;
2464FOO=str BAR=ing wsp  <<'EOT'
2465a $FOO${BAR}ent test
2466EOT
2467
2468) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2469at_status=$? at_failed=false
2470$at_check_filter
2471at_fn_diff_devnull "$at_stderr" || at_failed=:
2472echo >>"$at_stdout"; $as_echo "NF: 3
24730: a
24741: stringent
24752: test
2476TOTAL: 3
2477" | \
2478  $at_diff - "$at_stdout" || at_failed=:
2479at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:161"
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_10
2488#AT_START_11
2489at_fn_group_banner 11 'wordsplit.at:173' \
2490  "variable substitutions: field splitting" "        "
2491at_xfail=no
2492(
2493  $as_echo "11. $at_setup_line: testing $at_desc ..."
2494  $at_traceon
2495
2496
2497{ set +x
2498$as_echo "$at_srcdir/wordsplit.at:173:
2499FOO=\"variable substitution\" wsp  <<'EOT'
2500a \$FOO test
2501EOT
2502"
2503at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:173"
2504( $at_check_trace;
2505FOO="variable substitution" wsp  <<'EOT'
2506a $FOO test
2507EOT
2508
2509) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2510at_status=$? at_failed=false
2511$at_check_filter
2512at_fn_diff_devnull "$at_stderr" || at_failed=:
2513echo >>"$at_stdout"; $as_echo "NF: 4
25140: a
25151: variable
25162: substitution
25173: test
2518TOTAL: 4
2519" | \
2520  $at_diff - "$at_stdout" || at_failed=:
2521at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:173"
2522$at_failed && at_fn_log_failure
2523$at_traceon; }
2524
2525  set +x
2526  $at_times_p && times >"$at_times_file"
2527) 5>&1 2>&1 7>&- | eval $at_tee_pipe
2528read at_status <"$at_status_file"
2529#AT_STOP_11
2530#AT_START_12
2531at_fn_group_banner 12 'wordsplit.at:185' \
2532  "variable substitutions: double-quoted variable" " "
2533at_xfail=no
2534(
2535  $as_echo "12. $at_setup_line: testing $at_desc ..."
2536  $at_traceon
2537
2538
2539{ set +x
2540$as_echo "$at_srcdir/wordsplit.at:185:
2541FOO=\"variable substitution\" wsp  <<'EOT'
2542a \"\$FOO\" test
2543EOT
2544"
2545at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:185"
2546( $at_check_trace;
2547FOO="variable substitution" wsp  <<'EOT'
2548a "$FOO" test
2549EOT
2550
2551) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2552at_status=$? at_failed=false
2553$at_check_filter
2554at_fn_diff_devnull "$at_stderr" || at_failed=:
2555echo >>"$at_stdout"; $as_echo "NF: 3
25560: a
25571: \"variable substitution\"
25582: test
2559TOTAL: 3
2560" | \
2561  $at_diff - "$at_stdout" || at_failed=:
2562at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:185"
2563$at_failed && at_fn_log_failure
2564$at_traceon; }
2565
2566  set +x
2567  $at_times_p && times >"$at_times_file"
2568) 5>&1 2>&1 7>&- | eval $at_tee_pipe
2569read at_status <"$at_status_file"
2570#AT_STOP_12
2571#AT_START_13
2572at_fn_group_banner 13 'wordsplit.at:196' \
2573  "variable substitutions: single-quoted variable" " "
2574at_xfail=no
2575(
2576  $as_echo "13. $at_setup_line: testing $at_desc ..."
2577  $at_traceon
2578
2579
2580{ set +x
2581$as_echo "$at_srcdir/wordsplit.at:196:
2582FOO=\"variable substitution\" wsp  <<'EOT'
2583a '\$FOO' test
2584EOT
2585"
2586at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:196"
2587( $at_check_trace;
2588FOO="variable substitution" wsp  <<'EOT'
2589a '$FOO' test
2590EOT
2591
2592) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2593at_status=$? at_failed=false
2594$at_check_filter
2595at_fn_diff_devnull "$at_stderr" || at_failed=:
2596echo >>"$at_stdout"; $as_echo "NF: 3
25970: a
25981: \$FOO
25992: test
2600TOTAL: 3
2601" | \
2602  $at_diff - "$at_stdout" || at_failed=:
2603at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:196"
2604$at_failed && at_fn_log_failure
2605$at_traceon; }
2606
2607  set +x
2608  $at_times_p && times >"$at_times_file"
2609) 5>&1 2>&1 7>&- | eval $at_tee_pipe
2610read at_status <"$at_status_file"
2611#AT_STOP_13
2612#AT_START_14
2613at_fn_group_banner 14 'wordsplit.at:207' \
2614  "undefined variables 1" "                          "
2615at_xfail=no
2616(
2617  $as_echo "14. $at_setup_line: testing $at_desc ..."
2618  $at_traceon
2619
2620
2621{ set +x
2622$as_echo "$at_srcdir/wordsplit.at:207:
2623unset FOO; wsp  <<'EOT'
2624a \$FOO test a\${FOO}b
2625EOT
2626"
2627at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:207"
2628( $at_check_trace;
2629unset FOO; wsp  <<'EOT'
2630a $FOO test a${FOO}b
2631EOT
2632
2633) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2634at_status=$? at_failed=false
2635$at_check_filter
2636at_fn_diff_devnull "$at_stderr" || at_failed=:
2637echo >>"$at_stdout"; $as_echo "NF: 3
26380: a
26391: test
26402: ab
2641TOTAL: 3
2642" | \
2643  $at_diff - "$at_stdout" || at_failed=:
2644at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:207"
2645$at_failed && at_fn_log_failure
2646$at_traceon; }
2647
2648  set +x
2649  $at_times_p && times >"$at_times_file"
2650) 5>&1 2>&1 7>&- | eval $at_tee_pipe
2651read at_status <"$at_status_file"
2652#AT_STOP_14
2653#AT_START_15
2654at_fn_group_banner 15 'wordsplit.at:218' \
2655  "undefined variables 2" "                          "
2656at_xfail=no
2657(
2658  $as_echo "15. $at_setup_line: testing $at_desc ..."
2659  $at_traceon
2660
2661
2662{ set +x
2663$as_echo "$at_srcdir/wordsplit.at:218:
2664unset FOO; wsp -keepundef <<'EOT'
2665a \$FOO test a\${FOO}b
2666EOT
2667"
2668at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:218"
2669( $at_check_trace;
2670unset FOO; wsp -keepundef <<'EOT'
2671a $FOO test a${FOO}b
2672EOT
2673
2674) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2675at_status=$? at_failed=false
2676$at_check_filter
2677at_fn_diff_devnull "$at_stderr" || at_failed=:
2678echo >>"$at_stdout"; $as_echo "NF: 4
26790: a
26801: \$FOO
26812: test
26823: a\${FOO}b
2683TOTAL: 4
2684" | \
2685  $at_diff - "$at_stdout" || at_failed=:
2686at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:218"
2687$at_failed && at_fn_log_failure
2688$at_traceon; }
2689
2690  set +x
2691  $at_times_p && times >"$at_times_file"
2692) 5>&1 2>&1 7>&- | eval $at_tee_pipe
2693read at_status <"$at_status_file"
2694#AT_STOP_15
2695#AT_START_16
2696at_fn_group_banner 16 'wordsplit.at:230' \
2697  "warn about undefined variables" "                 "
2698at_xfail=no
2699(
2700  $as_echo "16. $at_setup_line: testing $at_desc ..."
2701  $at_traceon
2702
2703
2704{ set +x
2705$as_echo "$at_srcdir/wordsplit.at:230:
2706unset FOO; wsp -warnundef <<'EOT'
2707\$FOO
2708EOT
2709"
2710at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:230"
2711( $at_check_trace;
2712unset FOO; wsp -warnundef <<'EOT'
2713$FOO
2714EOT
2715
2716) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2717at_status=$? at_failed=false
2718$at_check_filter
2719echo >>"$at_stderr"; $as_echo "warning: undefined variable \`FOO'
2720" | \
2721  $at_diff - "$at_stderr" || at_failed=:
2722echo >>"$at_stdout"; $as_echo "NF: 0
2723TOTAL: 0
2724" | \
2725  $at_diff - "$at_stdout" || at_failed=:
2726at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:230"
2727$at_failed && at_fn_log_failure
2728$at_traceon; }
2729
2730  set +x
2731  $at_times_p && times >"$at_times_file"
2732) 5>&1 2>&1 7>&- | eval $at_tee_pipe
2733read at_status <"$at_status_file"
2734#AT_STOP_16
2735#AT_START_17
2736at_fn_group_banner 17 'wordsplit.at:239' \
2737  "bail out on undefined variables" "                "
2738at_xfail=no
2739(
2740  $as_echo "17. $at_setup_line: testing $at_desc ..."
2741  $at_traceon
2742
2743
2744{ set +x
2745$as_echo "$at_srcdir/wordsplit.at:239:
2746unset FOO; wsp -undef <<'EOT'
2747\$FOO
2748EOT
2749"
2750at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:239"
2751( $at_check_trace;
2752unset FOO; wsp -undef <<'EOT'
2753$FOO
2754EOT
2755
2756) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2757at_status=$? at_failed=false
2758$at_check_filter
2759echo >>"$at_stderr"; $as_echo "undefined variable: FOO
2760" | \
2761  $at_diff - "$at_stderr" || at_failed=:
2762at_fn_diff_devnull "$at_stdout" || at_failed=:
2763at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:239"
2764$at_failed && at_fn_log_failure
2765$at_traceon; }
2766
2767  set +x
2768  $at_times_p && times >"$at_times_file"
2769) 5>&1 2>&1 7>&- | eval $at_tee_pipe
2770read at_status <"$at_status_file"
2771#AT_STOP_17
2772#AT_START_18
2773at_fn_group_banner 18 'wordsplit.at:246' \
2774  "disable variable expansion" "                     "
2775at_xfail=no
2776(
2777  $as_echo "18. $at_setup_line: testing $at_desc ..."
2778  $at_traceon
2779
2780
2781{ set +x
2782$as_echo "$at_srcdir/wordsplit.at:246:
2783FOO=bar wsp -novar <<'EOT'
2784\$FOO
2785EOT
2786"
2787at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:246"
2788( $at_check_trace;
2789FOO=bar wsp -novar <<'EOT'
2790$FOO
2791EOT
2792
2793) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2794at_status=$? at_failed=false
2795$at_check_filter
2796at_fn_diff_devnull "$at_stderr" || at_failed=:
2797echo >>"$at_stdout"; $as_echo "NF: 1
27980: \$FOO
2799TOTAL: 1
2800" | \
2801  $at_diff - "$at_stdout" || at_failed=:
2802at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:246"
2803$at_failed && at_fn_log_failure
2804$at_traceon; }
2805
2806  set +x
2807  $at_times_p && times >"$at_times_file"
2808) 5>&1 2>&1 7>&- | eval $at_tee_pipe
2809read at_status <"$at_status_file"
2810#AT_STOP_18
2811#AT_START_19
2812at_fn_group_banner 19 'wordsplit.at:255' \
2813  "K/V environment" "                                "
2814at_xfail=no
2815(
2816  $as_echo "19. $at_setup_line: testing $at_desc ..."
2817  $at_traceon
2818
2819
2820{ set +x
2821$as_echo "$at_srcdir/wordsplit.at:255:
2822FOO=bar BAZ=qux wsp -env_kv <<'EOT'
2823\$FOO a\$BAZ
2824EOT
2825"
2826at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:255"
2827( $at_check_trace;
2828FOO=bar BAZ=qux wsp -env_kv <<'EOT'
2829$FOO a$BAZ
2830EOT
2831
2832) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2833at_status=$? at_failed=false
2834$at_check_filter
2835at_fn_diff_devnull "$at_stderr" || at_failed=:
2836echo >>"$at_stdout"; $as_echo "NF: 2
28370: bar
28381: aqux
2839TOTAL: 2
2840" | \
2841  $at_diff - "$at_stdout" || at_failed=:
2842at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:255"
2843$at_failed && at_fn_log_failure
2844$at_traceon; }
2845
2846  set +x
2847  $at_times_p && times >"$at_times_file"
2848) 5>&1 2>&1 7>&- | eval $at_tee_pipe
2849read at_status <"$at_status_file"
2850#AT_STOP_19
2851#AT_START_20
2852at_fn_group_banner 20 'wordsplit.at:266' \
2853  "nosplit with variable expansion" "                "
2854at_xfail=no
2855(
2856  $as_echo "20. $at_setup_line: testing $at_desc ..."
2857  $at_traceon
2858
2859
2860{ set +x
2861$as_echo "$at_srcdir/wordsplit.at:266:
2862FOO=\"variable expansion\" wsp -nosplit <<'EOT'
2863a \$FOO test
2864EOT
2865"
2866at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:266"
2867( $at_check_trace;
2868FOO="variable expansion" wsp -nosplit <<'EOT'
2869a $FOO test
2870EOT
2871
2872) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2873at_status=$? at_failed=false
2874$at_check_filter
2875at_fn_diff_devnull "$at_stderr" || at_failed=:
2876echo >>"$at_stdout"; $as_echo "NF: 1
28770: \"a variable expansion test\\n\"
2878TOTAL: 1
2879" | \
2880  $at_diff - "$at_stdout" || at_failed=:
2881at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:266"
2882$at_failed && at_fn_log_failure
2883$at_traceon; }
2884
2885  set +x
2886  $at_times_p && times >"$at_times_file"
2887) 5>&1 2>&1 7>&- | eval $at_tee_pipe
2888read at_status <"$at_status_file"
2889#AT_STOP_20
2890#AT_START_21
2891at_fn_group_banner 21 'wordsplit.at:275' \
2892  "nosplit without variable expansion" "             "
2893at_xfail=no
2894(
2895  $as_echo "21. $at_setup_line: testing $at_desc ..."
2896  $at_traceon
2897
2898
2899{ set +x
2900$as_echo "$at_srcdir/wordsplit.at:275:
2901FOO=\"variable expansion\" wsp -nosplit -novar <<'EOT'
2902a \$FOO test
2903EOT
2904"
2905at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:275"
2906( $at_check_trace;
2907FOO="variable expansion" wsp -nosplit -novar <<'EOT'
2908a $FOO test
2909EOT
2910
2911) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2912at_status=$? at_failed=false
2913$at_check_filter
2914at_fn_diff_devnull "$at_stderr" || at_failed=:
2915echo >>"$at_stdout"; $as_echo "NF: 1
29160: \"a \$FOO test\\n\"
2917TOTAL: 1
2918" | \
2919  $at_diff - "$at_stdout" || at_failed=:
2920at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:275"
2921$at_failed && at_fn_log_failure
2922$at_traceon; }
2923
2924  set +x
2925  $at_times_p && times >"$at_times_file"
2926) 5>&1 2>&1 7>&- | eval $at_tee_pipe
2927read at_status <"$at_status_file"
2928#AT_STOP_21
2929#AT_START_22
2930at_fn_group_banner 22 'wordsplit.at:284' \
2931  "nosplit: empty expansion" "                       "
2932at_xfail=no
2933(
2934  $as_echo "22. $at_setup_line: testing $at_desc ..."
2935  $at_traceon
2936
2937
2938{ set +x
2939$as_echo "$at_srcdir/wordsplit.at:284:
2940FOO=\"\" wsp -nosplit -trimnl <<'EOT'
2941\$FOO
2942EOT
2943"
2944at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:284"
2945( $at_check_trace;
2946FOO="" wsp -nosplit -trimnl <<'EOT'
2947$FOO
2948EOT
2949
2950) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2951at_status=$? at_failed=false
2952$at_check_filter
2953at_fn_diff_devnull "$at_stderr" || at_failed=:
2954echo >>"$at_stdout"; $as_echo "NF: 1
29550: \"\"
2956TOTAL: 1
2957" | \
2958  $at_diff - "$at_stdout" || at_failed=:
2959at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:284"
2960$at_failed && at_fn_log_failure
2961$at_traceon; }
2962
2963  set +x
2964  $at_times_p && times >"$at_times_file"
2965) 5>&1 2>&1 7>&- | eval $at_tee_pipe
2966read at_status <"$at_status_file"
2967#AT_STOP_22
2968#AT_START_23
2969at_fn_group_banner 23 'wordsplit.at:293' \
2970  "default value" "                                  "
2971at_xfail=no
2972(
2973  $as_echo "23. $at_setup_line: testing $at_desc ..."
2974  $at_traceon
2975
2976
2977{ set +x
2978$as_echo "$at_srcdir/wordsplit.at:293:
2979 wsp  <<'EOT'
2980\${FOO:-bar}
2981EOT
2982"
2983at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:293"
2984( $at_check_trace;
2985 wsp  <<'EOT'
2986${FOO:-bar}
2987EOT
2988
2989) >>"$at_stdout" 2>>"$at_stderr" 5>&-
2990at_status=$? at_failed=false
2991$at_check_filter
2992at_fn_diff_devnull "$at_stderr" || at_failed=:
2993echo >>"$at_stdout"; $as_echo "NF: 1
29940: bar
2995TOTAL: 1
2996" | \
2997  $at_diff - "$at_stdout" || at_failed=:
2998at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:293"
2999$at_failed && at_fn_log_failure
3000$at_traceon; }
3001
3002  set +x
3003  $at_times_p && times >"$at_times_file"
3004) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3005read at_status <"$at_status_file"
3006#AT_STOP_23
3007#AT_START_24
3008at_fn_group_banner 24 'wordsplit.at:300' \
3009  "default value (defined)" "                        "
3010at_xfail=no
3011(
3012  $as_echo "24. $at_setup_line: testing $at_desc ..."
3013  $at_traceon
3014
3015
3016{ set +x
3017$as_echo "$at_srcdir/wordsplit.at:300:
3018FOO=qux wsp  <<'EOT'
3019\${FOO:-bar}
3020EOT
3021"
3022at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:300"
3023( $at_check_trace;
3024FOO=qux wsp  <<'EOT'
3025${FOO:-bar}
3026EOT
3027
3028) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3029at_status=$? at_failed=false
3030$at_check_filter
3031at_fn_diff_devnull "$at_stderr" || at_failed=:
3032echo >>"$at_stdout"; $as_echo "NF: 1
30330: qux
3034TOTAL: 1
3035" | \
3036  $at_diff - "$at_stdout" || at_failed=:
3037at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:300"
3038$at_failed && at_fn_log_failure
3039$at_traceon; }
3040
3041  set +x
3042  $at_times_p && times >"$at_times_file"
3043) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3044read at_status <"$at_status_file"
3045#AT_STOP_24
3046#AT_START_25
3047at_fn_group_banner 25 'wordsplit.at:309' \
3048  "default value (:- null)" "                        "
3049at_xfail=no
3050(
3051  $as_echo "25. $at_setup_line: testing $at_desc ..."
3052  $at_traceon
3053
3054
3055{ set +x
3056$as_echo "$at_srcdir/wordsplit.at:309:
3057FOO= wsp  <<'EOT'
3058\${FOO:-bar}
3059EOT
3060"
3061at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:309"
3062( $at_check_trace;
3063FOO= wsp  <<'EOT'
3064${FOO:-bar}
3065EOT
3066
3067) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3068at_status=$? at_failed=false
3069$at_check_filter
3070at_fn_diff_devnull "$at_stderr" || at_failed=:
3071echo >>"$at_stdout"; $as_echo "NF: 1
30720: bar
3073TOTAL: 1
3074" | \
3075  $at_diff - "$at_stdout" || at_failed=:
3076at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:309"
3077$at_failed && at_fn_log_failure
3078$at_traceon; }
3079
3080  set +x
3081  $at_times_p && times >"$at_times_file"
3082) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3083read at_status <"$at_status_file"
3084#AT_STOP_25
3085#AT_START_26
3086at_fn_group_banner 26 'wordsplit.at:318' \
3087  "default value (- null)" "                         "
3088at_xfail=no
3089(
3090  $as_echo "26. $at_setup_line: testing $at_desc ..."
3091  $at_traceon
3092
3093
3094{ set +x
3095$as_echo "$at_srcdir/wordsplit.at:318:
3096FOO= wsp  <<'EOT'
3097\${FOO-bar}
3098EOT
3099"
3100at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:318"
3101( $at_check_trace;
3102FOO= wsp  <<'EOT'
3103${FOO-bar}
3104EOT
3105
3106) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3107at_status=$? at_failed=false
3108$at_check_filter
3109at_fn_diff_devnull "$at_stderr" || at_failed=:
3110echo >>"$at_stdout"; $as_echo "NF: 0
3111TOTAL: 0
3112" | \
3113  $at_diff - "$at_stdout" || at_failed=:
3114at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:318"
3115$at_failed && at_fn_log_failure
3116$at_traceon; }
3117
3118  set +x
3119  $at_times_p && times >"$at_times_file"
3120) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3121read at_status <"$at_status_file"
3122#AT_STOP_26
3123#AT_START_27
3124at_fn_group_banner 27 'wordsplit.at:326' \
3125  "default value (- null, unset)" "                  "
3126at_xfail=no
3127(
3128  $as_echo "27. $at_setup_line: testing $at_desc ..."
3129  $at_traceon
3130
3131
3132{ set +x
3133$as_echo "$at_srcdir/wordsplit.at:326:
3134 wsp  <<'EOT'
3135\${FOO-bar}
3136EOT
3137"
3138at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:326"
3139( $at_check_trace;
3140 wsp  <<'EOT'
3141${FOO-bar}
3142EOT
3143
3144) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3145at_status=$? at_failed=false
3146$at_check_filter
3147at_fn_diff_devnull "$at_stderr" || at_failed=:
3148echo >>"$at_stdout"; $as_echo "NF: 1
31490: bar
3150TOTAL: 1
3151" | \
3152  $at_diff - "$at_stdout" || at_failed=:
3153at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:326"
3154$at_failed && at_fn_log_failure
3155$at_traceon; }
3156
3157  set +x
3158  $at_times_p && times >"$at_times_file"
3159) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3160read at_status <"$at_status_file"
3161#AT_STOP_27
3162#AT_START_28
3163at_fn_group_banner 28 'wordsplit.at:333' \
3164  "assign default values" "                          "
3165at_xfail=no
3166(
3167  $as_echo "28. $at_setup_line: testing $at_desc ..."
3168  $at_traceon
3169
3170
3171{ set +x
3172$as_echo "$at_srcdir/wordsplit.at:333:
3173 wsp  <<'EOT'
3174\${FOO=bar}
3175\$FOO
3176EOT
3177"
3178at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:333"
3179( $at_check_trace;
3180 wsp  <<'EOT'
3181${FOO=bar}
3182$FOO
3183EOT
3184
3185) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3186at_status=$? at_failed=false
3187$at_check_filter
3188at_fn_diff_devnull "$at_stderr" || at_failed=:
3189echo >>"$at_stdout"; $as_echo "NF: 1
31900: bar
3191TOTAL: 1
3192NF: 1
31930: bar
3194TOTAL: 1
3195" | \
3196  $at_diff - "$at_stdout" || at_failed=:
3197at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:333"
3198$at_failed && at_fn_log_failure
3199$at_traceon; }
3200
3201  set +x
3202  $at_times_p && times >"$at_times_file"
3203) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3204read at_status <"$at_status_file"
3205#AT_STOP_28
3206#AT_START_29
3207at_fn_group_banner 29 'wordsplit.at:344' \
3208  "default error message (var defined)" "            "
3209at_xfail=no
3210(
3211  $as_echo "29. $at_setup_line: testing $at_desc ..."
3212  $at_traceon
3213
3214
3215{ set +x
3216$as_echo "$at_srcdir/wordsplit.at:344:
3217FOO=bar wsp  <<'EOT'
3218a \${FOO:?} test
3219EOT
3220"
3221at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:344"
3222( $at_check_trace;
3223FOO=bar wsp  <<'EOT'
3224a ${FOO:?} test
3225EOT
3226
3227) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3228at_status=$? at_failed=false
3229$at_check_filter
3230at_fn_diff_devnull "$at_stderr" || at_failed=:
3231echo >>"$at_stdout"; $as_echo "NF: 3
32320: a
32331: bar
32342: test
3235TOTAL: 3
3236" | \
3237  $at_diff - "$at_stdout" || at_failed=:
3238at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:344"
3239$at_failed && at_fn_log_failure
3240$at_traceon; }
3241
3242  set +x
3243  $at_times_p && times >"$at_times_file"
3244) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3245read at_status <"$at_status_file"
3246#AT_STOP_29
3247#AT_START_30
3248at_fn_group_banner 30 'wordsplit.at:355' \
3249  "default error message" "                          "
3250at_xfail=no
3251(
3252  $as_echo "30. $at_setup_line: testing $at_desc ..."
3253  $at_traceon
3254
3255
3256{ set +x
3257$as_echo "$at_srcdir/wordsplit.at:355:
3258 wsp  <<'EOT'
3259\${FOO:?}
3260EOT
3261"
3262at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:355"
3263( $at_check_trace;
3264 wsp  <<'EOT'
3265${FOO:?}
3266EOT
3267
3268) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3269at_status=$? at_failed=false
3270$at_check_filter
3271echo >>"$at_stderr"; $as_echo "FOO: variable null or not set
3272" | \
3273  $at_diff - "$at_stderr" || at_failed=:
3274echo >>"$at_stdout"; $as_echo "NF: 0
3275TOTAL: 0
3276" | \
3277  $at_diff - "$at_stdout" || at_failed=:
3278at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:355"
3279$at_failed && at_fn_log_failure
3280$at_traceon; }
3281
3282  set +x
3283  $at_times_p && times >"$at_times_file"
3284) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3285read at_status <"$at_status_file"
3286#AT_STOP_30
3287#AT_START_31
3288at_fn_group_banner 31 'wordsplit.at:363' \
3289  "custom error message (defined)" "                 "
3290at_xfail=no
3291(
3292  $as_echo "31. $at_setup_line: testing $at_desc ..."
3293  $at_traceon
3294
3295
3296{ set +x
3297$as_echo "$at_srcdir/wordsplit.at:363:
3298FOO=bar wsp  <<'EOT'
3299a \${FOO:?please define it} test
3300EOT
3301"
3302at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:363"
3303( $at_check_trace;
3304FOO=bar wsp  <<'EOT'
3305a ${FOO:?please define it} test
3306EOT
3307
3308) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3309at_status=$? at_failed=false
3310$at_check_filter
3311at_fn_diff_devnull "$at_stderr" || at_failed=:
3312echo >>"$at_stdout"; $as_echo "NF: 3
33130: a
33141: bar
33152: test
3316TOTAL: 3
3317" | \
3318  $at_diff - "$at_stdout" || at_failed=:
3319at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:363"
3320$at_failed && at_fn_log_failure
3321$at_traceon; }
3322
3323  set +x
3324  $at_times_p && times >"$at_times_file"
3325) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3326read at_status <"$at_status_file"
3327#AT_STOP_31
3328#AT_START_32
3329at_fn_group_banner 32 'wordsplit.at:374' \
3330  "custom error message" "                           "
3331at_xfail=no
3332(
3333  $as_echo "32. $at_setup_line: testing $at_desc ..."
3334  $at_traceon
3335
3336
3337{ set +x
3338$as_echo "$at_srcdir/wordsplit.at:374:
3339 wsp  <<'EOT'
3340a \${FOO:?please define it} test
3341EOT
3342"
3343at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:374"
3344( $at_check_trace;
3345 wsp  <<'EOT'
3346a ${FOO:?please define it} test
3347EOT
3348
3349) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3350at_status=$? at_failed=false
3351$at_check_filter
3352echo >>"$at_stderr"; $as_echo "FOO: please define it
3353" | \
3354  $at_diff - "$at_stderr" || at_failed=:
3355echo >>"$at_stdout"; $as_echo "NF: 2
33560: a
33571: test
3358TOTAL: 2
3359" | \
3360  $at_diff - "$at_stdout" || at_failed=:
3361at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:374"
3362$at_failed && at_fn_log_failure
3363$at_traceon; }
3364
3365  set +x
3366  $at_times_p && times >"$at_times_file"
3367) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3368read at_status <"$at_status_file"
3369#AT_STOP_32
3370#AT_START_33
3371at_fn_group_banner 33 'wordsplit.at:384' \
3372  "alternate value (defined)" "                      "
3373at_xfail=no
3374(
3375  $as_echo "33. $at_setup_line: testing $at_desc ..."
3376  $at_traceon
3377
3378
3379{ set +x
3380$as_echo "$at_srcdir/wordsplit.at:384:
3381FOO=bar wsp  <<'EOT'
3382a \${FOO:+isset} test
3383EOT
3384"
3385at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:384"
3386( $at_check_trace;
3387FOO=bar wsp  <<'EOT'
3388a ${FOO:+isset} test
3389EOT
3390
3391) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3392at_status=$? at_failed=false
3393$at_check_filter
3394at_fn_diff_devnull "$at_stderr" || at_failed=:
3395echo >>"$at_stdout"; $as_echo "NF: 3
33960: a
33971: isset
33982: test
3399TOTAL: 3
3400" | \
3401  $at_diff - "$at_stdout" || at_failed=:
3402at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:384"
3403$at_failed && at_fn_log_failure
3404$at_traceon; }
3405
3406  set +x
3407  $at_times_p && times >"$at_times_file"
3408) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3409read at_status <"$at_status_file"
3410#AT_STOP_33
3411#AT_START_34
3412at_fn_group_banner 34 'wordsplit.at:395' \
3413  "alternate value" "                                "
3414at_xfail=no
3415(
3416  $as_echo "34. $at_setup_line: testing $at_desc ..."
3417  $at_traceon
3418
3419
3420{ set +x
3421$as_echo "$at_srcdir/wordsplit.at:395:
3422unset FOO; wsp  <<'EOT'
3423a \${FOO:+isset} test
3424EOT
3425"
3426at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:395"
3427( $at_check_trace;
3428unset FOO; wsp  <<'EOT'
3429a ${FOO:+isset} test
3430EOT
3431
3432) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3433at_status=$? at_failed=false
3434$at_check_filter
3435at_fn_diff_devnull "$at_stderr" || at_failed=:
3436echo >>"$at_stdout"; $as_echo "NF: 2
34370: a
34381: test
3439TOTAL: 2
3440" | \
3441  $at_diff - "$at_stdout" || at_failed=:
3442at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:395"
3443$at_failed && at_fn_log_failure
3444$at_traceon; }
3445
3446  set +x
3447  $at_times_p && times >"$at_times_file"
3448) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3449read at_status <"$at_status_file"
3450#AT_STOP_34
3451#AT_START_35
3452at_fn_group_banner 35 'wordsplit.at:405' \
3453  "getvar" "                                         "
3454at_xfail=no
3455(
3456  $as_echo "35. $at_setup_line: testing $at_desc ..."
3457  $at_traceon
3458
3459
3460{ set +x
3461$as_echo "$at_srcdir/wordsplit.at:405: unset foo; unset x
3462 wsp foo=bar x=quux <<'EOT'
3463begin \$foo \$x end
3464EOT
3465"
3466at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:405"
3467( $at_check_trace; unset foo; unset x
3468 wsp foo=bar x=quux <<'EOT'
3469begin $foo $x end
3470EOT
3471
3472) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3473at_status=$? at_failed=false
3474$at_check_filter
3475at_fn_diff_devnull "$at_stderr" || at_failed=:
3476echo >>"$at_stdout"; $as_echo "NF: 4
34770: begin
34781: bar
34792: quux
34803: end
3481TOTAL: 4
3482" | \
3483  $at_diff - "$at_stdout" || at_failed=:
3484at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:405"
3485$at_failed && at_fn_log_failure
3486$at_traceon; }
3487
3488  set +x
3489  $at_times_p && times >"$at_times_file"
3490) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3491read at_status <"$at_status_file"
3492#AT_STOP_35
3493#AT_START_36
3494at_fn_group_banner 36 'wordsplit.at:419' \
3495  "getvar and env" "                                 "
3496at_xfail=no
3497(
3498  $as_echo "36. $at_setup_line: testing $at_desc ..."
3499  $at_traceon
3500
3501
3502{ set +x
3503$as_echo "$at_srcdir/wordsplit.at:419: unset foo; unset x
3504TVAR=12 y=zwar wsp foo=bar x=quux y=xur <<'EOT'
3505begin \$foo \$TVAR \$x \$y end
3506EOT
3507"
3508at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:419"
3509( $at_check_trace; unset foo; unset x
3510TVAR=12 y=zwar wsp foo=bar x=quux y=xur <<'EOT'
3511begin $foo $TVAR $x $y end
3512EOT
3513
3514) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3515at_status=$? at_failed=false
3516$at_check_filter
3517at_fn_diff_devnull "$at_stderr" || at_failed=:
3518echo >>"$at_stdout"; $as_echo "NF: 6
35190: begin
35201: bar
35212: 12
35223: quux
35234: zwar
35245: end
3525TOTAL: 6
3526" | \
3527  $at_diff - "$at_stdout" || at_failed=:
3528at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:419"
3529$at_failed && at_fn_log_failure
3530$at_traceon; }
3531
3532  set +x
3533  $at_times_p && times >"$at_times_file"
3534) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3535read at_status <"$at_status_file"
3536#AT_STOP_36
3537#AT_START_37
3538at_fn_group_banner 37 'wordsplit.at:435' \
3539  "getvar, alternate value" "                        "
3540at_xfail=no
3541(
3542  $as_echo "37. $at_setup_line: testing $at_desc ..."
3543  $at_traceon
3544
3545
3546{ set +x
3547$as_echo "$at_srcdir/wordsplit.at:435:
3548 wsp foo=bar <<'EOT'
3549a \${foo:+isset}
3550EOT
3551"
3552at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:435"
3553( $at_check_trace;
3554 wsp foo=bar <<'EOT'
3555a ${foo:+isset}
3556EOT
3557
3558) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3559at_status=$? at_failed=false
3560$at_check_filter
3561at_fn_diff_devnull "$at_stderr" || at_failed=:
3562echo >>"$at_stdout"; $as_echo "NF: 2
35630: a
35641: isset
3565TOTAL: 2
3566" | \
3567  $at_diff - "$at_stdout" || at_failed=:
3568at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:435"
3569$at_failed && at_fn_log_failure
3570$at_traceon; }
3571
3572  set +x
3573  $at_times_p && times >"$at_times_file"
3574) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3575read at_status <"$at_status_file"
3576#AT_STOP_37
3577#AT_START_38
3578at_fn_group_banner 38 'wordsplit.at:446' \
3579  "ignore quotes" "                                  "
3580at_xfail=no
3581(
3582  $as_echo "38. $at_setup_line: testing $at_desc ..."
3583  $at_traceon
3584
3585
3586{ set +x
3587$as_echo "$at_srcdir/wordsplit.at:446:
3588 wsp -noquote <<'EOT'
3589\"a text\"
3590EOT
3591"
3592at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:446"
3593( $at_check_trace;
3594 wsp -noquote <<'EOT'
3595"a text"
3596EOT
3597
3598) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3599at_status=$? at_failed=false
3600$at_check_filter
3601at_fn_diff_devnull "$at_stderr" || at_failed=:
3602echo >>"$at_stdout"; $as_echo "NF: 2
36030: \"\\\"a\"
36041: \"text\\\"\"
3605TOTAL: 2
3606" | \
3607  $at_diff - "$at_stdout" || at_failed=:
3608at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:446"
3609$at_failed && at_fn_log_failure
3610$at_traceon; }
3611
3612  set +x
3613  $at_times_p && times >"$at_times_file"
3614) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3615read at_status <"$at_status_file"
3616#AT_STOP_38
3617#AT_START_39
3618at_fn_group_banner 39 'wordsplit.at:456' \
3619  "custom delimiters (squeeze)" "                    "
3620at_xfail=no
3621(
3622  $as_echo "39. $at_setup_line: testing $at_desc ..."
3623  $at_traceon
3624
3625
3626{ set +x
3627$as_echo "$at_srcdir/wordsplit.at:456:
3628 wsp -delim : -nows -trimnl <<'EOT'
3629semicolon: separated::list: of :words
3630EOT
3631"
3632at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:456"
3633( $at_check_trace;
3634 wsp -delim : -nows -trimnl <<'EOT'
3635semicolon: separated::list: of :words
3636EOT
3637
3638) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3639at_status=$? at_failed=false
3640$at_check_filter
3641at_fn_diff_devnull "$at_stderr" || at_failed=:
3642echo >>"$at_stdout"; $as_echo "NF: 5
36430: semicolon
36441: \" separated\"
36452: list
36463: \" of \"
36474: words
3648TOTAL: 5
3649" | \
3650  $at_diff - "$at_stdout" || at_failed=:
3651at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:456"
3652$at_failed && at_fn_log_failure
3653$at_traceon; }
3654
3655  set +x
3656  $at_times_p && times >"$at_times_file"
3657) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3658read at_status <"$at_status_file"
3659#AT_STOP_39
3660#AT_START_40
3661at_fn_group_banner 40 'wordsplit.at:468' \
3662  "custom delimiters (no squeeze)" "                 "
3663at_xfail=no
3664(
3665  $as_echo "40. $at_setup_line: testing $at_desc ..."
3666  $at_traceon
3667
3668
3669{ set +x
3670$as_echo "$at_srcdir/wordsplit.at:468:
3671 wsp -delim : -nows -nosqueeze_delims -trimnl <<'EOT'
3672semicolon: separated::list: of :words
3673EOT
3674"
3675at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:468"
3676( $at_check_trace;
3677 wsp -delim : -nows -nosqueeze_delims -trimnl <<'EOT'
3678semicolon: separated::list: of :words
3679EOT
3680
3681) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3682at_status=$? at_failed=false
3683$at_check_filter
3684at_fn_diff_devnull "$at_stderr" || at_failed=:
3685echo >>"$at_stdout"; $as_echo "NF: 6
36860: semicolon
36871: \" separated\"
36882: \"\"
36893: list
36904: \" of \"
36915: words
3692TOTAL: 6
3693" | \
3694  $at_diff - "$at_stdout" || at_failed=:
3695at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:468"
3696$at_failed && at_fn_log_failure
3697$at_traceon; }
3698
3699  set +x
3700  $at_times_p && times >"$at_times_file"
3701) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3702read at_status <"$at_status_file"
3703#AT_STOP_40
3704#AT_START_41
3705at_fn_group_banner 41 'wordsplit.at:481' \
3706  "custom, with returned delimiters" "               "
3707at_xfail=no
3708(
3709  $as_echo "41. $at_setup_line: testing $at_desc ..."
3710  $at_traceon
3711
3712
3713{ set +x
3714$as_echo "$at_srcdir/wordsplit.at:481:
3715 wsp -delim : -nows -trimnl -return_delims <<'EOT'
3716semicolon: separated::list: of :words
3717EOT
3718"
3719at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:481"
3720( $at_check_trace;
3721 wsp -delim : -nows -trimnl -return_delims <<'EOT'
3722semicolon: separated::list: of :words
3723EOT
3724
3725) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3726at_status=$? at_failed=false
3727$at_check_filter
3728at_fn_diff_devnull "$at_stderr" || at_failed=:
3729echo >>"$at_stdout"; $as_echo "NF: 9
37300: semicolon
37311: :
37322: \" separated\"
37333: :
37344: list
37355: :
37366: \" of \"
37377: :
37388: words
3739TOTAL: 9
3740" | \
3741  $at_diff - "$at_stdout" || at_failed=:
3742at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:481"
3743$at_failed && at_fn_log_failure
3744$at_traceon; }
3745
3746  set +x
3747  $at_times_p && times >"$at_times_file"
3748) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3749read at_status <"$at_status_file"
3750#AT_STOP_41
3751#AT_START_42
3752at_fn_group_banner 42 'wordsplit.at:497' \
3753  "custom, with returned & squeezed delimiters" "    "
3754at_xfail=no
3755(
3756  $as_echo "42. $at_setup_line: testing $at_desc ..."
3757  $at_traceon
3758
3759
3760{ set +x
3761$as_echo "$at_srcdir/wordsplit.at:497:
3762 wsp -delim : -nows -trimnl -return_delims -nosqueeze_delims <<'EOT'
3763semicolon: separated::list: of :words
3764EOT
3765"
3766at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:497"
3767( $at_check_trace;
3768 wsp -delim : -nows -trimnl -return_delims -nosqueeze_delims <<'EOT'
3769semicolon: separated::list: of :words
3770EOT
3771
3772) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3773at_status=$? at_failed=false
3774$at_check_filter
3775at_fn_diff_devnull "$at_stderr" || at_failed=:
3776echo >>"$at_stdout"; $as_echo "NF: 10
37770: semicolon
37781: :
37792: \" separated\"
37803: :
37814: :
37825: list
37836: :
37847: \" of \"
37858: :
37869: words
3787TOTAL: 10
3788" | \
3789  $at_diff - "$at_stdout" || at_failed=:
3790at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:497"
3791$at_failed && at_fn_log_failure
3792$at_traceon; }
3793
3794  set +x
3795  $at_times_p && times >"$at_times_file"
3796) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3797read at_status <"$at_status_file"
3798#AT_STOP_42
3799#AT_START_43
3800at_fn_group_banner 43 'wordsplit.at:516' \
3801  "sed expressions" "                                "
3802at_xfail=no
3803(
3804  $as_echo "43. $at_setup_line: testing $at_desc ..."
3805  $at_traceon
3806
3807
3808{ set +x
3809$as_echo "$at_srcdir/wordsplit.at:516:
3810 wsp -sed <<'EOT'
3811arg1 s/foo/bar/g;s/bar baz/quz quux/ arg2
3812EOT
3813"
3814at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:516"
3815( $at_check_trace;
3816 wsp -sed <<'EOT'
3817arg1 s/foo/bar/g;s/bar baz/quz quux/ arg2
3818EOT
3819
3820) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3821at_status=$? at_failed=false
3822$at_check_filter
3823at_fn_diff_devnull "$at_stderr" || at_failed=:
3824echo >>"$at_stdout"; $as_echo "NF: 3
38250: arg1
38261: \"s/foo/bar/g;s/bar baz/quz quux/\"
38272: arg2
3828TOTAL: 3
3829" | \
3830  $at_diff - "$at_stdout" || at_failed=:
3831at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:516"
3832$at_failed && at_fn_log_failure
3833$at_traceon; }
3834
3835  set +x
3836  $at_times_p && times >"$at_times_file"
3837) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3838read at_status <"$at_status_file"
3839#AT_STOP_43
3840#AT_START_44
3841at_fn_group_banner 44 'wordsplit.at:527' \
3842  "C escapes on" "                                   "
3843at_xfail=no
3844(
3845  $as_echo "44. $at_setup_line: testing $at_desc ..."
3846  $at_traceon
3847
3848
3849{ set +x
3850$as_echo "$at_srcdir/wordsplit.at:527:
3851 wsp -cescapes <<'EOT'
3852a\\ttab form\\ffeed and new\\nline
3853EOT
3854"
3855at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:527"
3856( $at_check_trace;
3857 wsp -cescapes <<'EOT'
3858a\ttab form\ffeed and new\nline
3859EOT
3860
3861) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3862at_status=$? at_failed=false
3863$at_check_filter
3864at_fn_diff_devnull "$at_stderr" || at_failed=:
3865echo >>"$at_stdout"; $as_echo "NF: 4
38660: a\\ttab
38671: form\\ffeed
38682: and
38693: new\\nline
3870TOTAL: 4
3871" | \
3872  $at_diff - "$at_stdout" || at_failed=:
3873at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:527"
3874$at_failed && at_fn_log_failure
3875$at_traceon; }
3876
3877  set +x
3878  $at_times_p && times >"$at_times_file"
3879) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3880read at_status <"$at_status_file"
3881#AT_STOP_44
3882#AT_START_45
3883at_fn_group_banner 45 'wordsplit.at:537' \
3884  "C escapes off" "                                  "
3885at_xfail=no
3886(
3887  $as_echo "45. $at_setup_line: testing $at_desc ..."
3888  $at_traceon
3889
3890
3891{ set +x
3892$as_echo "$at_srcdir/wordsplit.at:537:
3893 wsp -nocescapes <<'EOT'
3894a\\ttab form\\ffeed and new\\nline
3895EOT
3896"
3897at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:537"
3898( $at_check_trace;
3899 wsp -nocescapes <<'EOT'
3900a\ttab form\ffeed and new\nline
3901EOT
3902
3903) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3904at_status=$? at_failed=false
3905$at_check_filter
3906at_fn_diff_devnull "$at_stderr" || at_failed=:
3907echo >>"$at_stdout"; $as_echo "NF: 4
39080: attab
39091: formffeed
39102: and
39113: newnline
3912TOTAL: 4
3913" | \
3914  $at_diff - "$at_stdout" || at_failed=:
3915at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:537"
3916$at_failed && at_fn_log_failure
3917$at_traceon; }
3918
3919  set +x
3920  $at_times_p && times >"$at_times_file"
3921) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3922read at_status <"$at_status_file"
3923#AT_STOP_45
3924#AT_START_46
3925at_fn_group_banner 46 'wordsplit.at:547' \
3926  "ws elimination" "                                 "
3927at_xfail=no
3928(
3929  $as_echo "46. $at_setup_line: testing $at_desc ..."
3930  $at_traceon
3931
3932
3933{ set +x
3934$as_echo "$at_srcdir/wordsplit.at:547:
3935 wsp -delim ' ()' -ws -return_delims <<'EOT'
3936( list  items  )
3937EOT
3938"
3939at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:547"
3940( $at_check_trace;
3941 wsp -delim ' ()' -ws -return_delims <<'EOT'
3942( list  items  )
3943EOT
3944
3945) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3946at_status=$? at_failed=false
3947$at_check_filter
3948at_fn_diff_devnull "$at_stderr" || at_failed=:
3949echo >>"$at_stdout"; $as_echo "NF: 4
39500: (
39511: list
39522: items
39533: )
3954TOTAL: 4
3955" | \
3956  $at_diff - "$at_stdout" || at_failed=:
3957at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:547"
3958$at_failed && at_fn_log_failure
3959$at_traceon; }
3960
3961  set +x
3962  $at_times_p && times >"$at_times_file"
3963) 5>&1 2>&1 7>&- | eval $at_tee_pipe
3964read at_status <"$at_status_file"
3965#AT_STOP_46
3966#AT_START_47
3967at_fn_group_banner 47 'wordsplit.at:557' \
3968  "ws elimination + return delim" "                  "
3969at_xfail=no
3970(
3971  $as_echo "47. $at_setup_line: testing $at_desc ..."
3972  $at_traceon
3973
3974
3975{ set +x
3976$as_echo "$at_srcdir/wordsplit.at:557:
3977 wsp -nodefault -novar -nocmd -delim \":,\" -return_delims -ws -dquote <<'EOT'
3978\"foo\" : \"bar\", \"quux\" : \"baaz\"
3979EOT
3980"
3981at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:557"
3982( $at_check_trace;
3983 wsp -nodefault -novar -nocmd -delim ":," -return_delims -ws -dquote <<'EOT'
3984"foo" : "bar", "quux" : "baaz"
3985EOT
3986
3987) >>"$at_stdout" 2>>"$at_stderr" 5>&-
3988at_status=$? at_failed=false
3989$at_check_filter
3990at_fn_diff_devnull "$at_stderr" || at_failed=:
3991echo >>"$at_stdout"; $as_echo "NF: 7
39920: foo
39931: :
39942: bar
39953: ,
39964: quux
39975: :
39986: baaz
3999TOTAL: 7
4000" | \
4001  $at_diff - "$at_stdout" || at_failed=:
4002at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:557"
4003$at_failed && at_fn_log_failure
4004$at_traceon; }
4005
4006  set +x
4007  $at_times_p && times >"$at_times_file"
4008) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4009read at_status <"$at_status_file"
4010#AT_STOP_47
4011#AT_START_48
4012at_fn_group_banner 48 'wordsplit.at:571' \
4013  "empty quotes" "                                   "
4014at_xfail=no
4015(
4016  $as_echo "48. $at_setup_line: testing $at_desc ..."
4017  $at_traceon
4018
4019
4020{ set +x
4021$as_echo "$at_srcdir/wordsplit.at:571:
4022 wsp -delim : -ws -return_delims <<'EOT'
4023t=\"\"
4024EOT
4025"
4026at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:571"
4027( $at_check_trace;
4028 wsp -delim : -ws -return_delims <<'EOT'
4029t=""
4030EOT
4031
4032) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4033at_status=$? at_failed=false
4034$at_check_filter
4035at_fn_diff_devnull "$at_stderr" || at_failed=:
4036echo >>"$at_stdout"; $as_echo "NF: 1
40370: t=
4038TOTAL: 1
4039" | \
4040  $at_diff - "$at_stdout" || at_failed=:
4041at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:571"
4042$at_failed && at_fn_log_failure
4043$at_traceon; }
4044
4045  set +x
4046  $at_times_p && times >"$at_times_file"
4047) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4048read at_status <"$at_status_file"
4049#AT_STOP_48
4050#AT_START_49
4051at_fn_group_banner 49 'wordsplit.at:578' \
4052  "delimiter following empty quotes" "               "
4053at_xfail=no
4054(
4055  $as_echo "49. $at_setup_line: testing $at_desc ..."
4056  $at_traceon
4057
4058
4059{ set +x
4060$as_echo "$at_srcdir/wordsplit.at:578:
4061 wsp -delim : -ws -return_delims <<'EOT'
4062t=\"\":r
4063EOT
4064"
4065at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:578"
4066( $at_check_trace;
4067 wsp -delim : -ws -return_delims <<'EOT'
4068t="":r
4069EOT
4070
4071) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4072at_status=$? at_failed=false
4073$at_check_filter
4074at_fn_diff_devnull "$at_stderr" || at_failed=:
4075echo >>"$at_stdout"; $as_echo "NF: 3
40760: t=
40771: :
40782: r
4079TOTAL: 3
4080" | \
4081  $at_diff - "$at_stdout" || at_failed=:
4082at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:578"
4083$at_failed && at_fn_log_failure
4084$at_traceon; }
4085
4086  set +x
4087  $at_times_p && times >"$at_times_file"
4088) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4089read at_status <"$at_status_file"
4090#AT_STOP_49
4091#AT_START_50
4092at_fn_group_banner 50 'wordsplit.at:588' \
4093  "suppress ws trimming within quotes" "             "
4094at_xfail=no
4095(
4096  $as_echo "50. $at_setup_line: testing $at_desc ..."
4097  $at_traceon
4098
4099
4100{ set +x
4101$as_echo "$at_srcdir/wordsplit.at:588:
4102 wsp -default -delim , -ws -return_delims <<'EOT'
4103nocomponent,nonewline, formatfield=\"In message %{text}, \"
4104EOT
4105"
4106at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:588"
4107( $at_check_trace;
4108 wsp -default -delim , -ws -return_delims <<'EOT'
4109nocomponent,nonewline, formatfield="In message %{text}, "
4110EOT
4111
4112) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4113at_status=$? at_failed=false
4114$at_check_filter
4115at_fn_diff_devnull "$at_stderr" || at_failed=:
4116echo >>"$at_stdout"; $as_echo "NF: 5
41170: nocomponent
41181: ,
41192: nonewline
41203: ,
41214: \"formatfield=In message %{text}, \"
4122TOTAL: 5
4123" | \
4124  $at_diff - "$at_stdout" || at_failed=:
4125at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:588"
4126$at_failed && at_fn_log_failure
4127$at_traceon; }
4128
4129  set +x
4130  $at_times_p && times >"$at_times_file"
4131) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4132read at_status <"$at_status_file"
4133#AT_STOP_50
4134#AT_START_51
4135at_fn_group_banner 51 'wordsplit.at:601' \
4136  "unescape" "                                       "
4137at_xfail=no
4138(
4139  $as_echo "51. $at_setup_line: testing $at_desc ..."
4140  $at_traceon
4141
4142
4143{ set +x
4144$as_echo "$at_srcdir/wordsplit.at:601:
4145 wsp -nodefault -novar -nocmd -quote -escape ':+:\\\\\"\"' <<'EOT'
4146\\Seen \"quote \\\"\" \"bs \\\\\"
4147EOT
4148"
4149at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:601"
4150( $at_check_trace;
4151 wsp -nodefault -novar -nocmd -quote -escape ':+:\\""' <<'EOT'
4152\Seen "quote \"" "bs \\"
4153EOT
4154
4155) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4156at_status=$? at_failed=false
4157$at_check_filter
4158at_fn_diff_devnull "$at_stderr" || at_failed=:
4159echo >>"$at_stdout"; $as_echo "NF: 3
41600: \\\\Seen
41611: \"quote \\\"\"
41622: \"bs \\\\\"
4163TOTAL: 3
4164" | \
4165  $at_diff - "$at_stdout" || at_failed=:
4166at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:601"
4167$at_failed && at_fn_log_failure
4168$at_traceon; }
4169
4170  set +x
4171  $at_times_p && times >"$at_times_file"
4172) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4173read at_status <"$at_status_file"
4174#AT_STOP_51
4175#AT_START_52
4176at_fn_group_banner 52 'wordsplit.at:612' \
4177  "unescape: word/quote" "                           "
4178at_xfail=no
4179(
4180  $as_echo "52. $at_setup_line: testing $at_desc ..."
4181  $at_traceon
4182
4183
4184{ set +x
4185$as_echo "$at_srcdir/wordsplit.at:612:
4186 wsp -nodefault -novar -nocmd -quote -escape-word '\\\\\"\"' -escape-quote ':+0x:\\\\\"\"' <<'EOT'
4187\\Seen \"quote \\\"\" \"bs \\\\\" \"3\\x31 \\101\" 3\\x31 \\101
4188EOT
4189"
4190at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:612"
4191( $at_check_trace;
4192 wsp -nodefault -novar -nocmd -quote -escape-word '\\""' -escape-quote ':+0x:\\""' <<'EOT'
4193\Seen "quote \"" "bs \\" "3\x31 \101" 3\x31 \101
4194EOT
4195
4196) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4197at_status=$? at_failed=false
4198$at_check_filter
4199at_fn_diff_devnull "$at_stderr" || at_failed=:
4200echo >>"$at_stdout"; $as_echo "NF: 6
42010: Seen
42021: \"quote \\\"\"
42032: \"bs \\\\\"
42043: \"31 A\"
42054: 3x31
42065: 101
4207TOTAL: 6
4208" | \
4209  $at_diff - "$at_stdout" || at_failed=:
4210at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:612"
4211$at_failed && at_fn_log_failure
4212$at_traceon; }
4213
4214  set +x
4215  $at_times_p && times >"$at_times_file"
4216) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4217read at_status <"$at_status_file"
4218#AT_STOP_52
4219#AT_START_53
4220at_fn_group_banner 53 'wordsplit.at:626' \
4221  "dquote" "                                         "
4222at_xfail=no
4223(
4224  $as_echo "53. $at_setup_line: testing $at_desc ..."
4225  $at_traceon
4226
4227
4228{ set +x
4229$as_echo "$at_srcdir/wordsplit.at:626:
4230 wsp -nodefault -novar -nocmd -dquote <<'EOT'
4231a \"quoted example\" isn't it
4232EOT
4233"
4234at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:626"
4235( $at_check_trace;
4236 wsp -nodefault -novar -nocmd -dquote <<'EOT'
4237a "quoted example" isn't it
4238EOT
4239
4240) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4241at_status=$? at_failed=false
4242$at_check_filter
4243at_fn_diff_devnull "$at_stderr" || at_failed=:
4244echo >>"$at_stdout"; $as_echo "NF: 4
42450: a
42461: \"quoted example\"
42472: isn't
42483: it
4249TOTAL: 4
4250" | \
4251  $at_diff - "$at_stdout" || at_failed=:
4252at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:626"
4253$at_failed && at_fn_log_failure
4254$at_traceon; }
4255
4256  set +x
4257  $at_times_p && times >"$at_times_file"
4258) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4259read at_status <"$at_status_file"
4260#AT_STOP_53
4261#AT_START_54
4262at_fn_group_banner 54 'wordsplit.at:636' \
4263  "squote" "                                         "
4264at_xfail=no
4265(
4266  $as_echo "54. $at_setup_line: testing $at_desc ..."
4267  $at_traceon
4268
4269
4270{ set +x
4271$as_echo "$at_srcdir/wordsplit.at:636:
4272 wsp -nodefault -novar -nocmd -squote <<'EOT'
4273a 'quoted example' isn\"t it
4274EOT
4275"
4276at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:636"
4277( $at_check_trace;
4278 wsp -nodefault -novar -nocmd -squote <<'EOT'
4279a 'quoted example' isn"t it
4280EOT
4281
4282) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4283at_status=$? at_failed=false
4284$at_check_filter
4285at_fn_diff_devnull "$at_stderr" || at_failed=:
4286echo >>"$at_stdout"; $as_echo "NF: 4
42870: a
42881: \"quoted example\"
42892: \"isn\\\"t\"
42903: it
4291TOTAL: 4
4292" | \
4293  $at_diff - "$at_stdout" || at_failed=:
4294at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:636"
4295$at_failed && at_fn_log_failure
4296$at_traceon; }
4297
4298  set +x
4299  $at_times_p && times >"$at_times_file"
4300) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4301read at_status <"$at_status_file"
4302#AT_STOP_54
4303#AT_START_55
4304at_fn_group_banner 55 'wordsplit.at:648' \
4305  "incremental" "                                    "
4306at_xfail=no
4307(
4308  $as_echo "55. $at_setup_line: testing $at_desc ..."
4309  $at_traceon
4310
4311
4312{ set +x
4313$as_echo "$at_srcdir/wordsplit.at:648:
4314 wsp -incremental <<'EOT'
4315incremental \"input test\" line
4316
4317
4318
4319EOT
4320"
4321at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:648"
4322( $at_check_trace;
4323 wsp -incremental <<'EOT'
4324incremental "input test" line
4325
4326
4327
4328EOT
4329
4330) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4331at_status=$? at_failed=false
4332$at_check_filter
4333echo >>"$at_stderr"; $as_echo "input exhausted
4334" | \
4335  $at_diff - "$at_stderr" || at_failed=:
4336echo >>"$at_stdout"; $as_echo "NF: 1
43370: incremental
4338TOTAL: 1
4339NF: 1
43400: \"input test\"
4341TOTAL: 2
4342NF: 1
43430: line
4344TOTAL: 3
4345" | \
4346  $at_diff - "$at_stdout" || at_failed=:
4347at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:648"
4348$at_failed && at_fn_log_failure
4349$at_traceon; }
4350
4351  set +x
4352  $at_times_p && times >"$at_times_file"
4353) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4354read at_status <"$at_status_file"
4355#AT_STOP_55
4356#AT_START_56
4357at_fn_group_banner 56 'wordsplit.at:666' \
4358  "incremental append" "                             "
4359at_xfail=no
4360(
4361  $as_echo "56. $at_setup_line: testing $at_desc ..."
4362  $at_traceon
4363
4364
4365{ set +x
4366$as_echo "$at_srcdir/wordsplit.at:666:
4367 wsp -incremental -append <<'EOT'
4368incremental \"input test\" line
4369
4370
4371
4372EOT
4373"
4374at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:666"
4375( $at_check_trace;
4376 wsp -incremental -append <<'EOT'
4377incremental "input test" line
4378
4379
4380
4381EOT
4382
4383) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4384at_status=$? at_failed=false
4385$at_check_filter
4386echo >>"$at_stderr"; $as_echo "input exhausted
4387" | \
4388  $at_diff - "$at_stderr" || at_failed=:
4389echo >>"$at_stdout"; $as_echo "NF: 1
43900: incremental
4391TOTAL: 1
4392NF: 2
43930: incremental
43941: \"input test\"
4395TOTAL: 2
4396NF: 3
43970: incremental
43981: \"input test\"
43992: line
4400TOTAL: 3
4401" | \
4402  $at_diff - "$at_stdout" || at_failed=:
4403at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:666"
4404$at_failed && at_fn_log_failure
4405$at_traceon; }
4406
4407  set +x
4408  $at_times_p && times >"$at_times_file"
4409) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4410read at_status <"$at_status_file"
4411#AT_STOP_56
4412#AT_START_57
4413at_fn_group_banner 57 'wordsplit.at:687' \
4414  "incremental ws" "                                 "
4415at_xfail=no
4416(
4417  $as_echo "57. $at_setup_line: testing $at_desc ..."
4418  $at_traceon
4419
4420
4421{ set +x
4422$as_echo "$at_srcdir/wordsplit.at:687:
4423 wsp -return_delims -nosqueeze_delims -incremental -ws <<'EOT'
4424a   list  test
4425
4426
4427
4428EOT
4429"
4430at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:687"
4431( $at_check_trace;
4432 wsp -return_delims -nosqueeze_delims -incremental -ws <<'EOT'
4433a   list  test
4434
4435
4436
4437EOT
4438
4439) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4440at_status=$? at_failed=false
4441$at_check_filter
4442echo >>"$at_stderr"; $as_echo "input exhausted
4443" | \
4444  $at_diff - "$at_stderr" || at_failed=:
4445echo >>"$at_stdout"; $as_echo "NF: 1
44460: a
4447TOTAL: 1
4448NF: 1
44490: list
4450TOTAL: 2
4451NF: 1
44520: test
4453TOTAL: 3
4454" | \
4455  $at_diff - "$at_stdout" || at_failed=:
4456at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:687"
4457$at_failed && at_fn_log_failure
4458$at_traceon; }
4459
4460  set +x
4461  $at_times_p && times >"$at_times_file"
4462) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4463read at_status <"$at_status_file"
4464#AT_STOP_57
4465#AT_START_58
4466at_fn_group_banner 58 'wordsplit.at:706' \
4467  "incremental nosplit" "                            "
4468at_xfail=no
4469(
4470  $as_echo "58. $at_setup_line: testing $at_desc ..."
4471  $at_traceon
4472
4473
4474{ set +x
4475$as_echo "$at_srcdir/wordsplit.at:706:
4476 wsp -incremental -nosplit <<'EOT'
4477incremental \"input test\" line
4478
4479EOT
4480"
4481at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:706"
4482( $at_check_trace;
4483 wsp -incremental -nosplit <<'EOT'
4484incremental "input test" line
4485
4486EOT
4487
4488) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4489at_status=$? at_failed=false
4490$at_check_filter
4491echo >>"$at_stderr"; $as_echo "input exhausted
4492" | \
4493  $at_diff - "$at_stderr" || at_failed=:
4494echo >>"$at_stdout"; $as_echo "NF: 1
44950: \"incremental input test line\"
4496TOTAL: 1
4497" | \
4498  $at_diff - "$at_stdout" || at_failed=:
4499at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:706"
4500$at_failed && at_fn_log_failure
4501$at_traceon; }
4502
4503  set +x
4504  $at_times_p && times >"$at_times_file"
4505) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4506read at_status <"$at_status_file"
4507#AT_STOP_58
4508#AT_START_59
4509at_fn_group_banner 59 'wordsplit.at:716' \
4510  "simple command substitution" "                    "
4511at_xfail=no
4512(
4513  $as_echo "59. $at_setup_line: testing $at_desc ..."
4514  $at_traceon
4515
4516
4517{ set +x
4518$as_echo "$at_srcdir/wordsplit.at:716:
4519 wsp -cmd <<'EOT'
4520begin \$(words a b) end
4521EOT
4522"
4523at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:716"
4524( $at_check_trace;
4525 wsp -cmd <<'EOT'
4526begin $(words a b) end
4527EOT
4528
4529) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4530at_status=$? at_failed=false
4531$at_check_filter
4532at_fn_diff_devnull "$at_stderr" || at_failed=:
4533echo >>"$at_stdout"; $as_echo "NF: 4
45340: begin
45351: a
45362: b
45373: end
4538TOTAL: 4
4539" | \
4540  $at_diff - "$at_stdout" || at_failed=:
4541at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:716"
4542$at_failed && at_fn_log_failure
4543$at_traceon; }
4544
4545  set +x
4546  $at_times_p && times >"$at_times_file"
4547) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4548read at_status <"$at_status_file"
4549#AT_STOP_59
4550#AT_START_60
4551at_fn_group_banner 60 'wordsplit.at:726' \
4552  "quoted command substitution" "                    "
4553at_xfail=no
4554(
4555  $as_echo "60. $at_setup_line: testing $at_desc ..."
4556  $at_traceon
4557
4558
4559{ set +x
4560$as_echo "$at_srcdir/wordsplit.at:726:
4561 wsp -cmd <<'EOT'
4562begin \"\$(words a b)\" end
4563EOT
4564"
4565at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:726"
4566( $at_check_trace;
4567 wsp -cmd <<'EOT'
4568begin "$(words a b)" end
4569EOT
4570
4571) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4572at_status=$? at_failed=false
4573$at_check_filter
4574at_fn_diff_devnull "$at_stderr" || at_failed=:
4575echo >>"$at_stdout"; $as_echo "NF: 3
45760: begin
45771: \"a b\"
45782: end
4579TOTAL: 3
4580" | \
4581  $at_diff - "$at_stdout" || at_failed=:
4582at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:726"
4583$at_failed && at_fn_log_failure
4584$at_traceon; }
4585
4586  set +x
4587  $at_times_p && times >"$at_times_file"
4588) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4589read at_status <"$at_status_file"
4590#AT_STOP_60
4591#AT_START_61
4592at_fn_group_banner 61 'wordsplit.at:735' \
4593  "coalesced command substitution" "                 "
4594at_xfail=no
4595(
4596  $as_echo "61. $at_setup_line: testing $at_desc ..."
4597  $at_traceon
4598
4599
4600{ set +x
4601$as_echo "$at_srcdir/wordsplit.at:735:
4602 wsp -cmd <<'EOT'
4603begin(\$(words a b))end
4604EOT
4605"
4606at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:735"
4607( $at_check_trace;
4608 wsp -cmd <<'EOT'
4609begin($(words a b))end
4610EOT
4611
4612) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4613at_status=$? at_failed=false
4614$at_check_filter
4615at_fn_diff_devnull "$at_stderr" || at_failed=:
4616echo >>"$at_stdout"; $as_echo "NF: 2
46170: begin(a
46181: b)end
4619TOTAL: 2
4620" | \
4621  $at_diff - "$at_stdout" || at_failed=:
4622at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:735"
4623$at_failed && at_fn_log_failure
4624$at_traceon; }
4625
4626  set +x
4627  $at_times_p && times >"$at_times_file"
4628) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4629read at_status <"$at_status_file"
4630#AT_STOP_61
4631#AT_START_62
4632at_fn_group_banner 62 'wordsplit.at:743' \
4633  "quoted coalesced command substitution" "          "
4634at_xfail=no
4635(
4636  $as_echo "62. $at_setup_line: testing $at_desc ..."
4637  $at_traceon
4638
4639
4640{ set +x
4641$as_echo "$at_srcdir/wordsplit.at:743:
4642 wsp -cmd <<'EOT'
4643\"begin(\$(words a b))end\"
4644EOT
4645"
4646at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:743"
4647( $at_check_trace;
4648 wsp -cmd <<'EOT'
4649"begin($(words a b))end"
4650EOT
4651
4652) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4653at_status=$? at_failed=false
4654$at_check_filter
4655at_fn_diff_devnull "$at_stderr" || at_failed=:
4656echo >>"$at_stdout"; $as_echo "NF: 1
46570: \"begin(a b)end\"
4658TOTAL: 1
4659" | \
4660  $at_diff - "$at_stdout" || at_failed=:
4661at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:743"
4662$at_failed && at_fn_log_failure
4663$at_traceon; }
4664
4665  set +x
4666  $at_times_p && times >"$at_times_file"
4667) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4668read at_status <"$at_status_file"
4669#AT_STOP_62
4670#AT_START_63
4671at_fn_group_banner 63 'wordsplit.at:750' \
4672  "variable and command substitution" "              "
4673at_xfail=no
4674(
4675  $as_echo "63. $at_setup_line: testing $at_desc ..."
4676  $at_traceon
4677
4678
4679{ set +x
4680$as_echo "$at_srcdir/wordsplit.at:750:
4681X=a Y=b wsp -cmd -var <<'EOT'
4682begin \$X \$(words \$X \$Y) end
4683EOT
4684"
4685at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:750"
4686( $at_check_trace;
4687X=a Y=b wsp -cmd -var <<'EOT'
4688begin $X $(words $X $Y) end
4689EOT
4690
4691) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4692at_status=$? at_failed=false
4693$at_check_filter
4694at_fn_diff_devnull "$at_stderr" || at_failed=:
4695echo >>"$at_stdout"; $as_echo "NF: 5
46960: begin
46971: a
46982: a
46993: b
47004: end
4701TOTAL: 5
4702" | \
4703  $at_diff - "$at_stdout" || at_failed=:
4704at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:750"
4705$at_failed && at_fn_log_failure
4706$at_traceon; }
4707
4708  set +x
4709  $at_times_p && times >"$at_times_file"
4710) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4711read at_status <"$at_status_file"
4712#AT_STOP_63
4713#AT_START_64
4714at_fn_group_banner 64 'wordsplit.at:761' \
4715  "variable expansion and command substitution in quotes" ""
4716at_xfail=no
4717(
4718  $as_echo "64. $at_setup_line: testing $at_desc ..."
4719  $at_traceon
4720
4721
4722{ set +x
4723$as_echo "$at_srcdir/wordsplit.at:761:
4724X=a Y=b BEGIN=begin wsp -cmd -var <<'EOT'
4725\"\${BEGIN}(\$(words \$X \$Y))end\"
4726EOT
4727"
4728at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:761"
4729( $at_check_trace;
4730X=a Y=b BEGIN=begin wsp -cmd -var <<'EOT'
4731"${BEGIN}($(words $X $Y))end"
4732EOT
4733
4734) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4735at_status=$? at_failed=false
4736$at_check_filter
4737at_fn_diff_devnull "$at_stderr" || at_failed=:
4738echo >>"$at_stdout"; $as_echo "NF: 1
47390: \"begin(a b)end\"
4740TOTAL: 1
4741" | \
4742  $at_diff - "$at_stdout" || at_failed=:
4743at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:761"
4744$at_failed && at_fn_log_failure
4745$at_traceon; }
4746
4747  set +x
4748  $at_times_p && times >"$at_times_file"
4749) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4750read at_status <"$at_status_file"
4751#AT_STOP_64
4752#AT_START_65
4753at_fn_group_banner 65 'wordsplit.at:768' \
4754  "nested commands" "                                "
4755at_xfail=no
4756(
4757  $as_echo "65. $at_setup_line: testing $at_desc ..."
4758  $at_traceon
4759
4760
4761{ set +x
4762$as_echo "$at_srcdir/wordsplit.at:768:
4763SUFFIX=put wsp -cmd -var <<'EOT'
4764\$(words output \$(words in\$SUFFIX text) end)
4765EOT
4766"
4767at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:768"
4768( $at_check_trace;
4769SUFFIX=put wsp -cmd -var <<'EOT'
4770$(words output $(words in$SUFFIX text) end)
4771EOT
4772
4773) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4774at_status=$? at_failed=false
4775$at_check_filter
4776at_fn_diff_devnull "$at_stderr" || at_failed=:
4777echo >>"$at_stdout"; $as_echo "NF: 4
47780: output
47791: input
47802: text
47813: end
4782TOTAL: 4
4783" | \
4784  $at_diff - "$at_stdout" || at_failed=:
4785at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:768"
4786$at_failed && at_fn_log_failure
4787$at_traceon; }
4788
4789  set +x
4790  $at_times_p && times >"$at_times_file"
4791) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4792read at_status <"$at_status_file"
4793#AT_STOP_65
4794#AT_START_66
4795at_fn_group_banner 66 'wordsplit.at:779' \
4796  "pathname expansion" "                             "
4797at_xfail=no
4798(
4799  $as_echo "66. $at_setup_line: testing $at_desc ..."
4800  $at_traceon
4801
4802
4803{ set +x
4804$as_echo "$at_srcdir/wordsplit.at:781:
4805mkdir dir
4806> dir/1.c
4807> dir/2.c
4808> dir/3.b
4809
4810wsp -pathexpand<<'EOT'
4811begin dir/*.c end
4812EOT
4813"
4814at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:781"
4815( $at_check_trace;
4816mkdir dir
4817> dir/1.c
4818> dir/2.c
4819> dir/3.b
4820
4821wsp -pathexpand<<'EOT'
4822begin dir/*.c end
4823EOT
4824
4825) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4826at_status=$? at_failed=false
4827$at_check_filter
4828at_fn_diff_devnull "$at_stderr" || at_failed=:
4829echo >>"$at_stdout"; $as_echo "NF: 4
48300: begin
48311: dir/1.c
48322: dir/2.c
48333: end
4834TOTAL: 4
4835" | \
4836  $at_diff - "$at_stdout" || at_failed=:
4837at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:781"
4838$at_failed && at_fn_log_failure
4839$at_traceon; }
4840
4841  set +x
4842  $at_times_p && times >"$at_times_file"
4843) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4844read at_status <"$at_status_file"
4845#AT_STOP_66
4846#AT_START_67
4847at_fn_group_banner 67 'wordsplit.at:801' \
4848  "pathname expansion: no match" "                   "
4849at_xfail=no
4850(
4851  $as_echo "67. $at_setup_line: testing $at_desc ..."
4852  $at_traceon
4853
4854
4855{ set +x
4856$as_echo "$at_srcdir/wordsplit.at:803:
4857mkdir dir
4858> dir/1.c
4859> dir/2.b
4860
4861wsp -pathexpand<<'EOT'
4862begin dir/*.d end
4863EOT
4864"
4865at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:803"
4866( $at_check_trace;
4867mkdir dir
4868> dir/1.c
4869> dir/2.b
4870
4871wsp -pathexpand<<'EOT'
4872begin dir/*.d end
4873EOT
4874
4875) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4876at_status=$? at_failed=false
4877$at_check_filter
4878at_fn_diff_devnull "$at_stderr" || at_failed=:
4879echo >>"$at_stdout"; $as_echo "NF: 3
48800: begin
48811: dir/*.d
48822: end
4883TOTAL: 3
4884" | \
4885  $at_diff - "$at_stdout" || at_failed=:
4886at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:803"
4887$at_failed && at_fn_log_failure
4888$at_traceon; }
4889
4890  set +x
4891  $at_times_p && times >"$at_times_file"
4892) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4893read at_status <"$at_status_file"
4894#AT_STOP_67
4895#AT_START_68
4896at_fn_group_banner 68 'wordsplit.at:821' \
4897  "pathname expansion: nullglob" "                   "
4898at_xfail=no
4899(
4900  $as_echo "68. $at_setup_line: testing $at_desc ..."
4901  $at_traceon
4902
4903
4904{ set +x
4905$as_echo "$at_srcdir/wordsplit.at:823:
4906mkdir dir
4907> dir/1.c
4908> dir/2.b
4909
4910wsp -pathexpand -nullglob<<'EOT'
4911begin dir/*.d end
4912EOT
4913"
4914at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:823"
4915( $at_check_trace;
4916mkdir dir
4917> dir/1.c
4918> dir/2.b
4919
4920wsp -pathexpand -nullglob<<'EOT'
4921begin dir/*.d end
4922EOT
4923
4924) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4925at_status=$? at_failed=false
4926$at_check_filter
4927at_fn_diff_devnull "$at_stderr" || at_failed=:
4928echo >>"$at_stdout"; $as_echo "NF: 2
49290: begin
49301: end
4931TOTAL: 2
4932" | \
4933  $at_diff - "$at_stdout" || at_failed=:
4934at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:823"
4935$at_failed && at_fn_log_failure
4936$at_traceon; }
4937
4938  set +x
4939  $at_times_p && times >"$at_times_file"
4940) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4941read at_status <"$at_status_file"
4942#AT_STOP_68
4943#AT_START_69
4944at_fn_group_banner 69 'wordsplit.at:840' \
4945  "pathname expansion: failglob" "                   "
4946at_xfail=no
4947(
4948  $as_echo "69. $at_setup_line: testing $at_desc ..."
4949  $at_traceon
4950
4951
4952{ set +x
4953$as_echo "$at_srcdir/wordsplit.at:842:
4954mkdir dir
4955> dir/1.c
4956> dir/2.b
4957
4958wsp -pathexpand -failglob<<'EOT'
4959begin dir/*.d end
4960EOT
4961"
4962at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:842"
4963( $at_check_trace;
4964mkdir dir
4965> dir/1.c
4966> dir/2.b
4967
4968wsp -pathexpand -failglob<<'EOT'
4969begin dir/*.d end
4970EOT
4971
4972) >>"$at_stdout" 2>>"$at_stderr" 5>&-
4973at_status=$? at_failed=false
4974$at_check_filter
4975echo >>"$at_stderr"; $as_echo "no files match pattern dir/*.d
4976" | \
4977  $at_diff - "$at_stderr" || at_failed=:
4978at_fn_diff_devnull "$at_stdout" || at_failed=:
4979at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:842"
4980$at_failed && at_fn_log_failure
4981$at_traceon; }
4982
4983  set +x
4984  $at_times_p && times >"$at_times_file"
4985) 5>&1 2>&1 7>&- | eval $at_tee_pipe
4986read at_status <"$at_status_file"
4987#AT_STOP_69
4988#AT_START_70
4989at_fn_group_banner 70 'wordsplit.at:857' \
4990  "append" "                                         "
4991at_xfail=no
4992(
4993  $as_echo "70. $at_setup_line: testing $at_desc ..."
4994  $at_traceon
4995
4996
4997{ set +x
4998$as_echo "$at_srcdir/wordsplit.at:857:
4999 wsp -append-args extra arguments follow <<'EOT'
5000some words and
5001EOT
5002"
5003at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:857"
5004( $at_check_trace;
5005 wsp -append-args extra arguments follow <<'EOT'
5006some words and
5007EOT
5008
5009) >>"$at_stdout" 2>>"$at_stderr" 5>&-
5010at_status=$? at_failed=false
5011$at_check_filter
5012at_fn_diff_devnull "$at_stderr" || at_failed=:
5013echo >>"$at_stdout"; $as_echo "NF: 6
50140: some
50151: words
50162: and
50173: extra
50184: arguments
50195: follow
5020TOTAL: 3
5021" | \
5022  $at_diff - "$at_stdout" || at_failed=:
5023at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:857"
5024$at_failed && at_fn_log_failure
5025$at_traceon; }
5026
5027  set +x
5028  $at_times_p && times >"$at_times_file"
5029) 5>&1 2>&1 7>&- | eval $at_tee_pipe
5030read at_status <"$at_status_file"
5031#AT_STOP_70
5032#AT_START_71
5033at_fn_group_banner 71 'wordsplit.at:869' \
5034  "append + dooffs + env" "                          "
5035at_xfail=no
5036(
5037  $as_echo "71. $at_setup_line: testing $at_desc ..."
5038  $at_traceon
5039
5040
5041{ set +x
5042$as_echo "$at_srcdir/wordsplit.at:869:
5043 wsp -env none -dooffs preface words -- V=2 -append-args extra arguments follow <<'EOT'
5044some words and var=\$V
5045EOT
5046"
5047at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:869"
5048( $at_check_trace;
5049 wsp -env none -dooffs preface words -- V=2 -append-args extra arguments follow <<'EOT'
5050some words and var=$V
5051EOT
5052
5053) >>"$at_stdout" 2>>"$at_stderr" 5>&-
5054at_status=$? at_failed=false
5055$at_check_filter
5056at_fn_diff_devnull "$at_stderr" || at_failed=:
5057echo >>"$at_stdout"; $as_echo "NF: 7 (2)
5058(0): preface
5059(1): words
50602: some
50613: words
50624: and
50635: var=2
50646: extra
50657: arguments
50668: follow
5067TOTAL: 4
5068" | \
5069  $at_diff - "$at_stdout" || at_failed=:
5070at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:869"
5071$at_failed && at_fn_log_failure
5072$at_traceon; }
5073
5074  set +x
5075  $at_times_p && times >"$at_times_file"
5076) 5>&1 2>&1 7>&- | eval $at_tee_pipe
5077read at_status <"$at_status_file"
5078#AT_STOP_71
5079#AT_START_72
5080at_fn_group_banner 72 'wordsplit.at:886' \
5081  "maxwords" "                                       "
5082at_xfail=no
5083(
5084  $as_echo "72. $at_setup_line: testing $at_desc ..."
5085  $at_traceon
5086
5087
5088{ set +x
5089$as_echo "$at_srcdir/wordsplit.at:886:
5090 wsp -trimnl -maxwords 3 <<'EOT'
5091ws_maxwords  limits the   number of returned words
5092EOT
5093"
5094at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:886"
5095( $at_check_trace;
5096 wsp -trimnl -maxwords 3 <<'EOT'
5097ws_maxwords  limits the   number of returned words
5098EOT
5099
5100) >>"$at_stdout" 2>>"$at_stderr" 5>&-
5101at_status=$? at_failed=false
5102$at_check_filter
5103at_fn_diff_devnull "$at_stderr" || at_failed=:
5104echo >>"$at_stdout"; $as_echo "NF: 3
51050: ws_maxwords
51061: limits
51072: \"the   number of returned words\"
5108TOTAL: 3
5109" | \
5110  $at_diff - "$at_stdout" || at_failed=:
5111at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:886"
5112$at_failed && at_fn_log_failure
5113$at_traceon; }
5114
5115  set +x
5116  $at_times_p && times >"$at_times_file"
5117) 5>&1 2>&1 7>&- | eval $at_tee_pipe
5118read at_status <"$at_status_file"
5119#AT_STOP_72
5120#AT_START_73
5121at_fn_group_banner 73 'wordsplit.at:896' \
5122  "maxwords return_delims" "                         "
5123at_xfail=no
5124(
5125  $as_echo "73. $at_setup_line: testing $at_desc ..."
5126  $at_traceon
5127
5128
5129{ set +x
5130$as_echo "$at_srcdir/wordsplit.at:896:
5131 wsp -trimnl -maxwords 8 -return_delims -delim :- <<'EOT'
5132foo:::bar-:baz-quux:ux:zu
5133EOT
5134"
5135at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:896"
5136( $at_check_trace;
5137 wsp -trimnl -maxwords 8 -return_delims -delim :- <<'EOT'
5138foo:::bar-:baz-quux:ux:zu
5139EOT
5140
5141) >>"$at_stdout" 2>>"$at_stderr" 5>&-
5142at_status=$? at_failed=false
5143$at_check_filter
5144at_fn_diff_devnull "$at_stderr" || at_failed=:
5145echo >>"$at_stdout"; $as_echo "NF: 8
51460: foo
51471: :
51482: bar
51493: -
51504: :
51515: baz
51526: -
51537: quux:ux:zu
5154TOTAL: 8
5155" | \
5156  $at_diff - "$at_stdout" || at_failed=:
5157at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:896"
5158$at_failed && at_fn_log_failure
5159$at_traceon; }
5160
5161  set +x
5162  $at_times_p && times >"$at_times_file"
5163) 5>&1 2>&1 7>&- | eval $at_tee_pipe
5164read at_status <"$at_status_file"
5165#AT_STOP_73
5166#AT_START_74
5167at_fn_group_banner 74 'wordsplit.at:911' \
5168  "maxwords return_delims -squeeze_delims" "         "
5169at_xfail=no
5170(
5171  $as_echo "74. $at_setup_line: testing $at_desc ..."
5172  $at_traceon
5173
5174
5175{ set +x
5176$as_echo "$at_srcdir/wordsplit.at:911:
5177 wsp -trimnl -maxwords 8 -return_delims -nosqueeze_delims -delim :- <<'EOT'
5178foo:::bar-:baz:qux-
5179EOT
5180"
5181at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:911"
5182( $at_check_trace;
5183 wsp -trimnl -maxwords 8 -return_delims -nosqueeze_delims -delim :- <<'EOT'
5184foo:::bar-:baz:qux-
5185EOT
5186
5187) >>"$at_stdout" 2>>"$at_stderr" 5>&-
5188at_status=$? at_failed=false
5189$at_check_filter
5190at_fn_diff_devnull "$at_stderr" || at_failed=:
5191echo >>"$at_stdout"; $as_echo "NF: 8
51920: foo
51931: :
51942: :
51953: :
51964: bar
51975: -
51986: :
51997: baz:qux-
5200TOTAL: 8
5201" | \
5202  $at_diff - "$at_stdout" || at_failed=:
5203at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:911"
5204$at_failed && at_fn_log_failure
5205$at_traceon; }
5206
5207  set +x
5208  $at_times_p && times >"$at_times_file"
5209) 5>&1 2>&1 7>&- | eval $at_tee_pipe
5210read at_status <"$at_status_file"
5211#AT_STOP_74
5212#AT_START_75
5213at_fn_group_banner 75 'wordsplit.at:926' \
5214  "maxwords incremental" "                           "
5215at_xfail=no
5216(
5217  $as_echo "75. $at_setup_line: testing $at_desc ..."
5218  $at_traceon
5219
5220
5221{ set +x
5222$as_echo "$at_srcdir/wordsplit.at:926:
5223 wsp -trimnl -maxwords 3 -incremental <<'EOT'
5224foo  bar	baz qux  uz
5225
5226
5227
5228EOT
5229"
5230at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:926"
5231( $at_check_trace;
5232 wsp -trimnl -maxwords 3 -incremental <<'EOT'
5233foo  bar	baz qux  uz
5234
5235
5236
5237EOT
5238
5239) >>"$at_stdout" 2>>"$at_stderr" 5>&-
5240at_status=$? at_failed=false
5241$at_check_filter
5242echo >>"$at_stderr"; $as_echo "input exhausted
5243" | \
5244  $at_diff - "$at_stderr" || at_failed=:
5245echo >>"$at_stdout"; $as_echo "NF: 1
52460: foo
5247TOTAL: 1
5248NF: 1
52490: bar
5250TOTAL: 2
5251NF: 1
52520: \"baz qux  uz\"
5253TOTAL: 3
5254" | \
5255  $at_diff - "$at_stdout" || at_failed=:
5256at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:926"
5257$at_failed && at_fn_log_failure
5258$at_traceon; }
5259
5260  set +x
5261  $at_times_p && times >"$at_times_file"
5262) 5>&1 2>&1 7>&- | eval $at_tee_pipe
5263read at_status <"$at_status_file"
5264#AT_STOP_75
5265#AT_START_76
5266at_fn_group_banner 76 'wordsplit.at:945' \
5267  "variable nosplit" "                               "
5268at_xfail=no
5269(
5270  $as_echo "76. $at_setup_line: testing $at_desc ..."
5271  $at_traceon
5272
5273
5274{ set +x
5275$as_echo "$at_srcdir/wordsplit.at:945:
5276 wsp -novar -novarsplit <<'EOT'
5277begin \${VAR:- a b} end
5278EOT
5279"
5280at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:945"
5281( $at_check_trace;
5282 wsp -novar -novarsplit <<'EOT'
5283begin ${VAR:- a b} end
5284EOT
5285
5286) >>"$at_stdout" 2>>"$at_stderr" 5>&-
5287at_status=$? at_failed=false
5288$at_check_filter
5289at_fn_diff_devnull "$at_stderr" || at_failed=:
5290echo >>"$at_stdout"; $as_echo "NF: 3
52910: begin
52921: \"\${VAR:- a b}\"
52932: end
5294TOTAL: 3
5295" | \
5296  $at_diff - "$at_stdout" || at_failed=:
5297at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:945"
5298$at_failed && at_fn_log_failure
5299$at_traceon; }
5300
5301  set +x
5302  $at_times_p && times >"$at_times_file"
5303) 5>&1 2>&1 7>&- | eval $at_tee_pipe
5304read at_status <"$at_status_file"
5305#AT_STOP_76
5306#AT_START_77
5307at_fn_group_banner 77 'wordsplit.at:954' \
5308  "command nosplit" "                                "
5309at_xfail=no
5310(
5311  $as_echo "77. $at_setup_line: testing $at_desc ..."
5312  $at_traceon
5313
5314
5315{ set +x
5316$as_echo "$at_srcdir/wordsplit.at:954:
5317 wsp -nocmd -nocmdsplit <<'EOT'
5318begin \$(words a b) end
5319EOT
5320"
5321at_fn_check_prepare_notrace 'a $(...) command substitution' "wordsplit.at:954"
5322( $at_check_trace;
5323 wsp -nocmd -nocmdsplit <<'EOT'
5324begin $(words a b) end
5325EOT
5326
5327) >>"$at_stdout" 2>>"$at_stderr" 5>&-
5328at_status=$? at_failed=false
5329$at_check_filter
5330at_fn_diff_devnull "$at_stderr" || at_failed=:
5331echo >>"$at_stdout"; $as_echo "NF: 3
53320: begin
53331: \"\$(words a b)\"
53342: end
5335TOTAL: 3
5336" | \
5337  $at_diff - "$at_stdout" || at_failed=:
5338at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:954"
5339$at_failed && at_fn_log_failure
5340$at_traceon; }
5341
5342  set +x
5343  $at_times_p && times >"$at_times_file"
5344) 5>&1 2>&1 7>&- | eval $at_tee_pipe
5345read at_status <"$at_status_file"
5346#AT_STOP_77
5347#AT_START_78
5348at_fn_group_banner 78 'wordsplit.at:963' \
5349  "positional parameters" "                          "
5350at_xfail=no
5351(
5352  $as_echo "78. $at_setup_line: testing $at_desc ..."
5353  $at_traceon
5354
5355
5356{ set +x
5357$as_echo "$at_srcdir/wordsplit.at:963:
5358 wsp one two three four five six seven eight nine ten eleven twelve <<'EOT'
5359\$0 \$5 \${10}
5360\$#
5361EOT
5362"
5363at_fn_check_prepare_notrace 'a ${...} parameter expansion' "wordsplit.at:963"
5364( $at_check_trace;
5365 wsp one two three four five six seven eight nine ten eleven twelve <<'EOT'
5366$0 $5 ${10}
5367$#
5368EOT
5369
5370) >>"$at_stdout" 2>>"$at_stderr" 5>&-
5371at_status=$? at_failed=false
5372$at_check_filter
5373at_fn_diff_devnull "$at_stderr" || at_failed=:
5374echo >>"$at_stdout"; $as_echo "NF: 3
53750: one
53761: six
53772: eleven
5378TOTAL: 3
5379NF: 1
53800: 12
5381TOTAL: 1
5382" | \
5383  $at_diff - "$at_stdout" || at_failed=:
5384at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:963"
5385$at_failed && at_fn_log_failure
5386$at_traceon; }
5387
5388  set +x
5389  $at_times_p && times >"$at_times_file"
5390) 5>&1 2>&1 7>&- | eval $at_tee_pipe
5391read at_status <"$at_status_file"
5392#AT_STOP_78
5393#AT_START_79
5394at_fn_group_banner 79 'wordsplit.at:976' \
5395  "\$* and \$@" "                                      "
5396at_xfail=no
5397(
5398  $as_echo "79. $at_setup_line: testing $at_desc ..."
5399  $at_traceon
5400
5401
5402{ set +x
5403$as_echo "$at_srcdir/wordsplit.at:976:
5404 wsp 'one two' three 'four five' <<'EOT'
5405\$*
5406\$@
5407\"\$*\"
5408\"\$@\"
5409EOT
5410"
5411at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:976"
5412( $at_check_trace;
5413 wsp 'one two' three 'four five' <<'EOT'
5414$*
5415$@
5416"$*"
5417"$@"
5418EOT
5419
5420) >>"$at_stdout" 2>>"$at_stderr" 5>&-
5421at_status=$? at_failed=false
5422$at_check_filter
5423at_fn_diff_devnull "$at_stderr" || at_failed=:
5424echo >>"$at_stdout"; $as_echo "NF: 5
54250: one
54261: two
54272: three
54283: four
54294: five
5430TOTAL: 5
5431NF: 3
54320: \"one two\"
54331: three
54342: \"four five\"
5435TOTAL: 3
5436NF: 1
54370: \"one two three four five\"
5438TOTAL: 1
5439NF: 1
54400: \"one two three four five\"
5441TOTAL: 1
5442" | \
5443  $at_diff - "$at_stdout" || at_failed=:
5444at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:976"
5445$at_failed && at_fn_log_failure
5446$at_traceon; }
5447
5448  set +x
5449  $at_times_p && times >"$at_times_file"
5450) 5>&1 2>&1 7>&- | eval $at_tee_pipe
5451read at_status <"$at_status_file"
5452#AT_STOP_79
5453#AT_START_80
5454at_fn_group_banner 80 'wordsplit.at:1001' \
5455  "\$* and \$@ in nosplit mode" "                      "
5456at_xfail=no
5457(
5458  $as_echo "80. $at_setup_line: testing $at_desc ..."
5459  $at_traceon
5460
5461
5462{ set +x
5463$as_echo "$at_srcdir/wordsplit.at:1001:
5464 wsp -trimnl -nosplit 'one two' three 'four five' <<'EOT'
5465\$*
5466\$@
5467EOT
5468"
5469at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:1001"
5470( $at_check_trace;
5471 wsp -trimnl -nosplit 'one two' three 'four five' <<'EOT'
5472$*
5473$@
5474EOT
5475
5476) >>"$at_stdout" 2>>"$at_stderr" 5>&-
5477at_status=$? at_failed=false
5478$at_check_filter
5479at_fn_diff_devnull "$at_stderr" || at_failed=:
5480echo >>"$at_stdout"; $as_echo "NF: 1
54810: \"one two three four five\"
5482TOTAL: 1
5483NF: 1
54840: \"one two three four five\"
5485TOTAL: 1
5486" | \
5487  $at_diff - "$at_stdout" || at_failed=:
5488at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1001"
5489$at_failed && at_fn_log_failure
5490$at_traceon; }
5491
5492  set +x
5493  $at_times_p && times >"$at_times_file"
5494) 5>&1 2>&1 7>&- | eval $at_tee_pipe
5495read at_status <"$at_status_file"
5496#AT_STOP_80
5497#AT_START_81
5498at_fn_group_banner 81 'wordsplit.at:1013' \
5499  "\$* and \$@ in nosplit mode with delimiter" "       "
5500at_xfail=no
5501(
5502  $as_echo "81. $at_setup_line: testing $at_desc ..."
5503  $at_traceon
5504
5505
5506{ set +x
5507$as_echo "$at_srcdir/wordsplit.at:1013:
5508 wsp -trimnl -nosplit -delim : 'one two' three 'four five' <<'EOT'
5509\$*
5510\$@
5511EOT
5512"
5513at_fn_check_prepare_notrace 'an embedded newline' "wordsplit.at:1013"
5514( $at_check_trace;
5515 wsp -trimnl -nosplit -delim : 'one two' three 'four five' <<'EOT'
5516$*
5517$@
5518EOT
5519
5520) >>"$at_stdout" 2>>"$at_stderr" 5>&-
5521at_status=$? at_failed=false
5522$at_check_filter
5523at_fn_diff_devnull "$at_stderr" || at_failed=:
5524echo >>"$at_stdout"; $as_echo "NF: 1
55250: \"one two:three:four five\"
5526TOTAL: 1
5527NF: 1
55280: \"one two:three:four five\"
5529TOTAL: 1
5530" | \
5531  $at_diff - "$at_stdout" || at_failed=:
5532at_fn_check_status 0 $at_status "$at_srcdir/wordsplit.at:1013"
5533$at_failed && at_fn_log_failure
5534$at_traceon; }
5535
5536  set +x
5537  $at_times_p && times >"$at_times_file"
5538) 5>&1 2>&1 7>&- | eval $at_tee_pipe
5539read at_status <"$at_status_file"
5540#AT_STOP_81
5541