test: save buffer content to file instead of printing it in Emacs tests
authorDmitry Kurochkin <dmitry.kurochkin@gmail.com>
Tue, 28 Jun 2011 04:45:06 +0000 (08:45 +0400)
committerCarl Worth <cworth@cworth.org>
Tue, 28 Jun 2011 22:06:47 +0000 (15:06 -0700)
commit3b24b396c4c9178603dec5380b4e89f6795dee1f
treebb352725128a5a9eb1afcc403375a88f7f7b8ce9
parentcaeb05493d5d0c97859cfd6303d8c64071dd69ea
test: save buffer content to file instead of printing it in Emacs tests

Before the change, the common Emacs test scheme was to print
buffer content to stdout and redirect it to a file or capture it
in a shell variable.  This does not work if we switch to using
emacsclient(1) for running the tests, because you can not print
to the stdout in this case. (Actually, you can print to stdout
from Emacs server, but you can not capture the output on
emacsclient(1)).

The patch introduces new Emacs test auxiliary functions:
`test-output' and `test-visible-output'.  These functions are
used to save buffer content to a file directly from Emacs.  For
most tests the changes are trivial, because Emacs stdout output
was redirected to a file anyway.  But some tests captured the
output in a shell variable and compare it with the expected
output using test_expect_equal.  These tests are changed to use
files and test_expect_equal_file instead.

Note: even if we do not switch Emacs tests to emacsclient(1), the
patch makes tests cleaner and is an improvement.
test/emacs
test/emacs-large-search-buffer
test/test-lib.el