automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, test-protocols, updated. v1


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, test-protocols, updated. v1.11-994-g2cf22db
Date: Mon, 08 Aug 2011 13:52:53 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=2cf22db73f5374bd0f528abfaf65987eab12a665

The branch, test-protocols has been updated
       via  2cf22db73f5374bd0f528abfaf65987eab12a665 (commit)
       via  f807dd5a843bc219424b3a9f33f2498dbc1c610a (commit)
       via  c7c62a4a2f075d7fcb4c035de361491008778fc5 (commit)
       via  1e0238adb8510b959bed87c264581e98afea9a92 (commit)
       via  bf15d302c88c7da373b3ad7a4d3cea92620baca8 (commit)
      from  b9dfd77aa5be5a91bfc82ce398d27e8266733554 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                      |   38 ++++++++++++++
 lib/Automake/tests/Makefile.in |  107 ++++++++++++++++++++------------------
 lib/am/check.am                |  102 ++++++++++++++++++++----------------
 tests/Makefile.in              |  112 +++++++++++++++++++++------------------
 tests/defs                     |    3 +-
 5 files changed, 213 insertions(+), 149 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 96cf400..f7b195f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,43 @@
 2011-08-08  Stefano Lattarini  <address@hidden>
 
+       test defs: more environment cleanup
+       * tests/defs: Also unset variables AM_COLOR_TESTS and
+       AM_TESTS_ENVIRONMENT.
+
+2011-08-08  Stefano Lattarini  <address@hidden>
+
+       test harness: more minor VPATH-rewrite issues
+       * tests/am/check.am (am__set_TESTS_bases, $(TEST_SUITE_LOGS),
+       am--redo-logs, recheck, recheck-html): Cosmetic fixlets to
+       minimize the risk of unwanted VPATH rewrites.
+       (check-TESTS): Likewise, and normalize trailing whitespace
+       since we are at it.
+       Bugs exposed by test cases `check6-p.test' and `check7-p.test'.
+
+2011-08-08  Stefano Lattarini  <address@hidden>
+
+       test harness: "make -n check" works correctly with Solaris make
+       To avoid some recipes being executed with "make -n", we used the
+       trick of issuing recursive make calls not directly with $(MAKE),
+       but with a simple indirection instead:
+         ...
+         am__stealth_MAKE = $(MAKE)
+         ...
+         target:
+             ... $(am__stealth_MAKE) ...
+         ...
+       This hack worked with GNU make, but, unfortunately, not with
+       Solaris make.  The present change removes the hack, and uses more
+       proper idioms to avoid unwanted recipe executions with "make -n".
+       Bug exposed by test case `parallel-tests-dry-run.test'.
+       * lib/am/check.am (am__stealth_MAKE): Remove, no more used.
+       (.log.trs): Break recipe in multiple shell invocations.
+       ($(TEST_SUITE_LOG)): Likewise, and move some corner-case parts of
+       the recipe to ...
+       (am--redo-logs): ... this new internal helper .PHONY target.
+
+2011-08-08  Stefano Lattarini  <address@hidden>
+
        tests: fix spurious failure with Solaris make
        * tests/distcheck-configure-flags-am.test: Avoid using `+=' too
        liberally with AM_DISTCHECK_CONFIGURE_FLAGS, since the line breaks
diff --git a/lib/Automake/tests/Makefile.in b/lib/Automake/tests/Makefile.in
index 7825d10..fff8f6e 100644
--- a/lib/Automake/tests/Makefile.in
+++ b/lib/Automake/tests/Makefile.in
@@ -164,12 +164,8 @@ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
 # See also 'test-harness-vpath-rewrite.test' and 'test-trs-basic.test'.
 am__set_TESTS_bases = \
   bases='$(TEST_LOGS)'; \
-  bases=`for f in $$bases; do echo $$f; done | sed 's/\.log$$//'`; \
+  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
   bases=`echo $$bases`
-# This can be used instead of $(MAKE) in recipes requiring a recursive call
-# to make, but which are not intended to be executed by "make -n".  See the
-# GNU make manual for more details.
-am__stealth_MAKE = $(MAKE)
 RECHECK_LOGS = $(TEST_LOGS)
 AM_RECURSIVE_TARGETS = check check-html recheck recheck-html
 TEST_SUITE_LOG = test-suite.log
@@ -344,34 +340,45 @@ cscope cscopelist:
 
 # Recover from deleted `.trs' file; this should ensure that
 # "rm -f foo.log; make foo.trs" re-run `foo.test', and re-create
-# both `foo.log' and `foo.trs'.
+# both `foo.log' and `foo.trs'.  Break the recipe in two subshells
+# to avoid problems with "make -n".
 .log.trs:
-       rm -f $< $@ && $(am__stealth_MAKE) $(AM_MAKEFLAGS) $<
+       rm -f $< $@
+       $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Helper recipe used by $(TEST_SUITE_LOG) below, to avoid problems with
+# "make -n".  Break this recipe in multiple shell invocations too, to
+# really work as expected with "make -n".
+am--redo-logs:
+       @rm -f $$redo_logs
+       @rm -f $$redo_results
+       @$(MAKE) $(AM_MAKEFLAGS) $$redo_logs
+       @st=0;  \
+       errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+       for i in $$redo_bases; do \
+         test -f $$i.trs && test -r $$i.trs \
+           || { echo "$$errmsg $$i.trs"; st=1; }; \
+         test -f $$i.log && test -r $$i.log \
+           || { echo "$$errmsg $$i.log"; st=1; }; \
+       done; \
+       test $$st -eq 0
 
 $(TEST_SUITE_LOG): $(TEST_LOGS)
-       @$(am__sh_e_setup); $(am__tty_colors); \
-       f_ok () { test -f "$$1" && test -r "$$1"; }; \
-       $(am__set_TESTS_bases); \
-       ws='[   ]'; \
-       redo_bases=`for b in $$bases; do \
-                     f_ok $$b.trs && f_ok $$b.log || echo $$b; \
+       @$(am__set_TESTS_bases); \
+       am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+       redo_bases=`for i in $$bases; do \
+                     am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
                    done`; \
        if test -n "$$redo_bases"; then \
          redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
          redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
-         rm -f $$redo_logs && rm -f $$redo_results \
-           && $(am__stealth_MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
-       fi; \
-       st=0; \
-       for b in $$redo_bases; do \
-         for e in trs log; do \
-           f_ok $$b.$$e || { \
-             echo "fatal: making $@: failed to create $$b.$$e" >&2; \
-             st=1; \
-           }; \
-         done; \
-       done; \
-       test $$st -eq 0 || exit 1; \
+         redo_bases="$$redo_bases" \
+         redo_logs="$$redo_logs" \
+         redo_results="$$redo_results" \
+           $(MAKE) am--redo-logs || exit 1; \
+       else :; fi;
+       @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+       ws='[   ]'; \
        results=`for b in $$bases; do echo $$b.trs; done`; \
        test -n "$$results" || results=/dev/null; \
        all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
@@ -422,20 +429,20 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
          echo;                                                         \
          echo ".. contents:: :depth: 2";                               \
          echo;                                                         \
-         for b in $$bases; do                                          \
-           if grep "^$$ws*:copy-in-global-log:$$ws*no$$ws*$$" $$b.trs \
+         for i in $$bases; do                                          \
+           if grep "^$$ws*:copy-in-global-log:$$ws*no$$ws*$$" $$i.trs \
                 >/dev/null; then continue; \
            fi; \
            glob_res=`sed -n -e "s/$$ws*$$//" \
                             -e "s/^$$ws*:global-test-result:$$ws*//p" \
-                       $$b.trs`; \
+                       $$i.trs`; \
            test -n "$$glob_res" || glob_res=RUN; \
-           echo "$$glob_res: $$b" | $(am__rst_section); \
-           if test ! -r $$b.log; then \
-             echo "fatal: making $@: $$b.log is unreadable" >&2; \
+           echo "$$glob_res: $$i" | $(am__rst_section); \
+           if test ! -r $$i.log; then \
+             echo "fatal: making $@: $$i.log is unreadable" >&2; \
              exit 1; \
            fi; \
-           cat $$b.log; echo; \
+           cat $$i.log; echo; \
          done; \
        } >$(TEST_SUITE_LOG).tmp;                                       \
        mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);                     \
@@ -464,11 +471,11 @@ check-TESTS:
        @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
        @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
        @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
-       @list='$(TEST_LOGS)';                                           \
-       list=`for f in $$list; do                                       \
-         test .log = $$f || echo $$f;                                  \
-       done | tr '\012\015' '  '`;                                     \
-       list=`echo "$$list" | sed 's/ *$$//'`;                          \
+       @list='$(TEST_LOGS)'; \
+       list=`for i in $$list; do \
+         test .log = $$i || echo $$i; \
+       done | tr '\012\015' '  '`; \
+       list=`echo "$$list" | sed 's/ *$$//'`; \
        $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$list"
 
 .log.html:
@@ -499,10 +506,10 @@ recheck recheck-html:
        @ws='[  ]';                                                     \
        target=`echo $@ | sed 's,^re,,'`;                               \
        $(am__set_TESTS_bases);                                         \
-       list=`for b in $$bases; do                                      \
-               test -f $$b.trs || test -f $$b.log || continue;         \
-               grep "^$$ws*:recheck:$$ws*no$$ws*$$" $$b.trs            \
-                 >/dev/null 2>&1 || echo $$b.log;                      \
+       list=`for i in $$bases; do                                      \
+               test -f $$i.trs || test -f $$i.log || continue;         \
+               grep "^$$ws*:recheck:$$ws*no$$ws*$$" $$i.trs            \
+                 >/dev/null 2>&1 || echo $$i.log;                      \
              done | tr '\012\015' '  '`;                               \
        list=`echo "$$list" | sed 's/ *$$//'`;                          \
        $(MAKE) $(AM_MAKEFLAGS) $$target AM_MAKEFLAGS='$(AM_MAKEFLAGS) 
TEST_LOGS="'"$$list"'"'
@@ -650,14 +657,14 @@ uninstall-am:
 .MAKE: check-am check-html install-am install-strip recheck \
        recheck-html
 
-.PHONY: all all-am check check-TESTS check-am check-html clean \
-       clean-generic distclean distclean-generic distdir dvi dvi-am \
-       html html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
+.PHONY: all all-am am--redo-logs check check-TESTS check-am check-html \
+       clean clean-generic distclean distclean-generic distdir dvi \
+       dvi-am html html-am info info-am install install-am \
+       install-data install-data-am install-dvi install-dvi-am \
+       install-exec install-exec-am install-html install-html-am \
+       install-info install-info-am install-man install-pdf \
+       install-pdf-am install-ps install-ps-am install-strip \
+       installcheck installcheck-am installdirs maintainer-clean \
        maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
        pdf-am ps ps-am recheck recheck-html uninstall uninstall-am
 
diff --git a/lib/am/check.am b/lib/am/check.am
index a6dcc30..2b58c57 100644
--- a/lib/am/check.am
+++ b/lib/am/check.am
@@ -113,36 +113,52 @@ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
 # See also 'test-harness-vpath-rewrite.test' and 'test-trs-basic.test'.
 am__set_TESTS_bases = \
   bases='$(TEST_LOGS)'; \
-  bases=`for f in $$bases; do echo $$f; done | sed 's/\.log$$//'`; \
+  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
 ## Trim away any extra whitespace.  This has already proved useful in
 ## avoiding weird bug on lesser make implementations.
   bases=`echo $$bases`
 
-# This can be used instead of $(MAKE) in recipes requiring a recursive call
-# to make, but which are not intended to be executed by "make -n".  See the
-# GNU make manual for more details.
-am__stealth_MAKE = $(MAKE)
-
 # Recover from deleted `.trs' file; this should ensure that
 # "rm -f foo.log; make foo.trs" re-run `foo.test', and re-create
-# both `foo.log' and `foo.trs'.
+# both `foo.log' and `foo.trs'.  Break the recipe in two subshells
+# to avoid problems with "make -n".
 .log.trs:
-       rm -f $< $@ && $(am__stealth_MAKE) $(AM_MAKEFLAGS) $<
+       rm -f $< $@
+       $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Helper recipe used by $(TEST_SUITE_LOG) below, to avoid problems with
+# "make -n".  Break this recipe in multiple shell invocations too, to
+# really work as expected with "make -n".
+am--redo-logs:
+       @rm -f $$redo_logs
+       @rm -f $$redo_results
+       @$(MAKE) $(AM_MAKEFLAGS) $$redo_logs
+## Sanity check: each unreadable or non-existent test result file should
+## has been properly remade at this point, as should the corresponding log
+## file.
+       @st=0;  \
+       errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+       for i in $$redo_bases; do \
+         test -f $$i.trs && test -r $$i.trs \
+           || { echo "$$errmsg $$i.trs"; st=1; }; \
+         test -f $$i.log && test -r $$i.log \
+           || { echo "$$errmsg $$i.log"; st=1; }; \
+       done; \
+       test $$st -eq 0
+.PHONY: am--redo-logs
 
 $(TEST_SUITE_LOG): $(TEST_LOGS)
-       @$(am__sh_e_setup); $(am__tty_colors); \
+       @$(am__set_TESTS_bases); \
 ## Helper shell function, tells whether a path refers to an existing,
 ## regular, readable file.
-       f_ok () { test -f "$$1" && test -r "$$1"; }; \
-       $(am__set_TESTS_bases); \
-       ws='[   ]'; \
+       am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
 ## We need to ensures that all the required `.trs' and `.log' files will
 ## be present and readable.  The direct dependencies of $(TEST_SUITE_LOG)
 ## only ensure that all the `.log' files exists; they don't ensure that
 ## the `.log' files are readable, and worse, they don't ensure that the
 ## `.trs' files even exist.
-       redo_bases=`for b in $$bases; do \
-                     f_ok $$b.trs && f_ok $$b.log || echo $$b; \
+       redo_bases=`for i in $$bases; do \
+                     am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
                    done`; \
        if test -n "$$redo_bases"; then \
 ## Uh-oh, either some `.log' files were unreadable, or some `.trs' files
@@ -150,22 +166,16 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
 ## tests in order to re-create them.
          redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
          redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
-         rm -f $$redo_logs && rm -f $$redo_results \
-           && $(am__stealth_MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
-       fi; \
-## Sanity check: each unreadable or non-existent test result file should
-## has been properly remade at this point, as should the corresponding log
-## file.
-       st=0; \
-       for b in $$redo_bases; do \
-         for e in trs log; do \
-           f_ok $$b.$$e || { \
-             echo "fatal: making $@: failed to create $$b.$$e" >&2; \
-             st=1; \
-           }; \
-         done; \
-       done; \
-       test $$st -eq 0 || exit 1; \
+## The exported variables are needed by the helper hook.
+         redo_bases="$$redo_bases" \
+         redo_logs="$$redo_logs" \
+         redo_results="$$redo_results" \
+           $(MAKE) am--redo-logs || exit 1; \
+       else :; fi;
+## We need a new subshell to work portably with "make -n", since the
+## previous part of the recipe contained a $(MAKE) invocation.
+       @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+       ws='[   ]'; \
 ## List of test result files.
        results=`for b in $$bases; do echo $$b.trs; done`; \
        test -n "$$results" || results=/dev/null; \
@@ -230,27 +240,27 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
          echo;                                                         \
          echo ".. contents:: :depth: 2";                               \
          echo;                                                         \
-         for b in $$bases; do                                          \
+         for i in $$bases; do                                          \
 ## FIXME: one fork per test -- this is horrendously inefficient!
-           if grep "^$$ws*:copy-in-global-log:$$ws*no$$ws*$$" $$b.trs \
+           if grep "^$$ws*:copy-in-global-log:$$ws*no$$ws*$$" $$i.trs \
                 >/dev/null; then continue; \
            fi; \
 ## Get the declared "global result" of the test.
 ## FIXME: yet another one fork per test here!
            glob_res=`sed -n -e "s/$$ws*$$//" \
                             -e "s/^$$ws*:global-test-result:$$ws*//p" \
-                       $$b.trs`; \
+                       $$i.trs`; \
 ## If no global result is explicitly declared, we'll merely mark the
 ## test as "RUN" in the global test log.
            test -n "$$glob_res" || glob_res=RUN; \
 ## Write the name and result of the test as an RST section title.
-           echo "$$glob_res: $$b" | $(am__rst_section); \
+           echo "$$glob_res: $$i" | $(am__rst_section); \
 ## If we should have remade any unreadable `.log', above.
-           if test ! -r $$b.log; then \
-             echo "fatal: making $@: $$b.log is unreadable" >&2; \
+           if test ! -r $$i.log; then \
+             echo "fatal: making $@: $$i.log is unreadable" >&2; \
              exit 1; \
            fi; \
-           cat $$b.log; echo; \
+           cat $$i.log; echo; \
          done; \
        } >$(TEST_SUITE_LOG).tmp;                                       \
        mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);                     \
@@ -299,13 +309,13 @@ check-TESTS:
 ## 3.80 to erroneously expand $(TESTS_LOGS) to `foo.log .log'.
 ## Work around this bug.
        @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
-       @list='$(TEST_LOGS)';                                           \
-       list=`for f in $$list; do                                       \
-         test .log = $$f || echo $$f;                                  \
-       done | tr '\012\015' '  '`;                                     \
+       @list='$(TEST_LOGS)'; \
+       list=`for i in $$list; do \
+         test .log = $$i || echo $$i; \
+       done | tr '\012\015' '  '`; \
 ## This apparently useless munging helps to avoid a nasty bug (a
 ## segmentation fault!) on Solaris XPG4 make.
-       list=`echo "$$list" | sed 's/ *$$//'`;                          \
+       list=`echo "$$list" | sed 's/ *$$//'`; \
        $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$list"
 
 AM_RECURSIVE_TARGETS += check
@@ -353,13 +363,13 @@ recheck recheck-html:
        @ws='[  ]';                                                     \
        target=`echo $@ | sed 's,^re,,'`;                               \
        $(am__set_TESTS_bases);                                         \
-       list=`for b in $$bases; do                                      \
+       list=`for i in $$bases; do                                      \
 ## Skip tests that haven't been run, but recover gracefully from deleted
 ## `.trs' files.
-               test -f $$b.trs || test -f $$b.log || continue;         \
+               test -f $$i.trs || test -f $$i.log || continue;         \
 ## FIXME: one fork per test -- this is horrendously inefficient!
-               grep "^$$ws*:recheck:$$ws*no$$ws*$$" $$b.trs            \
-                 >/dev/null 2>&1 || echo $$b.log;                      \
+               grep "^$$ws*:recheck:$$ws*no$$ws*$$" $$i.trs            \
+                 >/dev/null 2>&1 || echo $$i.log;                      \
              done | tr '\012\015' '  '`;                               \
 ## This apparently useless munging helps to avoid a nasty bug (a
 ## segmentation fault!) on Solaris XPG4 make.
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 7610af2..3573bb0 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -169,12 +169,8 @@ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
 # See also 'test-harness-vpath-rewrite.test' and 'test-trs-basic.test'.
 am__set_TESTS_bases = \
   bases='$(TEST_LOGS)'; \
-  bases=`for f in $$bases; do echo $$f; done | sed 's/\.log$$//'`; \
+  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
   bases=`echo $$bases`
-# This can be used instead of $(MAKE) in recipes requiring a recursive call
-# to make, but which are not intended to be executed by "make -n".  See the
-# GNU make manual for more details.
-am__stealth_MAKE = $(MAKE)
 RECHECK_LOGS = $(TEST_LOGS)
 AM_RECURSIVE_TARGETS = check check-html recheck recheck-html
 TEST_SUITE_LOG = test-suite.log
@@ -1498,34 +1494,45 @@ cscope cscopelist:
 
 # Recover from deleted `.trs' file; this should ensure that
 # "rm -f foo.log; make foo.trs" re-run `foo.test', and re-create
-# both `foo.log' and `foo.trs'.
+# both `foo.log' and `foo.trs'.  Break the recipe in two subshells
+# to avoid problems with "make -n".
 .log.trs:
-       rm -f $< $@ && $(am__stealth_MAKE) $(AM_MAKEFLAGS) $<
+       rm -f $< $@
+       $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Helper recipe used by $(TEST_SUITE_LOG) below, to avoid problems with
+# "make -n".  Break this recipe in multiple shell invocations too, to
+# really work as expected with "make -n".
+am--redo-logs:
+       @rm -f $$redo_logs
+       @rm -f $$redo_results
+       @$(MAKE) $(AM_MAKEFLAGS) $$redo_logs
+       @st=0;  \
+       errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+       for i in $$redo_bases; do \
+         test -f $$i.trs && test -r $$i.trs \
+           || { echo "$$errmsg $$i.trs"; st=1; }; \
+         test -f $$i.log && test -r $$i.log \
+           || { echo "$$errmsg $$i.log"; st=1; }; \
+       done; \
+       test $$st -eq 0
 
 $(TEST_SUITE_LOG): $(TEST_LOGS)
-       @$(am__sh_e_setup); $(am__tty_colors); \
-       f_ok () { test -f "$$1" && test -r "$$1"; }; \
-       $(am__set_TESTS_bases); \
-       ws='[   ]'; \
-       redo_bases=`for b in $$bases; do \
-                     f_ok $$b.trs && f_ok $$b.log || echo $$b; \
+       @$(am__set_TESTS_bases); \
+       am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+       redo_bases=`for i in $$bases; do \
+                     am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
                    done`; \
        if test -n "$$redo_bases"; then \
          redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
          redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
-         rm -f $$redo_logs && rm -f $$redo_results \
-           && $(am__stealth_MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
-       fi; \
-       st=0; \
-       for b in $$redo_bases; do \
-         for e in trs log; do \
-           f_ok $$b.$$e || { \
-             echo "fatal: making $@: failed to create $$b.$$e" >&2; \
-             st=1; \
-           }; \
-         done; \
-       done; \
-       test $$st -eq 0 || exit 1; \
+         redo_bases="$$redo_bases" \
+         redo_logs="$$redo_logs" \
+         redo_results="$$redo_results" \
+           $(MAKE) am--redo-logs || exit 1; \
+       else :; fi;
+       @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+       ws='[   ]'; \
        results=`for b in $$bases; do echo $$b.trs; done`; \
        test -n "$$results" || results=/dev/null; \
        all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
@@ -1576,20 +1583,20 @@ $(TEST_SUITE_LOG): $(TEST_LOGS)
          echo;                                                         \
          echo ".. contents:: :depth: 2";                               \
          echo;                                                         \
-         for b in $$bases; do                                          \
-           if grep "^$$ws*:copy-in-global-log:$$ws*no$$ws*$$" $$b.trs \
+         for i in $$bases; do                                          \
+           if grep "^$$ws*:copy-in-global-log:$$ws*no$$ws*$$" $$i.trs \
                 >/dev/null; then continue; \
            fi; \
            glob_res=`sed -n -e "s/$$ws*$$//" \
                             -e "s/^$$ws*:global-test-result:$$ws*//p" \
-                       $$b.trs`; \
+                       $$i.trs`; \
            test -n "$$glob_res" || glob_res=RUN; \
-           echo "$$glob_res: $$b" | $(am__rst_section); \
-           if test ! -r $$b.log; then \
-             echo "fatal: making $@: $$b.log is unreadable" >&2; \
+           echo "$$glob_res: $$i" | $(am__rst_section); \
+           if test ! -r $$i.log; then \
+             echo "fatal: making $@: $$i.log is unreadable" >&2; \
              exit 1; \
            fi; \
-           cat $$b.log; echo; \
+           cat $$i.log; echo; \
          done; \
        } >$(TEST_SUITE_LOG).tmp;                                       \
        mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);                     \
@@ -1618,11 +1625,11 @@ check-TESTS:
        @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
        @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
        @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
-       @list='$(TEST_LOGS)';                                           \
-       list=`for f in $$list; do                                       \
-         test .log = $$f || echo $$f;                                  \
-       done | tr '\012\015' '  '`;                                     \
-       list=`echo "$$list" | sed 's/ *$$//'`;                          \
+       @list='$(TEST_LOGS)'; \
+       list=`for i in $$list; do \
+         test .log = $$i || echo $$i; \
+       done | tr '\012\015' '  '`; \
+       list=`echo "$$list" | sed 's/ *$$//'`; \
        $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$list"
 
 .log.html:
@@ -1653,10 +1660,10 @@ recheck recheck-html:
        @ws='[  ]';                                                     \
        target=`echo $@ | sed 's,^re,,'`;                               \
        $(am__set_TESTS_bases);                                         \
-       list=`for b in $$bases; do                                      \
-               test -f $$b.trs || test -f $$b.log || continue;         \
-               grep "^$$ws*:recheck:$$ws*no$$ws*$$" $$b.trs            \
-                 >/dev/null 2>&1 || echo $$b.log;                      \
+       list=`for i in $$bases; do                                      \
+               test -f $$i.trs || test -f $$i.log || continue;         \
+               grep "^$$ws*:recheck:$$ws*no$$ws*$$" $$i.trs            \
+                 >/dev/null 2>&1 || echo $$i.log;                      \
              done | tr '\012\015' '  '`;                               \
        list=`echo "$$list" | sed 's/ *$$//'`;                          \
        $(MAKE) $(AM_MAKEFLAGS) $$target AM_MAKEFLAGS='$(AM_MAKEFLAGS) 
TEST_LOGS="'"$$list"'"'
@@ -1810,16 +1817,17 @@ uninstall-am:
 .MAKE: check-am check-html install-am install-strip recheck \
        recheck-html
 
-.PHONY: all all-am check check-TESTS check-am check-html clean \
-       clean-generic clean-local distclean distclean-generic distdir \
-       dvi dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
-       pdf-am ps ps-am recheck recheck-html uninstall uninstall-am
+.PHONY: all all-am am--redo-logs check check-TESTS check-am check-html \
+       clean clean-generic clean-local distclean distclean-generic \
+       distdir dvi dvi-am html html-am info info-am install \
+       install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic pdf pdf-am ps ps-am recheck recheck-html \
+       uninstall uninstall-am
 
 backcompat5-p.log: backcompat5.test
 check-exported-srcdir-p.log: check-exported-srcdir.test
diff --git a/tests/defs b/tests/defs
index 3aadda3..b682c5e 100644
--- a/tests/defs
+++ b/tests/defs
@@ -92,8 +92,9 @@ unset srcdir
 # conceptually independent, they cause some changed semantics we
 # need to control (and test for) in some of the tests to ensure
 # backward-compatible behavior.
-unset TESTS_ENVIRONMENT
+unset TESTS_ENVIRONMENT AM_TESTS_ENVIRONMENT
 unset DISABLE_HARD_ERRORS
+unset AM_COLOR_TESTS
 unset TESTS
 unset TEST_LOG_COMPILER
 unset TEST_LOGS


hooks/post-receive
-- 
GNU Automake



reply via email to

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