Subject: bug#59317: 29.0.50; Feature idea: suppress `message' output in ert batch test output

From: Matt Armstrong <[email-masked]>
Date: Wed, 16 Nov 2022 10:52:11 -0800

This is a follow up to bug#59028.

A good number of Emacs tests exercise parts of Emacs that call
`message'.

When ERT runs tests interactively the `message' output is not normally
visible in the "*ert*" buffer.  In fact ERT arranges for the messages to
not even appear in the minibuffer as they happen.  They are instead
available on demand with the
`ert-results-pop-to-messages-for-test-at-point' command, bound to 'm' in
"*ert*".

When ERT runs tests in batch mode, messages are printed to the console
intermixed with ERT's progress messages.

Idea: hide `message' output when running in batch mode, printing them
only for failed tests.

Rationale: for passing tests the output is not useful.  For failing
tests it can be useful as a kind of trace, so the writing tests that
avoid all calls to `message' is not necessarily the best option.

This would also remove the need for a long game of whack-a-mole to
suppress such output, which leads to specific fixes like Eli's commit:

0a26b26217 (Reduce buffer-tests noisiness even more, 2022-11-16)

In GNU Emacs 29.0.50 (build 9, x86_64-pc-linux-gnu, GTK+ Version
 3.24.34, cairo version 1.16.0) of 2022-11-07 built on naz
Repository revision: d04433b96215d7d3387573f19cc315de86f2341a
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12201003
System Description: Debian GNU/Linux bookworm/sid