automake
[Top][All Lists]
Advanced

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

10-check-am.patch


From: Akim Demaille
Subject: 10-check-am.patch
Date: Sun, 28 Jan 2001 17:15:11 +0100

Index: ChangeLog
from  Akim Demaille  <address@hidden>
        * automake.in (handle_phony): Sort.
        * automake.in (file_contents_with_transform): Catch `.PHONY:'.
        * check.am: New file.

Index: tests/Makefile.in
--- tests/Makefile.in Sat, 13 Jan 2001 18:11:09 +0100 akim (am/f/3_Makefile.i 
1.1 644)
+++ tests/Makefile.in Sun, 28 Jan 2001 15:26:15 +0100 akim (am/f/3_Makefile.i 
1.1 644)
@@ -105,6 +105,7 @@
 canon3.test \
 canon4.test \
 canon5.test \
+check.test \
 checkall.test \
 clean.test \
 colneq.test \
@@ -360,6 +361,7 @@
 tags: TAGS
 TAGS:

+
 check-TESTS: $(TESTS)
        @failed=0; all=0; xfail=0; xpass=0; \
        srcdir=$(srcdir); export srcdir; \
@@ -484,12 +486,12 @@

 maintainer-clean: maintainer-clean-am

-.PHONY: tags check-TESTS distdir info-am info dvi-am dvi check check-am \
-installcheck-am installcheck install-exec-am install-exec \
-install-data-am install-data install-am install uninstall-am uninstall \
-all-redirect all-am all install-strip installdirs mostlyclean-generic \
-distclean-generic clean-generic maintainer-clean-generic clean \
-mostlyclean distclean maintainer-clean
+.PHONY: all all-am all-redirect check check-TESTS check-am clean \
+clean-generic distclean distclean-generic distdir dvi dvi-am info \
+info-am install install-am install-data install-data-am install-exec \
+install-exec-am install-strip installcheck installcheck-am installdirs \
+maintainer-clean maintainer-clean-generic mostlyclean \
+mostlyclean-generic tags uninstall uninstall-am


 distclean-local:
Index: tests/Makefile.am
--- tests/Makefile.am Sun, 21 Jan 2001 23:50:06 +0100 akim (am/f/4_Makefile.a 
1.2 644)
+++ tests/Makefile.am Sun, 28 Jan 2001 15:26:15 +0100 akim (am/f/4_Makefile.a 
1.2 644)
@@ -32,6 +32,7 @@
 canon3.test \
 canon4.test \
 canon5.test \
+check.test \
 checkall.test \
 clean.test \
 colneq.test \
Index: tests/ChangeLog
from  Akim Demaille  <address@hidden>

        * check.test: New.

Index: m4/Makefile.in
--- m4/Makefile.in Sat, 13 Jan 2001 18:11:09 +0100 akim (am/f/30_Makefile.i 1.1 
644)
+++ m4/Makefile.in Sun, 28 Jan 2001 15:26:15 +0100 akim (am/f/30_Makefile.i 1.1 
644)
@@ -196,12 +196,12 @@

 maintainer-clean: maintainer-clean-am

-.PHONY: uninstall-m4dataDATA install-m4dataDATA tags distdir info-am \
-info dvi-am dvi check check-am installcheck-am installcheck \
-install-exec-am install-exec install-data-am install-data install-am \
-install uninstall-am uninstall all-redirect all-am all install-strip \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+.PHONY: all all-am all-redirect check check-am clean clean-generic \
+distclean distclean-generic distdir dvi dvi-am info info-am install \
+install-am install-data install-data-am install-exec install-exec-am \
+install-m4dataDATA install-strip installcheck installcheck-am \
+installdirs maintainer-clean maintainer-clean-generic mostlyclean \
+mostlyclean-generic tags uninstall uninstall-am uninstall-m4dataDATA


 # Tell versions [3.59,3.63) of GNU make to not export all variables.
Index: automake.in
--- automake.in Sun, 28 Jan 2001 07:37:17 +0100 akim (am/f/39_automake.i 1.13 
755)
+++ automake.in Sun, 28 Jan 2001 15:26:15 +0100 akim (am/f/39_automake.i 1.13 
755)
@@ -4056,7 +4056,7 @@ sub do_one_clean_target
 # Handle .PHONY target.
 sub handle_phony
 {
-    &pretty_print_rule ('.PHONY:', "", @phony);
+    &pretty_print_rule ('.PHONY:', "", sort @phony);
     $output_rules .= "\n";
 }

@@ -4145,65 +4145,10 @@ sub handle_tests
     if (&variable_defined ('TESTS'))
     {
        push (@check_tests, 'check-TESTS');
-       push (@phony, 'check-TESTS');

        # Note: Solaris 2.7 seems to expand TESTS using VPATH.  That's
        # why we also try `dir='
-       $output_rules .= 'check-TESTS: $(TESTS)
-       @failed=0; all=0; xfail=0; xpass=0; \\
-       srcdir=$(srcdir); export srcdir; \\
-       list=' . "'\$(TESTS)'; \\" . '
-       if test -n "$$list"; then \\
-         for tst in $$list; do \\
-           if test -f ./$$tst; then dir=./; \\
-           elif test -f $$tst; then dir=; \\
-           else dir="$(srcdir)/"; fi; \\
-           if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \\
-             all=`expr $$all + 1`; \\
-             case " $(XFAIL_TESTS) " in \\
-             *" $$tst "*) \\
-               xpass=`expr $$xpass + 1`; \\
-               failed=`expr $$failed + 1`; \\
-               echo "XPASS: $$tst"; \\
-             ;; \\
-             *) \\
-               echo "PASS: $$tst"; \\
-             ;; \\
-             esac; \\
-           elif test $$? -ne 77; then \\
-             all=`expr $$all + 1`; \\
-             case " $(XFAIL_TESTS) " in \\
-             *" $$tst "*) \\
-               xfail=`expr $$xfail + 1`; \\
-               echo "XFAIL: $$tst"; \\
-             ;; \\
-             *) \\
-               failed=`expr $$failed + 1`; \\
-               echo "FAIL: $$tst"; \\
-             ;; \\
-             esac; \\
-           fi; \\
-         done; \\
-         if test "$$failed" -eq 0; then \\
-           if test "$$xfail" -eq 0; then \\
-             banner="All $$all tests passed"; \\
-           else \\
-             banner="All $$all tests behaved as expected ($$xfail expected 
failures)"; \\
-           fi; \\
-         else \\
-           if test "$$xpass" -eq 0; then \\
-             banner="$$failed of $$all tests failed"; \\
-           else \\
-             banner="$$failed of $$all tests did not behave as expected 
($$xpass unexpected passes)"; \\
-           fi; \\
-         fi; \\
-         dashes=`echo "$$banner" | sed s/./=/g`; \\
-         echo "$$dashes"; \\
-         echo "$$banner"; \\
-         echo "$$dashes"; \\
-         test "$$failed" -eq 0; \\
-       fi
-';
+       $output_rules .= &file_contents ('check');
     }
 }

@@ -6960,6 +6905,10 @@ sub initialize_per_input

 ################################################################

+
+# $CONTENTS
+# &file_contents_with_transform ($COMMAND, $BASENAME)
+# ---------------------------------------------------
 # Return contents of a file from $am_dir, automatically skipping
 # macros or rules which are already known.  Runs command on each line
 # as it is read; this command can modify $_.
@@ -7029,6 +6978,12 @@ sub file_contents_with_transform
                $result_vars .= $_ if ! $skipping;
            }
            $saw_bk = /\\$/;
+       }
+       elsif (/^.PHONY: (.*)$/)
+       {
+           # Having a special case for PHONY upstream seems much easier than
+           # trying to have it fit in RULE_PATTERN and extract it later.
+           push (@phony, split (/\s+/, $1));
        }
        elsif (/$RULE_PATTERN/o)
        {
Index: Makefile.in
--- Makefile.in Sat, 27 Jan 2001 02:29:11 +0100 akim (am/f/45_Makefile.i 1.2 
644)
+++ Makefile.in Sun, 28 Jan 2001 15:26:15 +0100 akim (am/f/45_Makefile.i 1.2 
644)
@@ -81,14 +81,14 @@
 bin_SCRIPTS = automake aclocal
 info_TEXINFOS = automake.texi

-amfiles = clean-hdr.am clean-kr.am clean.am comp-vars.am compile.am \
-data-clean.am data.am dejagnu.am depend.am depend2.am dist.am \
-dist-vars.am footer.am header-vars.am header.am java-clean.am java.am \
-kr-extra.am library.am libs-clean.am libs.am libtool.am lisp-clean.am \
-lisp.am ltlib-clean.am ltlib.am ltlibrary.am mans-vars.am mans.am \
-multilib.am program.am progs-clean.am progs.am python.am \
-python-clean.am remake-hdr.am remake.am scripts.am subdirs.am \
-tags-clean.am tags.am texi-vers.am texinfos.am
+amfiles = check.am clean-hdr.am clean-kr.am clean.am comp-vars.am \
+compile.am data-clean.am data.am dejagnu.am depend.am depend2.am \
+dist.am dist-vars.am footer.am header-vars.am header.am java-clean.am \
+java.am kr-extra.am library.am libs-clean.am libs.am libtool.am \
+lisp-clean.am lisp.am ltlib-clean.am ltlib.am ltlibrary.am \
+mans-vars.am mans.am multilib.am program.am progs-clean.am progs.am \
+python.am python-clean.am remake-hdr.am remake.am scripts.am \
+subdirs.am tags-clean.am tags.am texi-vers.am texinfos.am


 dist_pkgdata_DATA = COPYING INSTALL texinfo.tex ansi2knr.c ansi2knr.1 \
@@ -606,24 +606,25 @@
 maintainer-clean: maintainer-clean-recursive
        -rm -f config.status

-.PHONY: uninstall-binSCRIPTS install-binSCRIPTS mostlyclean-vti \
-distclean-vti clean-vti maintainer-clean-vti install-info-am \
-uninstall-info mostlyclean-aminfo distclean-aminfo clean-aminfo \
-maintainer-clean-aminfo uninstall-dist_pkgdataDATA \
-install-dist_pkgdataDATA uninstall-dist_scriptDATA \
-install-dist_scriptDATA install-recursive uninstall-recursive \
-install-data-recursive uninstall-data-recursive install-exec-recursive \
-uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
-all-recursive check-recursive installcheck-recursive info-recursive \
-dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
-maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
-distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
-dvi-am dvi check check-am installcheck-local installcheck-am \
-installcheck install-exec-am install-exec install-data-am install-data \
-install-am install uninstall-am uninstall all-redirect all-am all \
-install-strip installdirs-am installdirs mostlyclean-generic \
-distclean-generic clean-generic maintainer-clean-generic clean \
-mostlyclean distclean maintainer-clean
+.PHONY: all all-am all-recursive all-redirect check check-am \
+check-recursive clean clean-aminfo clean-generic clean-recursive \
+clean-tags clean-vti distclean distclean-aminfo distclean-generic \
+distclean-recursive distclean-tags distclean-vti distdir dvi dvi-am \
+dvi-recursive info info-am info-recursive install install-am \
+install-binSCRIPTS install-data install-data-am install-data-recursive \
+install-dist_pkgdataDATA install-dist_scriptDATA install-exec \
+install-exec-am install-exec-recursive install-info-am \
+install-recursive install-strip installcheck installcheck-am \
+installcheck-local installcheck-recursive installdirs installdirs-am \
+installdirs-recursive maintainer-clean maintainer-clean-aminfo \
+maintainer-clean-generic maintainer-clean-recursive \
+maintainer-clean-tags maintainer-clean-vti mostlyclean \
+mostlyclean-aminfo mostlyclean-generic mostlyclean-recursive \
+mostlyclean-tags mostlyclean-vti tags tags-recursive uninstall \
+uninstall-am uninstall-binSCRIPTS uninstall-data-recursive \
+uninstall-dist_pkgdataDATA uninstall-dist_scriptDATA \
+uninstall-exec-recursive uninstall-info uninstall-recursive \
+uninstalldirs-recursive


 install-data-hook:
Index: Makefile.am
--- Makefile.am Sat, 27 Jan 2001 02:29:11 +0100 akim (am/f/46_Makefile.a 1.2 
664)
+++ Makefile.am Sun, 28 Jan 2001 15:26:15 +0100 akim (am/f/46_Makefile.a 1.2 
664)
@@ -10,14 +10,14 @@
 bin_SCRIPTS = automake aclocal
 info_TEXINFOS = automake.texi

-amfiles = clean-hdr.am clean-kr.am clean.am comp-vars.am compile.am \
-data-clean.am data.am dejagnu.am depend.am depend2.am dist.am \
-dist-vars.am footer.am header-vars.am header.am java-clean.am java.am \
-kr-extra.am library.am libs-clean.am libs.am libtool.am lisp-clean.am \
-lisp.am ltlib-clean.am ltlib.am ltlibrary.am mans-vars.am mans.am \
-multilib.am program.am progs-clean.am progs.am python.am \
-python-clean.am remake-hdr.am remake.am scripts.am subdirs.am \
-tags-clean.am tags.am texi-vers.am texinfos.am
+amfiles = check.am clean-hdr.am clean-kr.am clean.am comp-vars.am \
+compile.am data-clean.am data.am dejagnu.am depend.am depend2.am \
+dist.am dist-vars.am footer.am header-vars.am header.am java-clean.am \
+java.am kr-extra.am library.am libs-clean.am libs.am libtool.am \
+lisp-clean.am lisp.am ltlib-clean.am ltlib.am ltlibrary.am \
+mans-vars.am mans.am multilib.am program.am progs-clean.am progs.am \
+python.am python-clean.am remake-hdr.am remake.am scripts.am \
+subdirs.am tags-clean.am tags.am texi-vers.am texinfos.am

 dist_pkgdata_DATA = COPYING INSTALL texinfo.tex ansi2knr.c ansi2knr.1 \
 $(amfiles)
Index: tests/check.test
--- tests/check.test Sun, 28 Jan 2001 15:27:10 +0100 akim ()
+++ tests/check.test Sun, 28 Jan 2001 15:26:54 +0100 akim (am/h/7_check.test  
644)
@@ -0,0 +1,21 @@
+#! /bin/sh
+
+# Test Automake style tests.
+
+. $srcdir/defs || exit 1
+
+cat > Makefile.am << 'END'
+TESTS = frob.test
+END
+
+: > frob.test
+
+$AUTOMAKE || exit 1
+
+grep '^check-TESTS:' Makefile.in || exit 1
+grep '^check-DEJAGNU' Makefile.in && exit 1
+
+# check-TESTS is phony.
+sed -n '/^\.PHONY:/,/^$/p' Makefile.in | grep check-TESTS || exit 1
+
+exit 0



reply via email to

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