@c %**start of header
@setfilename ../../info/ert.info
@settitle Emacs Lisp Regression Testing
-@documentencoding UTF-8
+@include docstyle.texi
@c %**end of header
@dircategory Emacs misc features
@end direntry
@copying
-Copyright @copyright{} 2008, 2010--2015 Free Software Foundation, Inc.
+Copyright @copyright{} 2008, 2010--2016 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
failed or if anything else went wrong. It will also print progress
messages and error diagnostics to standard output.
+You can also redirect the above output to a log file, say
+@file{output.log}, and use the
+@code{ert-summarize-tests-batch-and-exit} function to produce a neat
+summary as shown below:
+
+@example
+emacs -batch -l ert -f ert-summarize-tests-batch-and-exit output.log
+@end example
+
If ERT is not part of your Emacs distribution, you may need to use
@code{-L /path/to/ert/} so that Emacs can find it. You may need
additional @code{-L} flags to ensure that @code{my-tests.el} and all the
While fixtures are a useful syntactic simplification in other
languages, this does not apply to Lisp, where higher-order functions
-and `unwind-protect' are available. One way to implement and use a
+and @code{unwind-protect} are available. One way to implement and use a
fixture in ERT is
@lisp
(If you are interested in such syntax, note that splitting set-up and
tear-down into separate functions, like *Unit tools usually do, makes
-it impossible to establish dynamic `let' bindings as part of the
+it impossible to establish dynamic @code{let} bindings as part of the
fixture. So, blindly imitating the way fixtures are implemented in
other languages would be counter-productive in Lisp.)
particular module. Since symbol prefixes are the usual way of
separating module namespaces in Emacs Lisp, test selectors already
solve this by allowing regexp matching on test names; e.g., the
-selector "^ert-" selects ERT's self-tests.
+selector @code{"^ert-"} selects ERT's self-tests.
Other uses include grouping tests by their expected execution time,
e.g., to run quick tests during interactive development and slow tests less