Subject: bug#29025: closed (Re: bug#29025: Option to run ERT in quiet mode)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 28 Oct 2017 10:52:02 +0000

Your bug report

#29025: Option to run ERT in quiet mode

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
29025: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=29025
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#29025: Option to run ERT in quiet mode
From: Eli Zaretskii <[email-masked]>
To: Paul Pogonyshev <[email-masked]>
Cc: [email-masked]
Date: Sat, 28 Oct 2017 13:51:19 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: Paul Pogonyshev <[email-masked]>
> Date: Fri, 27 Oct 2017 14:26:38 +0200
> Cc: [email-masked]
> 
> Attached is the patch extended with requested changes.

Thanks, pushed to the master branch.

Subject: Option to run ERT in quiet mode
From: Paul Pogonyshev <[email-masked]>
To: [email-masked]
Date: Fri, 27 Oct 2017 11:51:40 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Severity: wishlist
Tags: patch

When running ERT from command-line with (ert-run-tests-batch ...), it
prints lots of lines for passed tests. The attached patch adds
variable `ert-quiet' that lets you omit such non-important lines:

    (let ((ert-quiet t)) (ert-run-tests-batch ...))

Of course, default is nil, so there is no change for existing
invocations. It is fully backward compatible. Users don't have to
check Emacs version prior to binding this variable: on older version
there will be no effect, but ERT will work.

Paul
From 689a0faf794908992a0a9a8aebc3a0002ec03508 Mon Sep 17 00:00:00 2001
From: Paul Pogonyshev <[email-masked]>
Date: Fri, 27 Oct 2017 11:35:40 +0200
Subject: [PATCH] Add `ert-quiet' variable.

* ert.el (ert-quiet): New variable.
(ert-run-tests-batch): When `ert-quiet' is non-nil, don't
print non-important information.
---
 lisp/emacs-lisp/ert.el | 33 +++++++++++++++++++--------------
 1 file changed, 19 insertions(+), 14 deletions(-)

diff --git a/lisp/emacs-lisp/ert.el b/lisp/emacs-lisp/ert.el
index 3a3979e81f..1d69af8063 100644
--- a/lisp/emacs-lisp/ert.el
+++ b/lisp/emacs-lisp/ert.el
@@ -1333,6 +1333,9 @@ ert--insert-infos
 
 ;;; Running tests in batch mode.
 
+(defvar ert-quiet nil
+  "Non-nil makes ERT only print important information in batch mode.")
+
 ;;;###autoload
 (defun ert-run-tests-batch (&optional selector)
   "Run the tests specified by SELECTOR, printing results to the terminal.
@@ -1349,10 +1352,11 @@ ert-run-tests-batch
    (lambda (event-type &rest event-args)
      (cl-ecase event-type
        (run-started
-        (cl-destructuring-bind (stats) event-args
-          (message "Running %s tests (%s)"
-                   (length (ert--stats-tests stats))
-                   (ert--format-time-iso8601 (ert--stats-start-time stats)))))
+        (unless ert-quiet
+          (cl-destructuring-bind (stats) event-args
+            (message "Running %s tests (%s)"
+                     (length (ert--stats-tests stats))
+                     (ert--format-time-iso8601 (ert--stats-start-time stats))))))
        (run-ended
         (cl-destructuring-bind (stats abortedp) event-args
           (let ((unexpected (ert-stats-completed-unexpected stats))
@@ -1438,16 +1442,17 @@ ert-run-tests-batch
                         (ert-test-name test)))
               (ert-test-quit
                (message "Quit during %S" (ert-test-name test)))))
-          (let* ((max (prin1-to-string (length (ert--stats-tests stats))))
-                 (format-string (concat "%9s  %"
-                                        (prin1-to-string (length max))
-                                        "s/" max "  %S")))
-            (message format-string
-                     (ert-string-for-test-result result
-                                                 (ert-test-result-expected-p
-                                                  test result))
-                     (1+ (ert--stats-test-pos stats test))
-                     (ert-test-name test)))))))
+          (unless ert-quiet
+            (let* ((max (prin1-to-string (length (ert--stats-tests stats))))
+                   (format-string (concat "%9s  %"
+                                          (prin1-to-string (length max))
+                                          "s/" max "  %S")))
+              (message format-string
+                       (ert-string-for-test-result result
+                                                   (ert-test-result-expected-p
+                                                    test result))
+                       (1+ (ert--stats-test-pos stats test))
+                       (ert-test-name test))))))))
    nil))
 
 ;;;###autoload
-- 
2.14.2