automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v1] Fix misuse of DejaGnu in Automake testsuite


From: Jacob Bachmeyer
Subject: [PATCH v1] Fix misuse of DejaGnu in Automake testsuite
Date: Tue, 13 Jul 2021 23:39:13 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.22) Gecko/20090807 MultiZilla/1.8.3.4e SeaMonkey/1.1.17 Mnenhy/0.7.6.0

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 <jcb@gnu.org> for any public credits related to this patch.


-- Jacob



reply via email to

[Prev in Thread] Current Thread [Next in Thread]