2009-07-13 Eric Blake <ebb9@byu.net>
+ Guarantee that exit status trumps output matching.
+ * doc/autoconf.texi (Writing Testsuites) <AT_CHECK>: Document this
+ better.
+ * tests/autotest.at (Skip, parallel skip): Enhance tests.
+
Fix nits in recent patches.
* configure.ac (ac_cv_dir_trailing_space): Avoid $status, for
zsh.
parameter is treated as text that must exactly match the output given by
@var{commands} on standard out and standard error (including an empty
parameter for no output); any differences are captured in the testsuite
-log and the test is failed. The difference between @code{AT_CHECK} and
+log and the test is failed (unless an unexpected exit status of 77
+skipped the test instead). The difference between @code{AT_CHECK} and
@code{AT_CHECK_UNQUOTED} is that only the latter performs shell variable
expansion (@samp{$}), command substitution (@samp{`}), and backslash
escaping (@samp{\}) on comparison text given in the @var{stdout} and
[AT_CHECK([grep failed micro-suite.log], [], [ignore])])
AT_CHECK_AT_TEST([Skip],
- [AT_CHECK([exit 77], 0, [], [])],
+ [AT_CHECK([echo output; echo irrelevant >&2; exit 77], 0, [mismatch], [])],
[], [], [], [], [],
[AT_CHECK([grep skipped micro-suite.log], [], [ignore])])
[AT_CHECK([grep failed micro-suite.log], [], [ignore])], [-j])
AT_CHECK_AT_TEST([parallel skip],
- [AT_CHECK([exit 77], 0, [], [])],
+ [AT_CHECK([echo output; echo irrelevant >&2; exit 77], 0, [mismatch], [])],
[], [], [], [], [AT_SKIP_PARALLEL_TESTS],
[AT_CHECK([grep skipped micro-suite.log], [], [ignore])], [-j])