testsuite revision a747113422afaa29ce72d2c5ba7f0b7ea9ec2054
1047N/A# Copyright (C) 2009-2012 Free Software Foundation, Inc. 1047N/A# This test suite is free software; the Free Software Foundation gives 1047N/A# unlimited permission to copy, distribute and modify it. 1047N/A # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which 1047N/A # is contrary to our usage. Disable this feature. 1047N/A alias -g
'${1+"$@"}'=
'"$@"' 1047N/Aas_echo=
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' 1907N/Aas_echo=$as_echo$as_echo$as_echo$as_echo$as_echo 1047N/Aas_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo 1047N/A# Prefer a ksh shell builtin over an external printf program on Solaris, 1935N/A# but without wasting forks for bash or zsh. 1935N/Aif test -z "$BASH_VERSION$ZSH_VERSION" \ 1935N/A && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then 1047N/Aelif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then 1047N/Aif test "${PATH_SEPARATOR+set}" != set; then 1047N/A# We need space, tab and new line, in precisely that order. Quoting is 1047N/A# there to prevent editors from complaining about space-tab. 1047N/A# (If _AS_PATH_WALK were called with IFS unset, it would disable word 1907N/A# splitting by setting IFS to empty value.) 1047N/A# Find who we are. Look in the path if we contain no directory separator. 2210N/A *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR 1907N/A test -z "$as_dir" && as_dir=. 1907N/A test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break 1907N/A# We did not find ourselves, most probably we were run as `sh COMMAND' 1907N/A# in which case we are not to be found in the path. 1907N/A# Unset variables that we do not need and which cause bugs (e.g. in 1047N/A# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" 1047N/A# suppresses any "Segmentation fault" message there. '((' could 1935N/A# trigger a bug in pdksh 5.2.14. 1047N/A # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which 1047N/A # is contrary to our usage. Disable this feature. 1047N/A alias -g '\${1+\"\$@\"}'='\"\$@\"' case \`(set -o) 2>/dev/null\` in #( as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : exitcode=1; echo positional parameters were not saved. test x\$exitcode = x0 || exit 1 eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" # Try only shells that exist, to save several forks. # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." $as_echo "$0: be upgraded to zsh 4.3.4 or later." $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." # Unset more variables known to interfere with behavior of common tools. ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. # Create "$as_dir" as a directory, including parents if necessary. sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. test -f "$1" && test -x "$1" # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/
dev/
null;
then :
# Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/
dev/
null;
then :
# as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. test "X`expr 00001 : '.*\(...\)'`" =
X001;
then $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || sed '/^.*\/\([^/][^/]*\)\/*$/{ # Avoid depending upon Character Ranges. test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' ||
{ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). # Exit status is that of the last command. case `echo -n x` in #((((( *c*)
ECHO_T=
' ';;
# ECHO_T is single tab character. # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. test -d ./-p &&
rmdir ./-p
# Sed expression to map a string onto a valid CPP name. # Sed expression to map a string onto a valid variable name. # Not all shells have the 'times' builtin; the subshell is needed to make # sure we discard the 'times: not found' message from the shell. # CLI Arguments to pass to the debugging scripts. # Shall we be verbose? ':' means no, empty means yes. # Running several jobs in parallel, 0 means as many as test groups. # Shall we keep the debug scripts? Must be `:' when the suite is # run by a debug script, so that the script doesn't remove itself. # Display the version message? # Whether to rerun failed tests. # Whether a write failure occurred # The directory we run the suite in. Default to . if no -C option. # An absolute reference to this testsuite script. # Whether -C is in effect. # Whether to enable colored test results. # List of the tested programs. # As many question marks as there are digits in the last test group number. # Used to normalize the test group numbers so that `ls' lists them in # Description of all the test groups. # List of the all the test groups. # at_fn_validate_ranges NAME... # ----------------------------- # Validate and normalize the test group number contained in each variable # NAME. Leading zeroes are treated as decimal. 0*) # We want to treat leading 0 as decimal, like expr and test, but # AS_VAR_ARITH treats it as octal if it uses $(( )). # With XSI shells, ${at_value#${at_value%%[1-9]*}} avoids the # expr fork, but it is not worth the effort to determine if the # shell supports XSI when the user can just avoid leading 0. eval $at_grp='`expr $at_value + 0`' ;; # If the previous option needs an argument, assign it. # Accept the important Cygnus configure options, so we can diagnose typos. [
0-
9] | [
0-
9][
0-
9] | [
0-
9][
0-
9][
0-
9] | [
0-
9][
0-
9][
0-
9][
0-
9])
[
0-
9]- | [
0-
9][
0-
9]- | [
0-
9][
0-
9][
0-
9]- | [
0-
9][
0-
9][
0-
9][
0-
9]-)
-[
0-
9] | -[
0-
9][
0-
9] | -[
0-
9][
0-
9][
0-
9] | -[
0-
9][
0-
9][
0-
9][
0-
9])
[
0-
9]-[
0-
9] | [
0-
9]-[
0-
9][
0-
9] | [
0-
9]-[
0-
9][
0-
9][
0-
9] | \
[
0-
9]-[
0-
9][
0-
9][
0-
9][
0-
9] | [
0-
9][
0-
9]-[
0-
9][
0-
9] | \
[
0-
9][
0-
9]-[
0-
9][
0-
9][
0-
9] | [
0-
9][
0-
9]-[
0-
9][
0-
9][
0-
9][
0-
9] | \
[
0-
9][
0-
9][
0-
9]-[
0-
9][
0-
9][
0-
9] | \
[
0-
9][
0-
9][
0-
9]-[
0-
9][
0-
9][
0-
9][
0-
9] | \
[
0-
9][
0-
9][
0-
9][
0-
9]-[
0-
9][
0-
9][
0-
9][
0-
9] )
# It is on purpose that we match the test group titles too. # Reject names that are not valid shell variable names. # Export now, but save eval for later and for debug scripts. $as_echo "Try \`$0 --help' for more information." >&
2 # Verify our last option didn't require an argument # The file containing the suite. /^Failed tests:$/,/^Skipped tests:$/{ s/^[ ]*\([1-9][0-9]*\):.*/\1/p /^Unexpected passes:$/,/^## Detailed failed tests/{ s/^[ ]*\([1-9][0-9]*\):.*/\1/p /^## Detailed failed tests/q # Sort the tests, removing duplicates. cat <<_ATEOF
|| at_write_fail=1 Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS] Run all the tests, or the selected TESTS, given by numeric ranges, and save a detailed log file. Upon failure, create debugging scripts. Do not change environment variables directly. Instead, set them via command line arguments. Set \`AUTOTEST_PATH' to select the executables to exercise. Each relative directory is expanded as build and source directories relative to the top level of this distribution. E.g., from within the build directory /tmp/foo-1.0, invoking this: is equivalent to the following, assuming the source directory is /src/foo-1.0: PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH $0 cat <<_ATEOF
|| at_write_fail=1 -h, --help print the help message, then exit -V, --version print version number, then exit -c, --clean remove all the files this test suite might create and exit -l, --list describes all the tests, or the selected TESTS cat <<_ATEOF
|| at_write_fail=1 change to directory DIR before starting --color[=never|auto|always] enable colored test results on terminal, or always Allow N jobs at once; infinite jobs with no arg (default 1) select the tests matching all the comma-separated KEYWORDS multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD --recheck select all tests that failed or passed unexpectedly last time -e, --errexit abort as soon as a test fails; implies --debug -v, --verbose force more detailed output default for debugging scripts -d, --debug inhibit clean up and top-level logging default for debugging scripts -x, --trace enable tests shell tracing cat <<_ATEOF
|| at_write_fail=1 Report bugs to <atf-devel@NetBSD.org>. cat <<_ATEOF
|| at_write_fail=1 Automated Testing Framework 0.17 test suite: bootstrap tests test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME # Pass an empty line as separator between selected groups and help. awk 'NF == 1 && FS != ";" { printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3 for (i = 1; i <= n; i++) { if (i > 1 && len + l > lmax) { # Should we print banners? Yes if more than one test is run. # Text for banner N, set to a single space once printed. # Take any -C into account. # Load the config files for any default variable assignments. # Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix: # Perform any assignments requested during argument parsing. # atconfig delivers names relative to the directory the test suite is ## -------------------- ## ## Directory structure. ## ## -------------------- ## # This is the set of directories and files used by this script # (non-literals are capitalized): # TESTSUITE - the testsuite # TESTSUITE.dir/ - created during a run, remains after -d or failed test # + at-groups/ - during a run: status of all groups in run # | + NNN/ - during a run: meta-data about test group NNN # | | + check-line - location (source file and line) of current AT_CHECK # | | + status - exit status of current AT_CHECK # | | + stdout - stdout of current AT_CHECK # | | + stder1 - stderr, including trace # | | + stderr - stderr, with trace filtered out # | | + test-source - portion of testsuite that defines group # | | + times - timestamps for computing duration # | | + pass - created if group passed # | | + xpass - created if group xpassed # | | + fail - created if group failed # | | + xfail - created if group xfailed # | | + skip - created if group skipped # + at-stop - during a run: end the run if this file exists # + at-source-lines - during a run: cache of TESTSUITE line numbers for extraction # + 0..NNN/ - created for each group NNN, remains after -d or failed test # | + ... - files created during the group # The directory the whole suite works in. # Should be absolute to let the user `cd' at will. # The file containing the suite ($at_dir might have changed since earlier). # The directory containing helper files per test group. # Stop file: if it exists, do not start new jobs. # The fifo used for the job dispatcher. # Don't take risks: use only absolute directories in PATH. # For stand-alone test suites (ie. atconfig was not found), # AUTOTEST_PATH is relative to `.'. # For embedded test suites, AUTOTEST_PATH is relative to the top level # of the package. Then expand it into build/src parts, since users # may create executables in both places. # Stand-alone test suite. # Now build and simplify PATH. # There might be directories that don't exist, but don't redirect # builtins' (eg., cd) stderr directly: Ultrix's sh hates that. # 5 is the log file. Not to be overwritten if `-d'. $as_echo "## ------------------------------------------------------------- ## ## Automated Testing Framework 0.17 test suite: bootstrap tests. ## ## ------------------------------------------------------------- ##" $as_echo "## ------------------------------------------------------------- ## ## Automated Testing Framework 0.17 test suite: bootstrap tests. ## ## ------------------------------------------------------------- ##" # If ChangeLog exists, list a few lines in case it might help determining hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` # Contents of the config files. ## ------------------------- ## ## Autotest shell functions. ## ## ------------------------- ## # Output banner NUMBER, provided the testsuite is running multiple groups and # this particular banner has not yet been printed. eval "at_banner_text_$1=\" \"" # at_fn_check_prepare_notrace REASON LINE # --------------------------------------- # Perform AT_CHECK preparations for the command at LINE for an untraceable # command; REASON is the reason for disabling tracing. # at_fn_check_prepare_trace LINE # ------------------------------ # Perform AT_CHECK preparations for the command at LINE for a traceable # at_fn_check_prepare_dynamic COMMAND LINE # ---------------------------------------- # Decide if COMMAND at LINE is traceable at runtime, and call the appropriate # Remove the lines in the file "$at_stderr" generated by "set -x" and print # at_fn_log_failure FILE-LIST # --------------------------- # Copy the files in the list on stdout with a "> " prefix, and exit the shell # with a failure exit code. # at_fn_check_skip EXIT-CODE LINE # ------------------------------- # Check whether EXIT-CODE is a special exit code (77 or 99), and if so exit # the test group subshell with that same exit code. Use LINE in any report # at_fn_check_status EXPECTED EXIT-CODE LINE # ------------------------------------------ # Check whether EXIT-CODE is the EXPECTED exit code, and if so do nothing. # Otherwise, if it is 77 or 99, exit the test group subshell with that same # exit code; if it is anything else print an error message referring to LINE, *) $as_echo "$3: exit code was $2, expected $1" # at_fn_diff_devnull FILE # ----------------------- # Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless diff # Parse out test NUMBER from the tail of this file. # at_fn_create_debugging_script # ----------------------------- echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' && ## -------------------------------- ## ## End of autotest shell functions. ## ## -------------------------------- ## # Report what programs are being tested. ## ------------------ ##" # Create the master directory if it doesn't already exist. # Can we diff with `/dev/null'? DU 5.0 refuses. # Use `diff -u' when possible. # Get the last needed group. # Extract the start and end lines of each test group at the tail print "at_sed" test "=\"1," start "d;" (NR-1) "q\"" # Set number of jobs for `-j'; avoid more jobs than test groups. # If parallel mode, don't output banners, don't split summary lines. # Functions for running a test group. We leave the actual # test group execution outside of a shell function in order # to avoid hitting zsh 4.x exit status bugs. # Prepare for running a test group. # The directory for additional per-group helper files. # The file containing the location of the last AT_CHECK. # The file containing the exit status of the last command. # The files containing the output of the tested commands. # The file containing the code for a test group. # The file containing dates. # Be sure to come back to the top test directory. # Clearly separate the test groups when verbose. case $at_group_normalized in #( at_group_normalized=0$at_group_normalized # Create a fresh directory for the next test group, and enter. # If one already exists, the user may have invoked ./run from # within that directory; we remove the contents, but not the # directory itself, so that we aren't pulling the rug out from # under the shell's notion of the current directory. # Be tolerant if the above `rm' was not able to remove the directory. # In verbose mode, append to the log file *and* show on # the standard output; in quiet mode only write to the log. # at_fn_group_banner ORDINAL LINE DESC PAD [BANNER] # ------------------------------------------------- # Declare the test group ORDINAL, located at LINE with group description DESC, # and residing under BANNER. Use PAD to align the status column. # at_fn_group_postprocess # ----------------------- # Perform cleanup after running a test group. # Be sure to come back to the suite directory, in particular # since below we might `rm' the group directory we are in currently. A failure happened in a test group before any test could be run. This means that test suite is improperly designed. Please report this failure to <atf-devel@NetBSD.org>. # In parallel mode, output the summary line only afterwards. # Make sure there is a separator even with long titles. # $at_times_file is only available if the group succeeded. # We're not including the group log, so the success message # is written in the global log separately. But we also # write to the group log in case they're using -d. # Cleanup the group directory, unless the user wants the files # or the success was unexpected. # Upon failure, include the log into the testsuite's global # log. The failure message is written in the group log. It # is later included in the global log. # Upon failure, keep the group directory for autopsy, and create # the debugging script. With -e, do not start any further tests. if (set -m && set +m && set +b) >/
dev/
null 2>&
1;
then echo stop > "$at_stop_file" for at_pgid in `jobs -p 2>/dev/null`; do at_pgids="$at_pgids $at_job_group$at_pgid" test -z "$at_pgids" || kill -$at_signal $at_pgids 2>/dev/null if test "$at_jobs" -eq 1 || test -z "$at_verbose"; then at_signame=`kill -l $at_signal 2>&1 || echo $at_signal` test 1 -gt 2 && at_signame=$at_signal { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: caught signal $at_signame, bailing out" >&5 $as_echo "$as_me: WARNING: caught signal $at_signame, bailing out" >&2;} as_fn_arith 128 + $at_signal && exit_status=$as_val for at_pid in `jobs -p`; do at_pids="$at_pids $at_job_group$at_pid" if test -n "$at_pids"; then test "${TMOUT+set}" = set && at_sig=STOP test -z "$at_pids" || kill -CONT $at_pids 2>/dev/null' TSTP # Turn jobs into a list of numbers, starting from 1. echo stop > "$at_stop_file" shift # Consume one token. if test $# -
gt 0;
then :;
else # Read back the remaining ($at_jobs - 1) tokens. # Run serially, avoid forks and other potential surprises. # Wrap up the test suite with summary statistics. # Use ?..???? when the list must remain sorted, the faster * otherwise. echo $f; done | sed '/?/d; s,/xpass,,'` echo $f; done | sed '/?/d; s,/fail,,'` # Back to the top directory. # Compute the duration of the suite. at_duration=
"${at_duration_h}h ${at_duration_m}m ${at_duration_s}s" # Don't you just love exponential explosion of the number of cases? # Some unexpected failures # Some failures, both expected and unexpected # No unexpected failures, but some xpasses # No expected failures, but failures and xpasses # Now put skips in the mix. $as_echo "## ------------------------ ## ## Summary of the failures. ## ## ------------------------ ##" # Summary of failed and skipped tests. echo "Unexpected passes:" ## Detailed failed tests. ## ## ---------------------- ##" case $at_group_normalized in #( at_group_normalized=0$at_group_normalized sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## ${at_top_build_prefix}config.log ## sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## $as_me.log was created. ## To: <atf-devel@NetBSD.org> You may investigate any problem if you feel able to do so, in which case the test suite provides a good starting point. Its output may be found below \`${at_testdir+${at_testdir}/}$as_me.dir'. "test_program: filter test cases by name" " " while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap -r resout pass" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap -r resout skip" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap -r resout fail" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do "test_program: output format and exit codes" " " while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap -r resout pass" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap -r resout fail" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do echo "failed: On purpose" >expres while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap -r resout skip" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do echo "skipped: By design" >expres while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap -r resout default" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do "test_program: list test cases" " " while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap -l pass fail" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do "test_program: compare the user-visible interfaces" "" while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap -r resout pass" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap -r resout pass" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap -r resout pass" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap -r resout fail" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap -r resout fail" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap -r resout fail" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap -r resout skip" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap -r resout skip" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap -r resout skip" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap -r resout default" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap -r resout default" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap -r resout default" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap pass:cleanup" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap pass:cleanup" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap pass:cleanup" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do "subr: atf_check function" " " while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap exitcode_0_0" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap exitcode_0_1" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap exitcode_1_0" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap exitcode_1_1" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap stdout_expout_pass" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap stdout_expout_fail" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap stdout_ignore_empty" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap stdout_ignore_sth" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap stdout_null_empty" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap stdout_null_sth" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap stdout_stdout_written" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap stdout_match_ok" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap stdout_match_fail" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap stderr_experr_pass" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap stderr_experr_fail" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap stderr_ignore_empty" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap stderr_ignore_sth" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap stderr_null_empty" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap stderr_null_sth" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap stderr_stderr_written" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap stderr_match_ok" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do while test \$(pwd) != '/' -a ! -e ./Makefile; do })/bootstrap stderr_match_fail" while test $(pwd) != '/' -a ! -e ./Makefile; do while test $(pwd) != '/' -a ! -e ./Makefile; do