From: Akim Demaille Date: Thu, 21 Sep 2000 12:47:04 +0000 (+0000) Subject: * tests/atgeneral.m4: Formatting changes. X-Git-Tag: autoconf-2.50~615 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7a3e952e57052fdf0098be8dff3cf7971d8648b3;p=thirdparty%2Fautoconf.git * tests/atgeneral.m4: Formatting changes. (AT_INIT): Let `at_stop_on_error' and `at_verbose' be `:'/`false' variables instead of `'/`1'. `at_check_stds' replaces `at_no_redirs'. Rename `Snippet 3' as `Snippet 4'. Introduce `Snippet 3' for variable initializations. Adjust the dependencies. (AT_CHECK): Don't show diff's result unless verbose. --- diff --git a/ChangeLog b/ChangeLog index 33a79dc40..cb84e7cdd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2000-09-21 Akim Demaille + + * tests/atgeneral.m4: Formatting changes. + (AT_INIT): Let `at_stop_on_error' and `at_verbose' be `:'/`false' + variables instead of `'/`1'. + `at_check_stds' replaces `at_no_redirs'. + Rename `Snippet 3' as `Snippet 4'. + Introduce `Snippet 3' for variable initializations. + Adjust the dependencies. + (AT_CHECK): Don't show diff's result unless verbose. + 2000-09-20 Pavel Roskin * tests/Makefile.am: AC_PREFIX_PROGRAM and AC_F77_FUNC excluded diff --git a/lib/autotest/general.m4 b/lib/autotest/general.m4 index d86bda0ef..5bba64a04 100644 --- a/lib/autotest/general.m4 +++ b/lib/autotest/general.m4 @@ -45,14 +45,15 @@ divert(-1) -*- Autoconf -*- # any notice of this special exception to the GPL from your modified # version. +changequote() changequote([, ]) -define(AT_DEFINE, defn([define])) -define(AT_EVAL, defn([eval])) -define(AT_FORMAT, defn([format])) -define(AT_INCLUDE, defn([include])) -define(AT_SHIFT, defn([shift])) -define(AT_UNDEFINE, defn([undefine])) +define([AT_DEFINE], defn([define])) +define([AT_EVAL], defn([eval])) +define([AT_FORMAT], defn([format])) +define([AT_INCLUDE], defn([include])) +define([AT_SHIFT], defn([shift])) +define([AT_UNDEFINE], defn([undefine])) undefine([define]) undefine([eval]) @@ -61,8 +62,9 @@ undefine([include]) undefine([shift]) undefine([undefine]) -# AT_CASE(SWITCH, VAL1, IF-VAL1, VAL2, IF-VAL2, ..., DEFAULT) +# AT_CASE(SWITCH, VAL1, IF-VAL1, VAL2, IF-VAL2, ..., DEFAULT) +# ----------------------------------------------------------- # m4 equivalent of # switch (SWITCH) # { @@ -79,7 +81,7 @@ undefine([undefine]) # }. # All the values are optional, and the macro is robust to active # symbols properly quoted. -AT_DEFINE(AT_CASE, +AT_DEFINE([AT_CASE], [ifelse([$#], 0, [], [$#], 1, [], [$#], 2, [$2], @@ -94,23 +96,30 @@ AT_DEFINE(AT_CASE, # AT_LINE - +# ------- # Return the current file sans directory, a colon, and the current line. - -AT_DEFINE(AT_LINE, +AT_DEFINE([AT_LINE], [patsubst(__file__, ^.*/\(.*\), \1):__line__]) -# AT_INIT(PROGRAM) +# AT_INIT(PROGRAM) +# ---------------- # Begin testing suite, using PROGRAM to check version. The search path # should be already preset so the proper executable will be selected. - -AT_DEFINE(AT_INIT, +AT_DEFINE([AT_INIT], [AT_DEFINE(AT_ordinal, 0) . ./atconfig # Snippet (3 +# -e sets to true +at_stop_on_error=false; +# Shall we save and check stdout and stderr? +# -n sets to false +at_check_stds=true; +# Shall we +# -s sets to false, and -v to true +at_verbose=false -at_usage="Usage: [$]0 [OPTION]... +at_usage="Usage: $[0] [OPTION]... -e Abort the full suite and inhibit normal clean up if a test fails -n Do not redirect stdout and stderr and do not test their contents @@ -118,17 +127,21 @@ at_usage="Usage: [$]0 [OPTION]... -v Force more detailed output, default for debugging scripts unless -s -x Have the shell to trace command execution; also implies option -n" -while test [$][#] -gt 0; do - case "[$]1" in +# Snippet )3 + +# Snippet (4 +while test $[#] -gt 0; do + case "$[1]" in --help) echo "$at_usage"; exit 0 ;; - --version) echo "[$]0 ($at_package) $at_version"; exit 0 ;; - -e) at_stop_on_error=1; shift ;; - -n) at_no_redirs=1; shift ;; - -s) at_verbose=; at_silent=1; shift ;; - -v) at_verbose=1; at_silent=; shift ;; - -x) at_traceon='set -vx'; at_traceoff='set +vx'; at_no_redirs=1; shift ;; - *) echo 1>&2 "Try \`[$]0 --help' for more information."; exit 1 ;; + --version) echo "$[0] ($at_package) $at_version"; exit 0 ;; + -e) at_stop_on_error=:;; + -n) at_check_stds=false;; + -s) at_verbose=false; at_silent=1;; + -v) at_verbose=:; at_silent=;; + -x) at_traceon='set -vx'; at_traceoff='set +vx'; at_check_stds=false;; + *) echo 1>&2 "Try \`$[0] --help' for more information."; exit 1 ;; esac + shift done @@ -156,7 +169,7 @@ fi # up files at the beginning only, not at the end. This is so we can repeat # the script many times and browse left over files. To cope with such left # over files, the full test suite cleans up both before and after test groups. -# Snippet )3 +# Snippet )4 if test -n "`$1 --version | sed -n s/$at_package.*$at_version/OK/p`"; then at_banner="Testing suite for $at_package, version $at_version" @@ -195,15 +208,16 @@ else echo $at_n " $at_group$at_c" ( echo '#!/bin/sh' sed -n '/^[#] Snippet (1/,/^[#] Snippet )1/p' atconfig - test -z "$at_silent" && echo 'at_verbose=1' sed -n '/^[#] Snippet (2/,/^[#] Snippet )2/p' atconfig - sed -n "/^[#] Snippet (3/,/^[#] Snippet )3/p" [$]0 - sed -n "/^[#] Snippet (c$at_group(/,/^[#] Snippet )c$at_group)/p" [$]0 + sed -n "/^[#] Snippet (3/,/^[#] Snippet )3/p" $[0] + test -z "$at_silent" && echo 'at_verbose=:' + sed -n "/^[#] Snippet (4/,/^[#] Snippet )4/p" $[0] + sed -n "/^[#] Snippet (c$at_group(/,/^[#] Snippet )c$at_group)/p" $[0] at_desc="`sed -n \ - '/^[#] Snippet (d'$at_group'(/,/^[#] Snippet )d'$at_group')/p' [$]0 \ + '/^[#] Snippet (d'$at_group'(/,/^[#] Snippet )d'$at_group')/p' $[0] \ | sed -n '2s/^[#] //p'`" - echo 'if test -n "$at_verbose"; then' - echo ' at_banner="[$]0: '$at_desc'"' + echo 'if $at_verbose; then' + echo ' at_banner="$[0]: '$at_desc'"' echo ' at_dashes=`echo $at_banner | sed s/./=/g`' echo ' echo' echo ' echo "$at_dashes"' @@ -211,15 +225,15 @@ else echo ' echo "$at_dashes"' echo 'fi' echo - sed -n "/^[#] Snippet (d$at_group(/,/^[#] Snippet )d$at_group)/p" [$]0 - sed -n "/^[#] Snippet (s$at_group(/,/^[#] Snippet )s$at_group)/p" [$]0 + sed -n "/^[#] Snippet (d$at_group(/,/^[#] Snippet )d$at_group)/p" $[0] + sed -n "/^[#] Snippet (s$at_group(/,/^[#] Snippet )s$at_group)/p" $[0] echo 'exit 0' ) | grep -v '^[#] Snippet' > debug-$at_group.sh chmod +x debug-$at_group.sh at_fail_count=`expr $at_fail_count + 1` done echo ', done' - if test -n "$at_stop_on_error"; then + if $at_stop_on_error; then at_banner='ERROR: One of the tests failed, inhibiting subsequent tests' else at_banner="ERROR: Suite unsuccessful, $at_fail_count of $at_test_count tests failed" @@ -250,23 +264,24 @@ fi exit 0 divert[]dnl -]) +])# AT_INIT + -# AT_SETUP(DESCRIPTION) +# AT_SETUP(DESCRIPTION) +# --------------------- # Start a group of related tests, all to be executed in the same subshell. # The group is testing what DESCRIPTION says. - -AT_DEFINE(AT_SETUP, +AT_DEFINE([AT_SETUP], [AT_DEFINE([AT_ordinal], AT_EVAL(AT_ordinal + 1)) pushdef([AT_group_description], [$1]) pushdef([AT_data_files], ) pushdef([AT_data_expout], ) pushdef([AT_data_experr], ) -if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then +if $at_stop_on_error && test -n "$at_failed_list"; then :; else divert(1)[]dnl echo AT_LINE > at-check-line - if test -n "$at_verbose"; then + if $at_verbose; then echo 'testing AT_group_description' echo $at_n " $at_c" fi @@ -287,12 +302,11 @@ $at_traceon # Complete a group of related tests, recursively remove those FILES # created within the test. There is no need to list stdout, stderr, # nor files created with AT_DATA. - AT_DEFINE([AT_CLEANUP], $at_traceoff [[#] Snippet )s[]AT_ordinal[]) ) - case [$]? in + case $? in 0) echo ok ;; 77) echo "ignored near \``cat at-check-line`'" @@ -307,7 +321,7 @@ $at_traceoff at_ignore_count=`expr $at_ignore_count + 1` fi at_test_count=AT_ordinal - if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then + if $at_stop_on_error && test -n "$at_failed_list"; then :; else divert(0)[]dnl [#] Snippet (c[]AT_ordinal[]( @@ -320,7 +334,8 @@ fi popdef([AT_data_experr]) popdef([AT_data_expout]) popdef([AT_data_files]) -popdef([AT_group_description])]) +popdef([AT_group_description])[]dnl +])# AT_CLEANUP # AT_DATA(FILE, CONTENTS) @@ -329,7 +344,6 @@ popdef([AT_group_description])]) # an end of line. # This macro is not robust to active symbols in CONTENTS *on purpose*. # If you don't want CONTENT to be evaluated, quote it twice. - AT_DEFINE([AT_DATA], [AT_DEFINE([AT_data_files], AT_data_files[ ]$1) cat >$1 <<'_ATEOF' @@ -348,41 +362,43 @@ $2[]_ATEOF # STATUS is not checked if it is empty. # STDOUT and STDERR can be the special value `ignore', in which case # their content is not checked. - -AT_DEFINE(AT_CHECK, +AT_DEFINE([AT_CHECK], [$at_traceoff -test -n "$at_verbose" \ - && echo "$srcdir/AT_LINE: testing..." +$at_verbose && echo "$srcdir/AT_LINE: testing..." echo AT_LINE > at-check-line -test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr +$at_check_stds && exec 5>&1 6>&2 1>stdout 2>stderr $at_traceon $1 -ifelse([$2],,, +ifelse([$2], [], [], [at_status=$? if test $at_status != $2; then dnl Maybe there was an important message to read before it died. - test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6 + $at_verbose && $at_check_stds && cat stderr >&6 dnl Exit with the same code, at least to preserve 77. exit $at_status fi ])dnl $at_traceoff -if test -z "$at_no_redirs"; then +if $at_check_stds; then +dnl Restore stdout to fd1 and stderr to fd2. exec 1>&5 2>&6 +dnl If not verbose, neutralize the output of diff. + $at_verbose || exec 1>/dev/null 2>/dev/null AT_CASE([$3], - ignore, [test -n "$at_verbose" && cat stdout;:], + ignore, [$at_verbose && cat stdout;:], expout, [AT_DEFINE([AT_data_expout], [ expout])dnl $at_diff expout stdout || exit 1], [], [$at_diff empty stdout || exit 1], [echo $at_n "patsubst([$3], [\([\"`$]\)], \\\1)$at_c" | $at_diff - stdout || exit 1]) AT_CASE([$4], - ignore, [test -n "$at_verbose" && cat stderr;:], + ignore, [$at_verbose && cat stderr;:], experr, [AT_DEFINE([AT_data_experr], [ experr])dnl $at_diff experr stderr || exit 1], [], [$at_diff empty stderr || exit 1], [echo $at_n "patsubst([$4], [\([\"`$]\)], \\\1)$at_c" | $at_diff - stderr || exit 1]) fi $at_traceon -]) +])# AT_CHECK + divert(0)dnl diff --git a/tests/atgeneral.m4 b/tests/atgeneral.m4 index d86bda0ef..5bba64a04 100644 --- a/tests/atgeneral.m4 +++ b/tests/atgeneral.m4 @@ -45,14 +45,15 @@ divert(-1) -*- Autoconf -*- # any notice of this special exception to the GPL from your modified # version. +changequote() changequote([, ]) -define(AT_DEFINE, defn([define])) -define(AT_EVAL, defn([eval])) -define(AT_FORMAT, defn([format])) -define(AT_INCLUDE, defn([include])) -define(AT_SHIFT, defn([shift])) -define(AT_UNDEFINE, defn([undefine])) +define([AT_DEFINE], defn([define])) +define([AT_EVAL], defn([eval])) +define([AT_FORMAT], defn([format])) +define([AT_INCLUDE], defn([include])) +define([AT_SHIFT], defn([shift])) +define([AT_UNDEFINE], defn([undefine])) undefine([define]) undefine([eval]) @@ -61,8 +62,9 @@ undefine([include]) undefine([shift]) undefine([undefine]) -# AT_CASE(SWITCH, VAL1, IF-VAL1, VAL2, IF-VAL2, ..., DEFAULT) +# AT_CASE(SWITCH, VAL1, IF-VAL1, VAL2, IF-VAL2, ..., DEFAULT) +# ----------------------------------------------------------- # m4 equivalent of # switch (SWITCH) # { @@ -79,7 +81,7 @@ undefine([undefine]) # }. # All the values are optional, and the macro is robust to active # symbols properly quoted. -AT_DEFINE(AT_CASE, +AT_DEFINE([AT_CASE], [ifelse([$#], 0, [], [$#], 1, [], [$#], 2, [$2], @@ -94,23 +96,30 @@ AT_DEFINE(AT_CASE, # AT_LINE - +# ------- # Return the current file sans directory, a colon, and the current line. - -AT_DEFINE(AT_LINE, +AT_DEFINE([AT_LINE], [patsubst(__file__, ^.*/\(.*\), \1):__line__]) -# AT_INIT(PROGRAM) +# AT_INIT(PROGRAM) +# ---------------- # Begin testing suite, using PROGRAM to check version. The search path # should be already preset so the proper executable will be selected. - -AT_DEFINE(AT_INIT, +AT_DEFINE([AT_INIT], [AT_DEFINE(AT_ordinal, 0) . ./atconfig # Snippet (3 +# -e sets to true +at_stop_on_error=false; +# Shall we save and check stdout and stderr? +# -n sets to false +at_check_stds=true; +# Shall we +# -s sets to false, and -v to true +at_verbose=false -at_usage="Usage: [$]0 [OPTION]... +at_usage="Usage: $[0] [OPTION]... -e Abort the full suite and inhibit normal clean up if a test fails -n Do not redirect stdout and stderr and do not test their contents @@ -118,17 +127,21 @@ at_usage="Usage: [$]0 [OPTION]... -v Force more detailed output, default for debugging scripts unless -s -x Have the shell to trace command execution; also implies option -n" -while test [$][#] -gt 0; do - case "[$]1" in +# Snippet )3 + +# Snippet (4 +while test $[#] -gt 0; do + case "$[1]" in --help) echo "$at_usage"; exit 0 ;; - --version) echo "[$]0 ($at_package) $at_version"; exit 0 ;; - -e) at_stop_on_error=1; shift ;; - -n) at_no_redirs=1; shift ;; - -s) at_verbose=; at_silent=1; shift ;; - -v) at_verbose=1; at_silent=; shift ;; - -x) at_traceon='set -vx'; at_traceoff='set +vx'; at_no_redirs=1; shift ;; - *) echo 1>&2 "Try \`[$]0 --help' for more information."; exit 1 ;; + --version) echo "$[0] ($at_package) $at_version"; exit 0 ;; + -e) at_stop_on_error=:;; + -n) at_check_stds=false;; + -s) at_verbose=false; at_silent=1;; + -v) at_verbose=:; at_silent=;; + -x) at_traceon='set -vx'; at_traceoff='set +vx'; at_check_stds=false;; + *) echo 1>&2 "Try \`$[0] --help' for more information."; exit 1 ;; esac + shift done @@ -156,7 +169,7 @@ fi # up files at the beginning only, not at the end. This is so we can repeat # the script many times and browse left over files. To cope with such left # over files, the full test suite cleans up both before and after test groups. -# Snippet )3 +# Snippet )4 if test -n "`$1 --version | sed -n s/$at_package.*$at_version/OK/p`"; then at_banner="Testing suite for $at_package, version $at_version" @@ -195,15 +208,16 @@ else echo $at_n " $at_group$at_c" ( echo '#!/bin/sh' sed -n '/^[#] Snippet (1/,/^[#] Snippet )1/p' atconfig - test -z "$at_silent" && echo 'at_verbose=1' sed -n '/^[#] Snippet (2/,/^[#] Snippet )2/p' atconfig - sed -n "/^[#] Snippet (3/,/^[#] Snippet )3/p" [$]0 - sed -n "/^[#] Snippet (c$at_group(/,/^[#] Snippet )c$at_group)/p" [$]0 + sed -n "/^[#] Snippet (3/,/^[#] Snippet )3/p" $[0] + test -z "$at_silent" && echo 'at_verbose=:' + sed -n "/^[#] Snippet (4/,/^[#] Snippet )4/p" $[0] + sed -n "/^[#] Snippet (c$at_group(/,/^[#] Snippet )c$at_group)/p" $[0] at_desc="`sed -n \ - '/^[#] Snippet (d'$at_group'(/,/^[#] Snippet )d'$at_group')/p' [$]0 \ + '/^[#] Snippet (d'$at_group'(/,/^[#] Snippet )d'$at_group')/p' $[0] \ | sed -n '2s/^[#] //p'`" - echo 'if test -n "$at_verbose"; then' - echo ' at_banner="[$]0: '$at_desc'"' + echo 'if $at_verbose; then' + echo ' at_banner="$[0]: '$at_desc'"' echo ' at_dashes=`echo $at_banner | sed s/./=/g`' echo ' echo' echo ' echo "$at_dashes"' @@ -211,15 +225,15 @@ else echo ' echo "$at_dashes"' echo 'fi' echo - sed -n "/^[#] Snippet (d$at_group(/,/^[#] Snippet )d$at_group)/p" [$]0 - sed -n "/^[#] Snippet (s$at_group(/,/^[#] Snippet )s$at_group)/p" [$]0 + sed -n "/^[#] Snippet (d$at_group(/,/^[#] Snippet )d$at_group)/p" $[0] + sed -n "/^[#] Snippet (s$at_group(/,/^[#] Snippet )s$at_group)/p" $[0] echo 'exit 0' ) | grep -v '^[#] Snippet' > debug-$at_group.sh chmod +x debug-$at_group.sh at_fail_count=`expr $at_fail_count + 1` done echo ', done' - if test -n "$at_stop_on_error"; then + if $at_stop_on_error; then at_banner='ERROR: One of the tests failed, inhibiting subsequent tests' else at_banner="ERROR: Suite unsuccessful, $at_fail_count of $at_test_count tests failed" @@ -250,23 +264,24 @@ fi exit 0 divert[]dnl -]) +])# AT_INIT + -# AT_SETUP(DESCRIPTION) +# AT_SETUP(DESCRIPTION) +# --------------------- # Start a group of related tests, all to be executed in the same subshell. # The group is testing what DESCRIPTION says. - -AT_DEFINE(AT_SETUP, +AT_DEFINE([AT_SETUP], [AT_DEFINE([AT_ordinal], AT_EVAL(AT_ordinal + 1)) pushdef([AT_group_description], [$1]) pushdef([AT_data_files], ) pushdef([AT_data_expout], ) pushdef([AT_data_experr], ) -if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then +if $at_stop_on_error && test -n "$at_failed_list"; then :; else divert(1)[]dnl echo AT_LINE > at-check-line - if test -n "$at_verbose"; then + if $at_verbose; then echo 'testing AT_group_description' echo $at_n " $at_c" fi @@ -287,12 +302,11 @@ $at_traceon # Complete a group of related tests, recursively remove those FILES # created within the test. There is no need to list stdout, stderr, # nor files created with AT_DATA. - AT_DEFINE([AT_CLEANUP], $at_traceoff [[#] Snippet )s[]AT_ordinal[]) ) - case [$]? in + case $? in 0) echo ok ;; 77) echo "ignored near \``cat at-check-line`'" @@ -307,7 +321,7 @@ $at_traceoff at_ignore_count=`expr $at_ignore_count + 1` fi at_test_count=AT_ordinal - if test -z "$at_stop_on_error" || test -z "$at_failed_list"; then + if $at_stop_on_error && test -n "$at_failed_list"; then :; else divert(0)[]dnl [#] Snippet (c[]AT_ordinal[]( @@ -320,7 +334,8 @@ fi popdef([AT_data_experr]) popdef([AT_data_expout]) popdef([AT_data_files]) -popdef([AT_group_description])]) +popdef([AT_group_description])[]dnl +])# AT_CLEANUP # AT_DATA(FILE, CONTENTS) @@ -329,7 +344,6 @@ popdef([AT_group_description])]) # an end of line. # This macro is not robust to active symbols in CONTENTS *on purpose*. # If you don't want CONTENT to be evaluated, quote it twice. - AT_DEFINE([AT_DATA], [AT_DEFINE([AT_data_files], AT_data_files[ ]$1) cat >$1 <<'_ATEOF' @@ -348,41 +362,43 @@ $2[]_ATEOF # STATUS is not checked if it is empty. # STDOUT and STDERR can be the special value `ignore', in which case # their content is not checked. - -AT_DEFINE(AT_CHECK, +AT_DEFINE([AT_CHECK], [$at_traceoff -test -n "$at_verbose" \ - && echo "$srcdir/AT_LINE: testing..." +$at_verbose && echo "$srcdir/AT_LINE: testing..." echo AT_LINE > at-check-line -test -z "$at_no_redirs" && exec 5>&1 6>&2 1>stdout 2>stderr +$at_check_stds && exec 5>&1 6>&2 1>stdout 2>stderr $at_traceon $1 -ifelse([$2],,, +ifelse([$2], [], [], [at_status=$? if test $at_status != $2; then dnl Maybe there was an important message to read before it died. - test -n "$at_verbose" && test -z "$at_no_redirs" && cat stderr >&6 + $at_verbose && $at_check_stds && cat stderr >&6 dnl Exit with the same code, at least to preserve 77. exit $at_status fi ])dnl $at_traceoff -if test -z "$at_no_redirs"; then +if $at_check_stds; then +dnl Restore stdout to fd1 and stderr to fd2. exec 1>&5 2>&6 +dnl If not verbose, neutralize the output of diff. + $at_verbose || exec 1>/dev/null 2>/dev/null AT_CASE([$3], - ignore, [test -n "$at_verbose" && cat stdout;:], + ignore, [$at_verbose && cat stdout;:], expout, [AT_DEFINE([AT_data_expout], [ expout])dnl $at_diff expout stdout || exit 1], [], [$at_diff empty stdout || exit 1], [echo $at_n "patsubst([$3], [\([\"`$]\)], \\\1)$at_c" | $at_diff - stdout || exit 1]) AT_CASE([$4], - ignore, [test -n "$at_verbose" && cat stderr;:], + ignore, [$at_verbose && cat stderr;:], experr, [AT_DEFINE([AT_data_experr], [ experr])dnl $at_diff experr stderr || exit 1], [], [$at_diff empty stderr || exit 1], [echo $at_n "patsubst([$4], [\([\"`$]\)], \\\1)$at_c" | $at_diff - stderr || exit 1]) fi $at_traceon -]) +])# AT_CHECK + divert(0)dnl