[PATCH v1] Fix misuse of DejaGnu in Automake testsuite

Jacob Bachmeyer <[email protected]>
Newsgroups gmane.comp.sysutils.automake.patches
Message-ID <[email protected]>
This is a revised patch that changes the DejaGnu tests in the Automake 
testsuite to properly use a testsuite/ directory.  A previous "v0" of 
this patch was sent to the general Automake list as an illustration of 
the problem, but that version of the patch broke compatibility with all 
older releases of DejaGnu.  This version instead uses recursive make to 
run DejaGnu in the testsuite/ directory in each case.  This works with 
older versions of DejaGnu and this usage of DejaGnu will continue to be 
supported for the foreseeable future.

On a side note, DejaGnu can now be run from its source tree or a Git 
working tree.  While the Automake testsuite does not seem to provide a 
way to set RUNTEST to point to an alternate runtest, " 
PATH=/where/you/put/dejagnu-1.6.3:$PATH make check " will use an 
unpacked version of the 1.6.3 release even if the system has an older 
version installed.  Older versions of DejaGnu did not support this reliably.

8<------
diff -urN -x '*~' automake-1.16.3/t/check12.sh automake-1.16.3-patch/t/check12.sh
--- automake-1.16.3/t/check12.sh	2020-11-18 19:21:03.000000000 -0600
+++ automake-1.16.3-patch/t/check12.sh	2021-07-13 21:49:22.900870882 -0500
@@ -22,6 +22,7 @@
 . test-init.sh
 
 cat >> configure.ac << 'END'
+AC_CONFIG_FILES([testsuite/Makefile])
 AC_OUTPUT
 END
 
@@ -56,12 +57,17 @@
 ## DejaGnu tests.
 
 cat >> Makefile.am << 'END'
-AUTOMAKE_OPTIONS += dejagnu
+SUBDIRS = testsuite
+EXTRA_DIST += hammer spanner
+END
+
+mkdir testsuite
+
+cat >> testsuite/Makefile.am << 'END'
+AUTOMAKE_OPTIONS = dejagnu
 DEJATOOL = hammer spanner
-AM_RUNTESTFLAGS = HAMMER=$(srcdir)/hammer SPANNER=$(srcdir)/spanner
-EXTRA_DIST += $(DEJATOOL)
-EXTRA_DIST += hammer.test/hammer.exp
-EXTRA_DIST += spanner.test/spanner.exp
+AM_RUNTESTFLAGS = HAMMER=$(top_srcdir)/hammer SPANNER=$(top_srcdir)/spanner
+EXTRA_DIST = hammer.test/hammer.exp spanner.test/spanner.exp
 END
 
 cat > hammer << 'END'
@@ -77,9 +83,9 @@
 END
 chmod +x hammer spanner
 
-mkdir hammer.test spanner.test
+mkdir testsuite/hammer.test testsuite/spanner.test
 
-cat > hammer.test/hammer.exp << 'END'
+cat > testsuite/hammer.test/hammer.exp << 'END'
 set test test_hammer
 spawn $HAMMER
 expect {
@@ -88,7 +94,7 @@
 }
 END
 
-cat > spanner.test/spanner.exp << 'END'
+cat > testsuite/spanner.test/spanner.exp << 'END'
 set test test_spanner
 spawn $SPANNER
 expect {
@@ -133,10 +139,10 @@
   $srcdir/configure
 
   $MAKE check
-  test -f hammer.log
-  test -f hammer.sum
-  test -f spanner.log
-  test -f spanner.sum
+  test -f testsuite/hammer.log
+  test -f testsuite/hammer.sum
+  test -f testsuite/spanner.log
+  test -f testsuite/spanner.sum
   if test x"$am_serial_tests" != x"yes"; then
     test -f test-suite.log
     test -f a.log
@@ -147,10 +153,10 @@
   cp -f config.status config-status.sav
 
   $MAKE distclean
-  test ! -e hammer.log
-  test ! -e hammer.sum
-  test ! -e spanner.log
-  test ! -e spanner.sum
+  test ! -e testsuite/hammer.log
+  test ! -e testsuite/hammer.sum
+  test ! -e testsuite/spanner.log
+  test ! -e testsuite/spanner.sum
   test ! -e test-suite.log
   test ! -e a.log
   test ! -e b.log
@@ -160,12 +166,12 @@
   ./config.status
 
   NAIL=screw $MAKE check && exit 1
-  test -f hammer.log
-  test -f hammer.sum
-  test -f spanner.log
-  test -f spanner.sum
-  grep 'FAIL: test_hammer' hammer.sum
-  grep 'FAIL:' spanner.sum && exit 1
+  test -f testsuite/hammer.log
+  test -f testsuite/hammer.sum
+  test -f testsuite/spanner.log
+  test -f testsuite/spanner.sum
+  grep 'FAIL: test_hammer' testsuite/hammer.sum
+  grep 'FAIL:' testsuite/spanner.sum && exit 1
 
   B_EXIT_STATUS=1 $MAKE check && exit 1
   if test x"$am_serial_tests" != x"yes"; then
@@ -185,12 +191,12 @@
 
   # Do not trust the exit status of 'make -k'.
   NAIL=screw B_EXIT_STATUS=23 CHECKLOCAL_EXIT_STATUS=1 $MAKE -k check || :
-  test -f hammer.log
-  test -f hammer.sum
-  test -f spanner.log
-  test -f spanner.sum
-  grep 'FAIL: test_hammer' hammer.sum
-  grep 'FAIL:' spanner.sum && exit 1
+  test -f testsuite/hammer.log
+  test -f testsuite/hammer.sum
+  test -f testsuite/spanner.log
+  test -f testsuite/spanner.sum
+  grep 'FAIL: test_hammer' testsuite/hammer.sum
+  grep 'FAIL:' testsuite/spanner.sum && exit 1
   if test x"$am_serial_tests" != x"yes"; then
     cat test-suite.log
     cat a.log
diff -urN -x '*~' automake-1.16.3/t/dejagnu3.sh automake-1.16.3-patch/t/dejagnu3.sh
--- automake-1.16.3/t/dejagnu3.sh	2020-11-18 19:21:03.000000000 -0600
+++ automake-1.16.3-patch/t/dejagnu3.sh	2021-07-13 22:04:45.653614878 -0500
@@ -27,19 +27,27 @@
 chmod +x hammer
 
 cat >> configure.ac << 'END'
+AC_CONFIG_FILES([testsuite/Makefile])
 AC_OUTPUT
 END
 
 cat > Makefile.am << 'END'
+SUBDIRS = testsuite
+EXTRA_DIST = hammer
+END
+
+mkdir testsuite
+
+cat > testsuite/Makefile.am << 'END'
 AUTOMAKE_OPTIONS = dejagnu
 DEJATOOL = hammer
-AM_RUNTESTFLAGS = HAMMER=$(srcdir)/hammer
-EXTRA_DIST = hammer hammer.test/hammer.exp
+AM_RUNTESTFLAGS = HAMMER=$(top_srcdir)/hammer
+EXTRA_DIST = hammer.test/hammer.exp
 END
 
-mkdir hammer.test
+mkdir testsuite/hammer.test
 
-cat > hammer.test/hammer.exp << 'END'
+cat > testsuite/hammer.test/hammer.exp << 'END'
 set test test
 spawn $HAMMER
 expect {
@@ -55,8 +63,8 @@
 ./configure
 
 $MAKE check
-test -f hammer.log
-test -f hammer.sum
+test -f testsuite/hammer.log
+test -f testsuite/hammer.sum
 
 $MAKE distcheck
 
diff -urN -x '*~' automake-1.16.3/t/dejagnu4.sh automake-1.16.3-patch/t/dejagnu4.sh
--- automake-1.16.3/t/dejagnu4.sh	2020-11-18 19:21:03.000000000 -0600
+++ automake-1.16.3-patch/t/dejagnu4.sh	2021-07-13 22:10:56.845214485 -0500
@@ -39,23 +39,31 @@
 chmod +x spanner
 
 cat >> configure.ac << 'END'
+AC_CONFIG_FILES([testsuite/Makefile])
 AC_OUTPUT
 END
 
 cat > Makefile.am << 'END'
+SUBDIRS = testsuite
+EXTRA_DIST = hammer spanner
+END
+
+mkdir testsuite
+
+cat > testsuite/Makefile.am << 'END'
 AUTOMAKE_OPTIONS = dejagnu
 
 DEJATOOL = hammer spanner
 
-AM_RUNTESTFLAGS = HAMMER=$(srcdir)/hammer SPANNER=$(srcdir)/spanner
+AM_RUNTESTFLAGS = HAMMER=$(top_srcdir)/hammer SPANNER=$(top_srcdir)/spanner
 
-EXTRA_DIST  = hammer  hammer.test/hammer.exp
-EXTRA_DIST += spanner spanner.test/spanner.exp
+EXTRA_DIST  = hammer.test/hammer.exp
+EXTRA_DIST += spanner.test/spanner.exp
 END
 
-mkdir hammer.test spanner.test
+mkdir testsuite/hammer.test testsuite/spanner.test
 
-cat > hammer.test/hammer.exp << 'END'
+cat > testsuite/hammer.test/hammer.exp << 'END'
 set test test
 spawn $HAMMER
 expect {
@@ -64,7 +72,7 @@
 }
 END
 
-cat > spanner.test/spanner.exp << 'END'
+cat > testsuite/spanner.test/spanner.exp << 'END'
 set test test
 spawn $SPANNER
 expect {
@@ -80,10 +88,10 @@
 ./configure
 
 $MAKE check
-test -f hammer.log
-test -f hammer.sum
-test -f spanner.log
-test -f spanner.sum
+test -f testsuite/hammer.log
+test -f testsuite/hammer.sum
+test -f testsuite/spanner.log
+test -f testsuite/spanner.sum
 
 $MAKE distcheck
 
@@ -92,11 +100,12 @@
 mv -f thammer hammer
 chmod +x hammer
 
-rm -f hammer.log hammer.sum spanner.log spanner.sum
+rm -f testsuite/hammer.log testsuite/hammer.sum
+rm -f testsuite/spanner.log testsuite/spanner.sum
 $MAKE check && exit 1
-test -f hammer.log
-test -f hammer.sum
-test -f spanner.log
-test -f spanner.sum
+test -f testsuite/hammer.log
+test -f testsuite/hammer.sum
+test -f testsuite/spanner.log
+test -f testsuite/spanner.sum
 
 :
diff -urN -x '*~' automake-1.16.3/t/dejagnu5.sh automake-1.16.3-patch/t/dejagnu5.sh
--- automake-1.16.3/t/dejagnu5.sh	2020-11-18 19:21:03.000000000 -0600
+++ automake-1.16.3-patch/t/dejagnu5.sh	2021-07-13 22:18:23.936256146 -0500
@@ -29,17 +29,25 @@
 chmod +x $package
 
 cat >> configure.ac << 'END'
+AC_CONFIG_FILES([testsuite/Makefile])
 AC_OUTPUT
 END
 
 cat > Makefile.am << END
+SUBDIRS = testsuite
+EXTRA_DIST = $package
+END
+
+mkdir testsuite
+
+cat > testsuite/Makefile.am << END
 AUTOMAKE_OPTIONS = dejagnu
-EXTRA_DIST = $package $package.test/$package.exp
-AM_RUNTESTFLAGS = PACKAGE=\$(srcdir)/$package
+EXTRA_DIST = $package.test/$package.exp
+AM_RUNTESTFLAGS = PACKAGE=\$(top_srcdir)/$package
 END
 
-mkdir $package.test
-cat > $package.test/$package.exp << 'END'
+mkdir testsuite/$package.test
+cat > testsuite/$package.test/$package.exp << 'END'
 set test "a_dejagnu_test"
 spawn $PACKAGE
 expect {
@@ -55,8 +63,8 @@
 ./configure
 
 $MAKE check
-test -f $package.log
-test -f $package.sum
+test -f testsuite/$package.log
+test -f testsuite/$package.sum
 
 $MAKE distcheck
 
diff -urN -x '*~' automake-1.16.3/t/dejagnu6.sh automake-1.16.3-patch/t/dejagnu6.sh
--- automake-1.16.3/t/dejagnu6.sh	2020-11-18 19:21:03.000000000 -0600
+++ automake-1.16.3-patch/t/dejagnu6.sh	2021-07-13 22:16:59.452216515 -0500
@@ -26,17 +26,24 @@
 chmod +x faildeja
 
 cat >> configure.ac << 'END'
+AC_CONFIG_FILES([testsuite/Makefile])
 AC_OUTPUT
 END
 
 cat > Makefile.am << 'END'
+SUBDIRS = testsuite
+END
+
+mkdir testsuite
+
+cat > testsuite/Makefile.am << 'END'
 AUTOMAKE_OPTIONS = dejagnu
 DEJATOOL = faildeja
-AM_RUNTESTFLAGS = FAILDEJA=$(srcdir)/faildeja
+AM_RUNTESTFLAGS = FAILDEJA=$(top_srcdir)/faildeja
 END
 
-mkdir faildeja.test
-cat > faildeja.test/faildeja.exp << 'END'
+mkdir testsuite/faildeja.test
+cat > testsuite/faildeja.test/faildeja.exp << 'END'
 set test failing_deja_test
 spawn $FAILDEJA
 expect {
@@ -51,8 +58,8 @@
 ./configure
 
 $MAKE check && exit 1
-test -f faildeja.log
-test -f faildeja.sum
-$FGREP 'FAIL: failing_deja_test' faildeja.sum
+test -f testsuite/faildeja.log
+test -f testsuite/faildeja.sum
+$FGREP 'FAIL: failing_deja_test' testsuite/faildeja.sum
 
 :
diff -urN -x '*~' automake-1.16.3/t/dejagnu7.sh automake-1.16.3-patch/t/dejagnu7.sh
--- automake-1.16.3/t/dejagnu7.sh	2020-11-18 19:21:03.000000000 -0600
+++ automake-1.16.3-patch/t/dejagnu7.sh	2021-07-13 22:20:43.981691221 -0500
@@ -30,17 +30,24 @@
 chmod +x failtcl
 
 cat >> configure.ac << 'END'
+AC_CONFIG_FILES([testsuite/Makefile])
 AC_OUTPUT
 END
 
 cat > Makefile.am << 'END'
+SUBDIRS = testsuite
+END
+
+mkdir testsuite
+
+cat > testsuite/Makefile.am << 'END'
 AUTOMAKE_OPTIONS = dejagnu
 DEJATOOL = failtcl
-AM_RUNTESTFLAGS = --status FAILTCL=$(srcdir)/failtcl
+AM_RUNTESTFLAGS = --status FAILTCL=$(top_srcdir)/failtcl
 END
 
-mkdir failtcl.test
-cat > failtcl.test/failtcl.exp << 'END'
+mkdir testsuite/failtcl.test
+cat > testsuite/failtcl.test/failtcl.exp << 'END'
 set test test
 spawn $FAILTCL
 expect {
@@ -55,8 +62,8 @@
 ./configure
 
 $MAKE check && exit 1
-test -f failtcl.log
-test -f failtcl.sum
-$FGREP 'missing close-brace' failtcl.sum
+test -f testsuite/failtcl.log
+test -f testsuite/failtcl.sum
+$FGREP 'missing close-brace' testsuite/failtcl.sum
 
 :
diff -urN -x '*~' automake-1.16.3/t/dejagnu-absolute-builddir.sh automake-1.16.3-patch/t/dejagnu-absolute-builddir.sh
--- automake-1.16.3/t/dejagnu-absolute-builddir.sh	2020-11-18 19:21:03.000000000 -0600
+++ automake-1.16.3-patch/t/dejagnu-absolute-builddir.sh	2021-07-13 22:22:44.514041011 -0500
@@ -21,18 +21,25 @@
 . test-init.sh
 
 cat >> configure.ac << 'END'
+AC_CONFIG_FILES([testsuite/Makefile])
 AC_OUTPUT
 END
 
 cat > Makefile.am << 'END'
+SUBDIRS = testsuite
+END
+
+mkdir testsuite
+
+cat > testsuite/Makefile.am << 'END'
 AUTOMAKE_OPTIONS = dejagnu
 DEJATOOL = tcl env
 EXTRA_DIST = tcl.test/tcl.exp
 END
 
-mkdir tcl.test
+mkdir testsuite/tcl.test
 
-cat > tcl.test/tcl.exp << 'END'
+cat > testsuite/tcl.test/tcl.exp << 'END'
 send_user "tcl_objdir: $objdir\n"
 if { [ regexp "^/" $objdir ] } {
     pass "test_tcl_objdir"
@@ -50,10 +57,10 @@
 $MAKE check
 
 # Sanity check: all tests have run.
-test -f env.log
-test -f env.sum
-test -f tcl.log
-test -f tcl.sum
+test -f testsuite/env.log
+test -f testsuite/env.sum
+test -f testsuite/tcl.log
+test -f testsuite/tcl.sum
 
 $MAKE distcheck
 
diff -urN -x '*~' automake-1.16.3/t/dejagnu-relative-srcdir.sh automake-1.16.3-patch/t/dejagnu-relative-srcdir.sh
--- automake-1.16.3/t/dejagnu-relative-srcdir.sh	2020-11-18 19:21:03.000000000 -0600
+++ automake-1.16.3-patch/t/dejagnu-relative-srcdir.sh	2021-07-13 22:44:28.165929572 -0500
@@ -21,44 +21,52 @@
 . test-init.sh
 
 cat >> configure.ac << 'END'
+AC_CONFIG_FILES([testsuite/Makefile])
 AC_OUTPUT
 END
 
 cat > Makefile.am << 'END'
+SUBDIRS = testsuite
+END
+
+mkdir testsuite
+
+cat > testsuite/Makefile.am << 'END'
 AUTOMAKE_OPTIONS = dejagnu
 DEJATOOL = tcl env
-EXTRA_DIST = env.test/env.exp tcl.test/tcl.exp lib/tcl.exp
+EXTRA_DIST  = env.test/env.exp tcl.test/tcl.exp
+EXTRA_DIST += lib/tcl.exp
 END
 
-mkdir env.test tcl.test lib
+mkdir testsuite/env.test testsuite/tcl.test testsuite/lib
 
 # DejaGnu can change $srcdir behind our backs, so we have to
 # save its original value.  Thanks to Ian Lance Taylor for the
 # suggestion.
-cat > lib/tcl.exp << 'END'
+cat > testsuite/lib/tcl.exp << 'END'
 send_user "tcl_lib_srcdir: $srcdir\n"
 set orig_srcdir $srcdir
 END
 
-cat > env.test/env.exp << 'END'
+cat > testsuite/env.test/env.exp << 'END'
 set env_srcdir $env(srcdir)
 send_user "env_srcdir: $env_srcdir\n"
-if { [ regexp "^\.(\./\.\.)?$" $env_srcdir ] } {
+if { [ regexp {^\.(\./\.\./\.\./testsuite)?$} $env_srcdir ] } {
     pass "test_env_src"
 } else {
     fail "test_env_src"
 }
 END
 
-cat > tcl.test/tcl.exp << 'END'
+cat > testsuite/tcl.test/tcl.exp << 'END'
 send_user "tcl_srcdir: $srcdir\n"
-if { [ regexp "^\.(\./\.\.)?$" $srcdir ] } {
+if { [ regexp {^\.(\./\.\./\.\./testsuite)?$} $srcdir ] } {
     pass "test_tcl_src"
 } else {
     fail "test_tcl_src"
 }
 send_user "tcl_orig_srcdir: $orig_srcdir\n"
-if { [ regexp "^\.(\./\.\.)?$" $orig_srcdir ] } {
+if { [ regexp "^\.(\./\.\./\.\./testsuite)?$" $orig_srcdir ] } {
     pass "test_tcl_orig_src"
 } else {
     fail "test_tcl_orig_src"
@@ -74,10 +82,10 @@
 $MAKE check
 
 # Sanity check: all tests have run.
-test -f env.log
-test -f env.sum
-test -f tcl.log
-test -f tcl.sum
+test -f testsuite/env.log
+test -f testsuite/env.sum
+test -f testsuite/tcl.log
+test -f testsuite/tcl.sum
 
 $MAKE distcheck
 
diff -urN -x '*~' automake-1.16.3/t/dejagnu-siteexp-extend.sh automake-1.16.3-patch/t/dejagnu-siteexp-extend.sh
--- automake-1.16.3/t/dejagnu-siteexp-extend.sh	2020-11-18 19:21:03.000000000 -0600
+++ automake-1.16.3-patch/t/dejagnu-siteexp-extend.sh	2021-07-13 23:01:44.515348499 -0500
@@ -33,10 +33,17 @@
 }
 
 cat >> configure.ac << 'END'
+AC_CONFIG_FILES([testsuite/Makefile])
 AC_OUTPUT
 END
 
 cat > Makefile.am << 'END'
+SUBDIRS = testsuite
+END
+
+mkdir testsuite
+
+cat > testsuite/Makefile.am << 'END'
 AUTOMAKE_OPTIONS = dejagnu
 DEJATOOL = tool
 
@@ -46,11 +53,11 @@
 EXTRA_DIST += foo.exp
 END
 
-echo 'set foo "/foo/"' > foo.exp
+echo 'set foo "/foo/"' > testsuite/foo.exp
 
-mkdir tool.test
-write_check_for foo > tool.test/tool.exp
-cat tool.test/tool.exp
+mkdir testsuite/tool.test
+write_check_for foo > testsuite/tool.test/tool.exp
+cat testsuite/tool.test/tool.exp
 
 $ACLOCAL
 $AUTOCONF
@@ -59,31 +66,31 @@
 ./configure
 
 $MAKE check
-cat foo.exp
-cat site.exp
-grep 'PASS: test_foo' tool.sum
-
-write_check_for bar >> tool.test/tool.exp
-write_check_for baz >> tool.test/tool.exp
-cat tool.test/tool.exp
+cat testsuite/foo.exp
+cat testsuite/site.exp
+grep 'PASS: test_foo' testsuite/tool.sum
+
+write_check_for bar >> testsuite/tool.test/tool.exp
+write_check_for baz >> testsuite/tool.test/tool.exp
+cat testsuite/tool.test/tool.exp
 
 # Ensure that foo.exp will be newer than site.exp, which will
 # thus have to be remade.
 $sleep
 # With this, below we'll also check that settings in files coming later in
 # $(EXTRA_DEJAGNU_SITE_CONFIG) override those in files coming earlier.
-cat >> foo.exp <<'END'
+cat >> testsuite/foo.exp <<'END'
 set bar "/foo/"
 set baz "/foo/"
 set qux "/foo/"
 END
 
-$MAKE check && { cat site.exp; exit 1; }
-grep 'PASS: test_foo' tool.sum
-grep 'FAIL: test_bar' tool.sum
-grep 'FAIL: test_baz' tool.sum
+$MAKE check && { cat testsuite/site.exp; exit 1; }
+grep 'PASS: test_foo' testsuite/tool.sum
+grep 'FAIL: test_bar' testsuite/tool.sum
+grep 'FAIL: test_baz' testsuite/tool.sum
 
-cat >> Makefile.am << 'END'
+cat >> testsuite/Makefile.am << 'END'
 EXTRA_DEJAGNU_SITE_CONFIG += bar bar.dir/bar
 EXTRA_DIST += bar
 DISTCLEANFILES = bar.dir/bar
@@ -92,41 +99,41 @@
 	echo 'set baz "/baz/"' > $@
 END
 
-echo 'set bar "/bar/"' > bar
+echo 'set bar "/bar/"' > testsuite/bar
 # This will allow us to check one more time that settings in files
 # coming later in $(EXTRA_DEJAGNU_SITE_CONFIG) override those in
 # files coming earlier.
-echo 'set baz "/xyz/"' >> bar
+echo 'set baz "/xyz/"' >> testsuite/bar
 
 # Ensure that the Makefile will be newer than site.exp, which will
 # thus have to be remade.
 $sleep
-$AUTOMAKE Makefile
-./config.status Makefile
+$AUTOMAKE testsuite/Makefile
+./config.status testsuite/Makefile
 
-$MAKE check || { cat site.exp; exit 1; }
-cat site.exp
-cat bar.dir/bar
-$FGREP '/bar/' site.exp
-$FGREP '/baz/' site.exp
-grep 'PASS: test_foo' tool.sum
-grep 'PASS: test_bar' tool.sum
-grep 'PASS: test_baz' tool.sum
+$MAKE check || { cat testsuite/site.exp; exit 1; }
+cat testsuite/site.exp
+cat testsuite/bar.dir/bar
+$FGREP '/bar/' testsuite/site.exp
+$FGREP '/baz/' testsuite/site.exp
+grep 'PASS: test_foo' testsuite/tool.sum
+grep 'PASS: test_bar' testsuite/tool.sum
+grep 'PASS: test_baz' testsuite/tool.sum
 
 # Check that the features we're testing behave well in VPATH builds.
 $MAKE distcheck
 
 # Check that the user can edit the site.exp file, and that his edits
 # are retained.
-write_check_for zardoz >> tool.test/tool.exp
-cat tool.test/tool.exp
-echo 'set zardoz "/zardoz/"' >> site.exp
+write_check_for zardoz >> testsuite/tool.test/tool.exp
+cat testsuite/tool.test/tool.exp
+echo 'set zardoz "/zardoz/"' >> testsuite/site.exp
 
 $MAKE check
-cat site.exp
-grep 'PASS: test_zardoz' tool.sum
+cat testsuite/site.exp
+grep 'PASS: test_zardoz' testsuite/tool.sum
 
-cat >> Makefile.am << 'END'
+cat >> testsuite/Makefile.am << 'END'
 EXTRA_DEJAGNU_SITE_CONFIG += quux.exp
 quux.exp:
 	echo 'set zardoz "/quux/"' > $@
@@ -135,25 +142,25 @@
 # Ensure that the Makefile will be newer than on site.exp, which will
 # thus have to be remade.
 $sleep
-$AUTOMAKE Makefile
-./config.status Makefile
-grep 'zardoz.*/quux/' Makefile
-
-$MAKE site.exp
-cat site.exp
-cat quux.exp
-grep 'zardoz.*/quux/' site.exp
+$AUTOMAKE testsuite/Makefile
+./config.status testsuite/Makefile
+grep 'zardoz.*/quux/' testsuite/Makefile
+
+(cd testsuite/ && $MAKE site.exp)
+cat testsuite/site.exp
+cat testsuite/quux.exp
+grep 'zardoz.*/quux/' testsuite/site.exp
 
 $MAKE check
-grep 'PASS: test_zardoz' tool.sum
-grep 'zardoz: /zardoz/' tool.log
-grep 'zardoz.*quux' tool.log && exit 1
+grep 'PASS: test_zardoz' testsuite/tool.sum
+grep 'zardoz: /zardoz/' testsuite/tool.log
+grep 'zardoz.*quux' testsuite/tool.log && exit 1
 
 # Check that files in $(EXTRA_DEJAGNU_SITE_CONFIG) are not distributed
 # by default.
 $MAKE distdir
 ls -l $distdir
-test ! -e $distdir/bar.dir/bar
-test ! -e $distdir/quux.exp
+test ! -e $distdir/testsuite/bar.dir/bar
+test ! -e $distdir/testsuite/quux.exp
 
 :
diff -urN -x '*~' automake-1.16.3/t/dejagnu-siteexp-useredit.sh automake-1.16.3-patch/t/dejagnu-siteexp-useredit.sh
--- automake-1.16.3/t/dejagnu-siteexp-useredit.sh	2020-11-18 19:21:03.000000000 -0600
+++ automake-1.16.3-patch/t/dejagnu-siteexp-useredit.sh	2021-07-13 23:04:58.956233669 -0500
@@ -20,18 +20,25 @@
 . test-init.sh
 
 cat >> configure.ac << 'END'
+AC_CONFIG_FILES([testsuite/Makefile])
 AC_OUTPUT
 END
 
 cat > Makefile.am << 'END'
+SUBDIRS = testsuite
+END
+
+mkdir testsuite
+
+cat > testsuite/Makefile.am << 'END'
 AUTOMAKE_OPTIONS = dejagnu
 DEJATOOL = foo
 END
 
 # Deliberately select a variable defined automatically by
 # the Makefile-generated site.exp.
-mkdir foo.test
-cat > foo.test/foo.exp << 'END'
+mkdir testsuite/foo.test
+cat > testsuite/foo.test/foo.exp << 'END'
 send_user "objdir: $objdir\n"
 set pipe "|"
 if { $objdir == "${pipe}objdir${pipe}" } {
@@ -47,21 +54,21 @@
 
 ./configure
 
-$MAKE site.exp
-echo 'set objdir "|objdir|"' >> site.exp
-cat site.exp
+(cd testsuite/ && $MAKE site.exp)
+echo 'set objdir "|objdir|"' >> testsuite/site.exp
+cat testsuite/site.exp
 $sleep
-touch Makefile
-$MAKE site.exp
-cat site.exp
-is_newest site.exp Makefile  # Sanity check.
-grep '|objdir|' site.exp
-test $($FGREP -c '|objdir|' site.exp) -eq 1
+touch testsuite/Makefile
+(cd testsuite/ && $MAKE site.exp)
+cat testsuite/site.exp
+is_newest testsuite/site.exp testsuite/Makefile  # Sanity check.
+grep '|objdir|' testsuite/site.exp
+test $($FGREP -c '|objdir|' testsuite/site.exp) -eq 1
 
 # We can do a "more semantic" check if DejaGnu is available.
 if runtest SOMEPROGRAM=someprogram --version; then
   $MAKE check
-  grep 'PASS: test_obj' foo.sum
+  grep 'PASS: test_obj' testsuite/foo.sum
 fi
 
 :
8<------


Also, while I use this address for convenience as it lands on my 
desktop, please use <[email protected]> for any public credits related to this 
patch.


-- Jacob
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.