Subject: bug#30172: [PATCH] tests: do not assume AM_MAKEINFOHTMLFLAGS is used in non-html targets

From: Mike Frysinger <[email-masked]>
Date: Tue, 8 Feb 2022 00:28:25 -0500

From: Mathieu Lirzin <[email-masked]>

Fixes automake bug https://bugs.gnu.org/30172.

Since AM_MAKEINFOHTMLFLAGS overrides AM_MAKEINFOFLAGS only for html
targets, make sure we restore the hacked up makefile before testing
the non-html formats.  This normally doesn't cause a problem for most
people, but if their tex install doesn't work correctly, texi2dvi will
fallback to running $MAKEINFO and using invalid flags in the process.

* THANKS: Add Mathieu Lirzin.
* t/txinfo-many-output-formats.sh: Restore Makefile.am after testing
html targets.
* t/txinfo-many-output-formats-vpath.sh: Likewise.
---
 THANKS                                | 1 +
 t/txinfo-many-output-formats-vpath.sh | 9 +++++++--
 t/txinfo-many-output-formats.sh       | 9 +++++++--
 3 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/THANKS b/THANKS
index 554013ca87c3..41e15eb73b34 100644
--- a/THANKS
+++ b/THANKS
@@ -269,6 +269,7 @@ Martin Waitz                    [email-masked]
 Mathias Doreille                [email-masked]
 Mathias Froehlich               [email-masked]
 Mathias Hasselmann              [email-masked]
+Mathieu Lirzin                  [email-masked]
 Matt Burgess                    [email-masked]
 Matt Leach                      [email-masked]
 Matthew D. Langston             [email-masked]
diff --git a/t/txinfo-many-output-formats-vpath.sh b/t/txinfo-many-output-formats-vpath.sh
index 98a88428e3eb..3842e63cdca8 100644
--- a/t/txinfo-many-output-formats-vpath.sh
+++ b/t/txinfo-many-output-formats-vpath.sh
@@ -155,6 +155,13 @@ test ! -e share/$me/html/main.html
 test ! -e share/$me/html/main2.html
 test ! -e share/$me/html/main3.html
 
+# Restore the makefile without a broken AM_MAKEINFOFLAGS definition.
+# This must happen before processing any non-html targets.  See
+# https://bugs.gnu.org/30172
+cp -f $srcdir/Makefile.sav $srcdir/Makefile.am
+(cd $srcdir && $AUTOMAKE)
+./config.status Makefile
+
 $MAKE dvi
 test -f main.dvi
 test -f sub/main2.dvi
@@ -198,8 +205,6 @@ test ! -e share/$me/pdf/main2.pdf
 test ! -e share/$me/pdf/main3.pdf
 test ! -e share/$me/pdf/hello
 
-# Restore the makefile without a broken AM_MAKEINFOFLAGS definition.
-cp -f $srcdir/Makefile.sav $srcdir/Makefile.am
 using_gmake || $MAKE Makefile
 $MAKE distcheck
 
diff --git a/t/txinfo-many-output-formats.sh b/t/txinfo-many-output-formats.sh
index 9903d4ef875e..cdb0bf40c792 100644
--- a/t/txinfo-many-output-formats.sh
+++ b/t/txinfo-many-output-formats.sh
@@ -160,6 +160,13 @@ test ! -e share/$me/html/main.html
 test ! -e share/$me/html/main2.html
 test ! -e share/$me/html/main3.html
 
+# Restore the makefile without a broken AM_MAKEINFOFLAGS definition.
+# This must happen before processing any non-html targets.  See
+# https://bugs.gnu.org/30172
+cp -f $srcdir/Makefile.sav $srcdir/Makefile.am
+(cd $srcdir && $AUTOMAKE)
+./config.status Makefile
+
 $MAKE dvi
 test -f main.dvi
 test -f sub/main2.dvi
@@ -203,8 +210,6 @@ test ! -e share/$me/pdf/main2.pdf
 test ! -e share/$me/pdf/main3.pdf
 test ! -e share/$me/pdf/hello
 
-# Restore the makefile without a broken AM_MAKEINFOFLAGS definition.
-cp -f $srcdir/Makefile.sav $srcdir/Makefile.am
 using_gmake || $MAKE Makefile
 $MAKE distcheck
 
-- 
2.34.1