Dear Recipients,

bug#79086 has been fixed.  The change has been pushed to Savannah.  The
patch is attached to this e-mail.  Thank you for reporting.

--
With Valediction,
Kamila Szewczyk (https://iczelia.net)
From ffb7d81637808c7b6f470e4295de3b07817da6c0 Mon Sep 17 00:00:00 2001
From: Kamila Szewczyk <[email protected]>
Date: Mon, 24 Aug 2026 11:59:58 +0200
Subject: [PATCH] check-DEJAGNU: fix automake bug #79086.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From https://bugs.gnu.org/79086 (Marc Nieper-Wißkirchen).

Correctly apply silent rules to the check-DEJAGNU target.  The fix is an
elementary Single-line change that properly applies $(AM_V_at) to the relevant
part of the recipe.

A regression test has been added alongside the change.

* lib/am/dejagnu.am: Conditionally silence parts of the recipe.
* NEWS: Mention this patch.
* t/dejagnu-silent.sh: Add a regression test.
* t/list-of-tests.mk: Register the test above.
---
 NEWS                |  3 ++
 lib/am/dejagnu.am   |  2 +-
 t/dejagnu-silent.sh | 67 +++++++++++++++++++++++++++++++++++++++++++++
 t/list-of-tests.mk  |  1 +
 4 files changed, 72 insertions(+), 1 deletion(-)
 create mode 100755 t/dejagnu-silent.sh

diff --git a/NEWS b/NEWS
index 2beaecb35..8612b01b5 100644
--- a/NEWS
+++ b/NEWS
@@ -35,6 +35,9 @@ New in 1.18.2 (????-??-??):
     an Automake conditional, the file is distributed only when the
     condition is true.  (bug#79049)
 
+  - The `check-DEJAGNU' recipe now honors silent rules (in the non-V=1
+    scenario).  (bug#79086)
+
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 New in 1.18.1 (2025-06-25):
 
diff --git a/lib/am/dejagnu.am b/lib/am/dejagnu.am
index 4592fe948..f1918fcfe 100644
--- a/lib/am/dejagnu.am
+++ b/lib/am/dejagnu.am
@@ -27,7 +27,7 @@ RUNTEST = runtest
 .PHONY: check-DEJAGNU
 check-DEJAGNU: site.exp
 ## Life is easiest with an absolute srcdir, so do that.
-	srcdir='$(srcdir)'; export srcdir; \
+	$(AM_V_at)srcdir='$(srcdir)'; export srcdir; \
 	EXPECT=$(EXPECT); export EXPECT; \
 ## If runtest can't be found, print a warning but don't die.  It is
 ## pointless to cause a failure if the tests cannot be run at all.
diff --git a/t/dejagnu-silent.sh b/t/dejagnu-silent.sh
new file mode 100755
index 000000000..307516c9a
--- /dev/null
+++ b/t/dejagnu-silent.sh
@@ -0,0 +1,67 @@
+#! /bin/sh
+# Copyright (C) 2026 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
+# See automake bug#79086.
+
+. test-init.sh
+
+echo AC_OUTPUT >> configure.ac
+
+cat > Makefile.am <<'END'
+AUTOMAKE_OPTIONS = dejagnu
+END
+
+$ACLOCAL
+$AUTOMAKE --add-missing
+$AUTOCONF
+
+# A stand-in for dejagnu...
+cat > fake-runtest <<'END'
+#! /bin/sh
+echo "FAKE-RUNTEST RAN"
+END
+chmod a+x fake-runtest
+
+fake=./fake-runtest
+
+# Silent rules are disabled by default.
+./configure
+run_make -M RUNTEST=$fake check-DEJAGNU
+cat output
+grep 'FAKE-RUNTEST RAN' output
+grep 'export srcdir' output
+
+run_make -M V=0 RUNTEST=$fake check-DEJAGNU
+cat output
+grep 'FAKE-RUNTEST RAN' output
+grep 'export srcdir' output && exit 1
+
+$MAKE distclean
+
+./configure --enable-silent-rules
+run_make -M RUNTEST=$fake check-DEJAGNU
+cat output
+grep 'FAKE-RUNTEST RAN' output
+grep 'export srcdir' output && exit 1
+grep 'exit_status' output && exit 1
+
+# 'make V=1' still shows the guts.
+run_make -M V=1 RUNTEST=$fake check-DEJAGNU
+cat output
+grep 'FAKE-RUNTEST RAN' output
+grep 'export srcdir' output
+
+:
diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk
index 90c2aa256..f7bc2a442 100644
--- a/t/list-of-tests.mk
+++ b/t/list-of-tests.mk
@@ -381,6 +381,7 @@ t/defun.sh \
 t/defun2.sh \
 t/dejagnu-absolute-builddir.sh \
 t/dejagnu-relative-srcdir.sh \
+t/dejagnu-silent.sh \
 t/dejagnu-siteexp-append.sh \
 t/dejagnu-siteexp-extend.sh \
 t/dejagnu-siteexp-useredit.sh \
-- 
2.53.0

Attachment: OpenPGP_0xC868F0B6DE38409D.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to