📄 general.m4
字号:
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 <AT_PACKAGE_BUGREPORT>._ATEOF echo "$at_setup_line" >"$at_check_line_file" fi at_group_count=`expr 1 + $at_group_count` $at_verbose $ECHO_N "$at_group. $at_setup_line: $ECHO_C" echo $ECHO_N "$at_group. $at_setup_line: $ECHO_C" >> "$at_group_log" case $at_xfail:$at_status in yes:0) at_msg="UNEXPECTED PASS" at_xpass_list="$at_xpass_list $at_group" at_errexit=$at_errexit_p ;; no:0) at_msg="ok" at_pass_list="$at_pass_list $at_group" at_errexit=false ;; *:77) at_msg='skipped ('`cat "$at_check_line_file"`')' at_skip_list="$at_skip_list $at_group" at_errexit=false ;; yes:*) at_msg='expected failure ('`cat "$at_check_line_file"`')' at_xfail_list="$at_xfail_list $at_group" at_errexit=false ;; no:*) at_msg='FAILED ('`cat "$at_check_line_file"`')' at_fail_list="$at_fail_list $at_group" at_errexit=$at_errexit_p ;; esac # Make sure there is a separator even with long titles. echo " $at_msg" at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg" case $at_status in 0|77) # $at_times_file is only available if the group succeeded. # We're not including the group log, so the success message # is written in the global log separately. But we also # write to the group log in case they're using -d. if test -f "$at_times_file"; then at_log_msg="$at_log_msg ("`sed 1d "$at_times_file"`')' rm -f "$at_times_file" fi echo "$at_log_msg" >> "$at_group_log" echo "$at_log_msg" >&AS_MESSAGE_LOG_FD # Cleanup the group directory, unless the user wants the files. if $at_debug_p ; then _AT_CREATE_DEBUGGING_SCRIPT elif test -d "$at_group_dir"; then find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; rm -fr "$at_group_dir" fi ;; *) # Upon failure, include the log into the testsuite's global # log. The failure message is written in the group log. It # is later included in the global log. echo "$at_log_msg" >> "$at_group_log" # Upon failure, keep the group directory for autopsy, and # create the debugging script. _AT_CREATE_DEBUGGING_SCRIPT $at_errexit && break ;; esac ;; esacdone# Back to the top directory.cd "$at_dir"# Compute the duration of the suite.at_stop_date=`date`at_stop_time=`date +%s 2>/dev/null`echo "$as_me: ending at: $at_stop_date" >&AS_MESSAGE_LOG_FDcase $at_start_time,$at_stop_time in [[0-9]*,[0-9]*]) at_duration_s=`expr $at_stop_time - $at_start_time` at_duration_m=`expr $at_duration_s / 60` at_duration_h=`expr $at_duration_m / 60` at_duration_s=`expr $at_duration_s % 60` at_duration_m=`expr $at_duration_m % 60` at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s" echo "$as_me: test suite duration: $at_duration" >&AS_MESSAGE_LOG_FD ;;esac# Wrap up the test suite with summary statistics.at_skip_count=`set dummy $at_skip_list; shift; echo $[@%:@]`at_fail_count=`set dummy $at_fail_list; shift; echo $[@%:@]`at_xpass_count=`set dummy $at_xpass_list; shift; echo $[@%:@]`at_xfail_count=`set dummy $at_xfail_list; shift; echo $[@%:@]`at_run_count=`expr $at_group_count - $at_skip_count`at_unexpected_count=`expr $at_xpass_count + $at_fail_count`at_total_fail_count=`expr $at_xfail_count + $at_fail_count`echoAS_BOX([Test results.])echo{ echo AS_BOX([Test results.]) echo} >&AS_MESSAGE_LOG_FDdnldnl FIXME: this code is as far from i18n-cleanness as mandnl could imagine...dnlif test $at_run_count = 1; then at_result="1 test" at_were=waselse at_result="$at_run_count tests" at_were=werefiif $at_errexit_p && test $at_unexpected_count != 0; then if test $at_xpass_count = 1; then at_result="$at_result $at_were run, one passed" else at_result="$at_result $at_were run, one failed" fi at_result="$at_result unexpectedly and inhibited subsequent tests."else # Don't you just love exponential explosion of the number of cases? case $at_xpass_count:$at_fail_count:$at_xfail_count in # So far, so good. 0:0:0) at_result="$at_result $at_were successful." ;; 0:0:*) at_result="$at_result behaved as expected." ;; # Some unexpected failures 0:*:0) at_result="$at_result $at_were run,$at_fail_count failed unexpectedly." ;; # Some failures, both expected and unexpected 0:*:1) at_result="$at_result $at_were run,$at_total_fail_count failed ($at_xfail_count expected failure)." ;; 0:*:*) at_result="$at_result $at_were run,$at_total_fail_count failed ($at_xfail_count expected failures)." ;; # No unexpected failures, but some xpasses *:0:*) at_result="$at_result $at_were run,$at_xpass_count passed unexpectedly." ;; # No expected failures, but failures and xpasses *:1:0) at_result="$at_result $at_were run,$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;; *:*:0) at_result="$at_result $at_were run,$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;; # All of them. *:*:1) at_result="$at_result $at_were run,$at_xpass_count passed unexpectedly,$at_total_fail_count failed ($at_xfail_count expected failure)." ;; *:*:*) at_result="$at_result $at_were run,$at_xpass_count passed unexpectedly,$at_total_fail_count failed ($at_xfail_count expected failures)." ;; esac if test $at_skip_count = 0 && test $at_run_count -gt 1; then at_result="All $at_result" fifi# Now put skips in the mix.case $at_skip_count in 0) ;; 1) at_result="$at_result1 test was skipped." ;; *) at_result="$at_result$at_skip_count tests were skipped." ;;esacif test $at_unexpected_count = 0; then echo "$at_result" echo "$at_result" >&AS_MESSAGE_LOG_FDelse echo "ERROR: $at_result" >&2 echo "ERROR: $at_result" >&AS_MESSAGE_LOG_FD { echo AS_BOX([Summary of the failures.]) # Summary of failed and skipped tests. if test $at_fail_count != 0; then echo "Failed tests:" $SHELL "$[0]" $at_fail_list --list echo fi if test $at_skip_count != 0; then echo "Skipped tests:" $SHELL "$[0]" $at_skip_list --list echo fi if test $at_xpass_count != 0; then echo "Unexpected passes:" $SHELL "$[0]" $at_xpass_list --list echo fi if test $at_fail_count != 0; then AS_BOX([Detailed failed tests.]) echo for at_group in $at_fail_list do at_group_normalized=$at_group _AT_NORMALIZE_TEST_GROUP_NUMBER(at_group_normalized) cat "$at_suite_dir/$at_group_normalized/$as_me.log" echo done echo fi if test -n "$at_top_srcdir"; then AS_BOX([${at_top_build_prefix}config.log]) sed 's/^/| /' ${at_top_build_prefix}config.log echo fi } >&AS_MESSAGE_LOG_FD AS_BOX([$as_me.log was created.]) echo echo "Please send \`${at_testdir+${at_testdir}/}$as_me.log' and all information you think might help:" echo echo " To: <AT_PACKAGE_BUGREPORT>" echo " Subject: @<:@AT_PACKAGE_STRING@:>@ $as_me:dnl$at_fail_list${at_fail_list:+ failed${at_xpass_list:+,}}dnl$at_xpass_list${at_xpass_list:+ passed unexpectedly}" echo if test $at_debug_p = false; then echo echo 'You may investigate any problem if you feel able to do so, in which' echo 'case the test suite provides a good starting point. Its output may' echo "be found below \`${at_testdir+${at_testdir}/}$as_me.dir'." echo fi exit 1fiexit 0m4_divert_pop([TESTS_END])dnldnl End of AT_INIT: divert to KILL, only test groups are to bednl output, the rest is ignored. Current diversion is BODY, inheriteddnl from M4sh.m4_divert_pop([BODY])m4_divert_push([KILL])])# AT_INIT# _AT_ARG_OPTION(OPTIONS,HELP-TEXT,[ARGS],[ACTION-IF-GIVEN],# [ACTION-IF-NOT-GIVEN])# ---------------------------------------------------------------------------# Internal implementation of AT_ARG_OPTION & AT_ARG_OPTION_ARGm4_defun([_AT_ARG_OPTION],[m4_divert_once([HELP_OTHER],[cat <<_ATEOFOther options:_ATEOF])dnl m4_divert_once HELP_OTHERm4_divert_text([HELP_OTHER],[cat <<_ATEOF$2_ATEOF])dnldnl Turn our options into our desired stringsm4_ifdef([AT_first_option],[m4_undefine([AT_first_option])])dnlm4_ifdef([AT_case],[m4_undefine([AT_case])])dnlm4_ifdef([AT_case_no],[m4_undefine([AT_case_no])])dnlm4_ifdef([AT_case_arg],[m4_undefine([AT_case_arg])])dnlm4_foreach([AT_option], m4_split(m4_normalize([$1]),[[ \|]+]),[m4_define_default([AT_first_option],AT_option)dnlm4_append([AT_case],m4_if(m4_len(AT_option),1,[],[-])[-]AT_option, [ | ])dnlm4_append([AT_case_no],[--no]AT_option, [ | ])dnlm4_append([AT_case_arg],m4_if(m4_len(AT_option),1,[],[-])[-]AT_option[=*], [ | ])dnl])dnl m4_foreach AT_optiondnl keep track so we or the user may process ACTION-IF-NOT-GIVENm4_divert_once([PARSE_ARGS_BEGIN],[#### Set up package specific options.##])dnlm4_divert_text([PARSE_ARGS_BEGIN],[dnl Provide a default value for options without arguments.m4_ifvaln([$3],,[at_arg_[]m4_bpatsubst([AT_first_option], -, _)=false])dnlat_arg_given_[]m4_bpatsubst([AT_first_option], -, _)=false])dnl m4_divert_text DEFAULTSm4_ifval([$3],[m4_divert_once([PARSE_ARGS_END],[#### Verify our last option didn't require an argument##AS_IF([test -n "$at_prev"],[AS_ERROR([`$at_prev' requires an argument.])])])])m4_divert_text([PARSE_ARGS],[dnl Parse the options and args when necessary.m4_ifvaln([$3],[ AT_case ) at_prev=--m4_bpatsubst([AT_first_option], -, _) ;; AT_case_arg ) at_arg_[]m4_bpatsubst([AT_first_option], -, _)=$at_optarg at_arg_given_[]m4_bpatsubst([AT_first_option], -, _)=: $4 ;;],[ AT_case ) at_optarg=: at_arg_[]m4_bpatsubst([AT_first_option], -, _)=: at_arg_given_[]m4_bpatsubst([AT_first_option], -, _)=: m4_ifval([$4],[$4])dnl ;; AT_case_no ) at_optarg=false at_arg_[]m4_bpatsubst([AT_first_option], -, _)=false at_arg_given_[]m4_bpatsubst([AT_first_option], -, _)=: m4_ifval([$4],[$4])dnl ;;])dnl m4_ifvaln $3])dnl m4_divert_text PARSE_ARGSm4_ifvaln([$5],[m4_divert_once([PARSE_ARGS_END],[#### Process package specific options when _not_ supplied.##])dnl m4_divert_once PARSE_ARGS_ENDm4_divert_text([PARSE_ARGS_END],[AS_IF([$at_arg_given_[]m4_bpatsubst([AT_first_option], -, _)],,[$5])dnl])dnl m4_divert_text PARSE_ARGS_END])dnl m4_ifvaln $5])dnl _AT_ARG_OPTION# AT_ARG_OPTION(OPTIONS,HELP-TEXT,[ACTION-IF-GIVEN],[ACTION-IF-NOT-GIVEN])# ------------------------------------------------------------------------# Accept a set of OPTIONS with arguments. Add HELP-TEXT to the HELP_OTHER# diversion.## Preceding dashes should not be passed into OPTIONS. Users will be required# to pass `--' before long options and `-' before single character options.## $at_arg_OPTION will be set to `:' if this option is received, `false' if# if --noOPTION is received, and `false' by default.## Run ACTION-IF-GIVEN each time an option in OPTIONS is encountered with# $at_optarg set to `:' or `false' as appropriate. $at_optarg is actually# just a copy of $at_arg_OPTION.## ACTION-IF-NOT-GIVEN will be run once after option parsing is complete# if no option from OPTIONS was found.m4_defun([AT_ARG_OPTION],[_AT_ARG_OPTION([$1],[$2],,[$3],[$4])])# AT_ARG_OPTION_ARG(OPTIONS,HELP-TEXT,[ACTION-IF-GIVEN],[ACTION-IF-NOT-GIVEN])# ---------------------------------------------------------------------------# Accept a set of OPTIONS with arguments, seperated by commas. Add HELP-TEXT# to the HELP_OTHER diversion.## Preceding dashes should not be passed into OPTIONS. Users will be required# to pass `--' before long options and `-' before single character options.## By default, any argument to these options will be assigned to the shell# variable $at_arg_OPTION, where OPTION is the first option in OPTIONS with# any `-' characters replaced with `_'.## Run ACTION-IF-GIVEN each time an option in OPTIONS is encountered with# $at_optarg set. $at_optarg is actually just a copy of $at_arg_OPTION.## ACTION-IF-NOT-GIVEN will be run once after option parsing is complete# if no option from OPTIONS was found.m4_defun([AT_ARG_OPTION_ARG],[_AT_ARG_OPTION([$1],[$2],1,[$3],[$4])])# AT_TESTED(PROGRAMS)# -------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -