📄 autotest.m4f
字号:
## M4sh Initialization. #### --------------------- ### Be Bourne compatibleif test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: [#] Zsh 3.x and 4.x performs word splitting on ${1+"$[@]"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$[@]"}'='"$[@]"'elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posixfi_AS_UNSET_PREPARE# Work around bugs in pre-3.0 UWIN ksh.$as_unset ENV MAIL MAILPATHPS1='$ 'PS2='> 'PS4='+ '# NLS nuisances.for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIMEdo if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var fidone# Required to use basename._AS_EXPR_PREPARE_AS_BASENAME_PREPARE# Name of the executable.as_me=`AS_BASENAME("$[0]")`[]_m4_defun_epi([AS_SHELL_SANITIZE])T7,101_m4_for$4[]dnlm4_if($1, [$2], [], [m4_define([$1], m4_eval($1+[$3]))_m4_for([$1], [$2], [$3], [$4])])F3,3dnldnlT20,56m4_location(AS_LN_S)/prjz/msys/dtk/src/autoconf-2.56/lib/m4sugar/m4sh.m4:682T28,56m4_location(AS_EXECUTABLE_P)/prjz/msys/dtk/src/autoconf-2.56/lib/m4sugar/m4sh.m4:485T8,27m4_ifvalm4_if([$1], [], [$3], [$2])T11,48m4_dumpdefs_m4_dumpdefs_up([$1])dnl_m4_dumpdefs_down([$1])F12,9m4_changecomchangecomT5,97AS_IFm4_ifval([$2$3],[if $1; then m4_ifval([$2], [$2], :)m4_ifvaln([$3],[else $3])dnlfi])dnlT10,27m4_providem4_define([m4_provide($1)])T10,26m4_defaultm4_ifval([$1], [$1], [$2])T7,150m4_join_m4_defun_pro([m4_join])m4_case([$#], [1], [], [2], [[$2]], [[$2][$1]$0([$1], m4_shiftn(2, $@))])[]_m4_defun_epi([m4_join])T13,48m4_provide_ifm4_ifdef([m4_provide($1)], [$2], [$3])F10,7m4_esyscmdesyscmdF10,7m4_builtinbuiltinF10,6m4_bregexpregexpT12,26m4_normalizem4_strip(m4_flatten([$1]))T10,75AS_REQUIREm4_provide_if([$1], [], [m4_divert_text([M4SH-INIT], [$1])])T8,116m4_defunm4_define([m4_location($1)], m4_location)dnlm4_define([$1], [_m4_defun_pro([$1])$2[]_m4_defun_epi([$1])])F12,9m4_debugfiledebugfileT7,99AS_LN_S_m4_defun_pro([AS_LN_S])AS_REQUIRE([_AS_LN_S_PREPARE])dnl$as_ln_s $1 $2[]_m4_defun_epi([AS_LN_S])T28,1_m4_divert(HEADER-COPYRIGHT)3T7,17523AT_INITm4_pattern_forbid([^_?AT_])m4_define([AT_TESTSUITE_NAME], m4_defn([AT_PACKAGE_STRING])[ test suite]m4_ifval([$1], [: $1]))m4_define([AT_ordinal], 0)m4_define([AT_banner_ordinal], 0)AS_INITAS_PREPAREm4_divert_push([DEFAULT])dnlAS_PREPARESHELL=${CONFIG_SHELL-/bin/sh}# How were we run?at_cli_args="$[@]"# Load the config file.for at_file in atconfig atlocaldo test -r $at_file || continue . ./$at_file || AS_ERROR([invalid content: $at_file])done# atconfig delivers paths relative to the directory the test suite is# in, but the groups themselves are run in testsuite-dir/group-dir.if test -n "$at_top_srcdir"; then builddir=../.. for at_dir in srcdir top_srcdir top_builddir do at_val=AS_VAR_GET(at_$at_dir) AS_VAR_SET($at_dir, $at_val/../..) donefi# Not all shells have the 'times' builtin; the subshell is needed to make# sure we discard the 'times: not found' message from the shell.at_times_skip=:(times) >/dev/null 2>&1 && at_times_skip=false# CLI Arguments to pass to the debugging scripts.at_debug_args=# -e sets to trueat_errexit_p=false# Shall we be verbose?at_verbose=:at_quiet=echo# Shall we keep the debug scripts? Must be `:' when the suite is# run by a debug script, so that the script doesn't remove itself.at_debug_p=false# Display help message?at_help_p=false# List test groups?at_list_p=false# Test groups to runat_groups=# The directory we are in.at_dir=`pwd`# The directory the whole suite works in.# Should be absolutely to let the user `cd' at will.at_suite_dir=$at_dir/$as_me.dir# The file containing the location of the last AT_CHECK.at_check_line_file=$at_suite_dir/at-check-line# The files containing the output of the tested commands.at_stdout=$at_suite_dir/at-stdoutat_stder1=$at_suite_dir/at-stder1at_stderr=$at_suite_dir/at-stderr# The file containing dates.at_times_file=$at_suite_dir/at-timesm4_wrap([m4_divert_text([DEFAULT],[# List of the tested programs.at_tested='m4_ifdef([AT_tested], [AT_tested])'# List of the all the test groups.at_groups_all='AT_groups_all'# As many dots as there are digits in the last test group number.# Used to normalize the test group numbers so that `ls' lists them in# numerical order.at_format='m4_bpatsubst(m4_defn([AT_ordinal]), [.], [.])'# Description of all the test groups.at_help_all=AT_help])])dnlm4_divert([OPTIONS])while test $[@%:@] -gt 0; do case $[1] in --help | -h ) at_help_p=: ;; --list | -l ) at_list_p=: ;; --version | -V ) echo "$as_me (AT_PACKAGE_STRING)" exit 0 ;; --clean | -c ) rm -rf $at_suite_dir $as_me.log exit 0 ;; --debug | -d ) at_debug_p=: ;; --errexit | -e ) at_debug_p=: at_errexit_p=: ;; --verbose | -v ) at_verbose=echo; at_quiet=: ;; --trace | -x ) at_traceon='set -vx'; at_traceoff='set +vx' ;; [[0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9]]) at_groups="$at_groups$[1] " ;; # Ranges [[0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-]) at_range_start=`echo $[1] |tr -d '-'` at_range=`echo " $at_groups_all " | \ sed -e 's,^.* '$at_range_start' ,'$at_range_start' ,'` at_groups="$at_groups$at_range " ;; [-[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9]]) at_range_end=`echo $[1] |tr -d '-'` at_range=`echo " $at_groups_all " | \ sed -e 's, '$at_range_end' .*$, '$at_range_end','` at_groups="$at_groups$at_range " ;; [[0-9]-[0-9] | [0-9]-[0-9][0-9] | [0-9]-[0-9][0-9][0-9]] | \ [[0-9]-[0-9][0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9]] | \ [[0-9][0-9]-[0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9][0-9][0-9]] | \ [[0-9][0-9][0-9]-[0-9][0-9][0-9]] | \ [[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]] | \ [[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]] ) at_range_start=`echo $[1] |sed 's,-.*,,'` at_range_end=`echo $[1] |sed 's,.*-,,'` # FIXME: Maybe test to make sure start <= end? at_range=`echo " $at_groups_all " | \ sed -e 's,^.* '$at_range_start' ,'$at_range_start' ,' \ -e 's, '$at_range_end' .*$, '$at_range_end','` at_groups="$at_groups$at_range " ;; # Keywords. --keywords | -k ) shift at_groups_selected=$at_help_all for at_keyword in `IFS=,; set X $[1]; shift; echo ${1+$[@]}` do # It is on purpose that we match the test group titles too. at_groups_selected=`echo "$at_groups_selected" | grep -i "^[[^;]]*;[[^;]]*;.*$at_keyword"` done at_groups_selected=`echo "$at_groups_selected" | sed 's/;.*//'` # Smash the end of lines. at_groups_selected=`echo $at_groups_selected` at_groups="$at_groups$at_groups_selected " ;; *=*) at_envvar=`expr "x$[1]" : 'x\([[^=]]*\)='` # Reject names that are not valid shell variable names. expr "x$at_envvar" : "[.*[^_$as_cr_alnum]]" >/dev/null && AS_ERROR([invalid variable name: $at_envvar]) at_value=`expr "x$[1]" : 'x[[^=]]*=\(.*\)'` at_value=`echo "$at_value" | sed "s/'/'\\\\\\\\''/g"` eval "$at_envvar='$at_value'" export $at_envvar # Propagate to debug scripts. at_debug_args="$at_debug_args $[1]" ;; *) echo "$as_me: invalid option: $[1]" >&2 echo "Try \`$[0] --help' for more information." >&2 exit 1 ;; esac shiftdone# Selected test groups.test -z "$at_groups" && at_groups=$at_groups_all# Help message.if $at_help_p; then cat <<_ATEOFUsage: $[0] [[OPTION]... [VARIABLE=VALUE]... [TESTS]]Run all the tests, or the selected TESTS, and save a detailed log file.Upon failure, create debugging scripts.You should not change environment variables unless explicitly passedas command line arguments. Set \`AUTOTEST_PATH' to select the executablesto exercise. Each relative directory is expanded as build and sourcedirectories relatively to the top level of this distribution. E.g., $ $[0] AUTOTEST_PATH=binpossibly amounts into PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATHOperation modes: -h, --help print the help message, then exit -V, --version print version number, then exit -c, --clean remove all the files this test suite might create and exit -l, --list describes all the tests, or the selected TESTSExecution tuning: -k, --keywords=KEYWORDS select the tests matching all the comma separated KEYWORDS accumulates -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 debug script creation default for debugging scripts -x, --trace enable tests shell tracingReport bugs to <AT_PACKAGE_BUGREPORT>._ATEOF exit 0fi# List of tests.if $at_list_p; then cat <<_ATEOFAT_TESTSUITE_NAME test groups: NUM: FILENAME:LINE TEST-GROUP-NAME KEYWORDS_ATEOF # " 1 42 45 " => "^(1|42|45);". at_groups_pattern=`echo "$at_groups" | sed 's/^ *//;s/ *$//;s/ */|/g'` echo "$at_help_all" | awk 'BEGIN { FS = ";" } { if ($[1] !~ /^('"$at_groups_pattern"')$/) next } { if ($[1]) printf " %3d: %-18s %s\n", $[1], $[2], $[3] if ($[4]) printf " %s\n", $[4] } ' exit 0fi# Don't take risks: use only absolute directories in PATH.## For stand-alone test suites, AUTOTEST_PATH is relative to `.'.## For embedded test suites, AUTOTEST_PATH is relative to the top level# of the package. Then expand it into build/src parts, since users# may create executables in both places.## There might be directories that don't exist, but don't redirect# builtins' (eg., cd) stderr directly: Ultrix's sh hates that.AUTOTEST_PATH=`echo $AUTOTEST_PATH | tr ':' $PATH_SEPARATOR`at_path=_AS_PATH_WALK([$AUTOTEST_PATH $PATH],[case $as_dir in [[\\/]]* | ?:[[\\/]]* ) at_path=$at_path$PATH_SEPARATOR$as_dir ;; * ) if test -z "$at_top_builddir"; then # Stand-alone test suite. at_path=$at_path$PATH_SEPARATOR$as_dir else # Embedded test suite. at_path=$at_path$PATH_SEPARATOR$at_top_builddir/$as_dir at_path=$at_path$PATH_SEPARATOR$at_top_srcdir/$as_dir fi ;;esac])# Now build and simplify PATH.PATH=_AS_PATH_WALK([$at_path],[as_dir=`(cd "$as_dir" && pwd) 2>/dev/null`test -d "$as_dir" || continuecase $PATH in $as_dir | \ $as_dir$PATH_SEPARATOR* | \ *$PATH_SEPARATOR$as_dir | \ *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR* ) ;; '') PATH=$as_dir ;; *) PATH=$PATH$PATH_SEPARATOR$as_dir ;;esac])export PATH# Setting up the FDs.# 5 is stdout conditioned by verbosity.if test $at_verbose = echo; then exec 5>&1else exec 5>/dev/nullfi# 6 is the log file. To be preserved if `-d'.m4_define([AS_MESSAGE_LOG_FD], [6])if $at_debug_p; then exec AS_MESSAGE_LOG_FD>/dev/nullelse exec AS_MESSAGE_LOG_FD>$as_me.logfi# Banners and logs.AS_BOX(m4_defn([AT_TESTSUITE_NAME])[.]){ AS_BOX(m4_defn([AT_TESTSUITE_NAME])[.]) echo echo "$as_me: command line was:" echo " $ $[0] $at_cli_args" echo # Try to find a few ChangeLogs in case it might help determining the # exact version. Use the relative dir: if the top dir is a symlink, # find will not follow it (and options to follow the links are not # portable), which would result in no output here. if test -n "$at_top_srcdir"; then AS_BOX([ChangeLogs.]) echo for at_file in `find "$at_top_srcdir" -name ChangeLog -print` do echo "$as_me: $at_file:" sed 's/^/| /;10q' $at_file echo done AS_UNAME echo
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -