On 21/01/2022 20:33, Ihor Radchenko wrote:
Max Nikulin <maniku...@gmail.com> writes:
I am attaching a tentative patch for Org that should make
EMACS_TEST_VERBOSE setting more transparent.
Thanks! Your patch looks cleaner.
In the meanwhile Lars fixed ERT in Emacs-29, so empty string is
considered as false now, see https://debbugs.gnu.org/53313
Values like "no" should not be considered as false by Org makefiles, so
I am attaching an updated version.
In addition, I am attaching a tentative hack to make ERT pretty-print
the failure reason as you wished. WDYT?
Sorry, I was not clear enough. Summary should remain single-line. There
are pretty-printed failure reason in the main part of the log. I was
complained concerning the following brick
signal(ert-test-failed (((should (equal "aB " (org-test-with-parsed-
ert-fail(((should (equal "aB " (org-test-with-parsed-data "* Headlin
(if (unwind-protect (setq value-5061 (apply fn-5059 args-5060)) (set
(let (form-description-5063) (if (unwind-protect (setq value-5061 (a
(let ((value-5061 'ert-form-evaluation-aborted-5062)) (let (form-des
(let* ((fn-5059 #'equal) (args-5060 (condition-case err (let ((signa
(closure (t) nil (let* ((fn-5059 #'equal) (args-5060 (condition-case
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name test-org-export/get-previous-element
ert-run-or-rerun-test(#s(ert--stats :selector "test-org-export/get-p
ert-run-tests("test-org-export/get-previous-element" #f(compiled-fun
ert-run-tests-batch("test-org-export/get-previous-element")
ert-run-tests-batch-and-exit("test-org-export/get-previous-element")
(let ((org-id-track-globally t) (org-test-selector (if org-test-sele
org-test-run-batch-tests("test-org-export/get-previous-element")
eval((org-test-run-batch-tests org-test-select-re) t)
command-line-1(("-L" "/home/ubuntu/ert" "--eval" "(setq vc-handled-b
command-line()
normal-top-level()
However it will be too long when pretty printed.
>From a53095fa1c6679376708dcc1a05a446c3967d914 Mon Sep 17 00:00:00 2001
From: Max Nikulin <maniku...@gmail.com>
Date: Sat, 15 Jan 2022 22:54:30 +0700
Subject: [PATCH] make test: Make failure summary more verbose
* mk/default.mk: By default enable verbose failure summary for Emacs-28
or newer.
Set or unset EMACS_TEST_VERBOSE environment to control reporting of failure
reasons in summary since in Emacs-28 ERT switches to verbose mode even by
an empty string (fixed in Emacs-29).
---
mk/default.mk | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/mk/default.mk b/mk/default.mk
index c8a15bdd2..804089280 100644
--- a/mk/default.mk
+++ b/mk/default.mk
@@ -32,6 +32,20 @@ TMPDIR ?= /tmp
testdir = $(TMPDIR)/tmp-orgtest
# Configuration for testing
+# Verbose ERT summary by default for Emacs-28 and above.
+# To override:
+# - Add to local.mk
+# EMACS_TEST_VERBOSE =
+# - Export EMACS_TEST_VERBOSE environment variable with empty value
+# - Run tests as
+# EMACS_TEST_VERBOSE= make test [OTHER_ARGUMENTS...]
+# or as
+# make test EMACS_TEST_VERBOSE= [OTHER_ARGUMENTS...]
+EMACS_TEST_VERBOSE ?= yes
+ifeq (,$(EMACS_TEST_VERBOSE))
+# Emacs-28 considers empty value as true, fixed in Emacs-29
+unexport EMACS_TEST_VERBOSE
+endif
# add options before standard load-path
BTEST_PRE =
# add options after standard load path
--
2.25.1