automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-558-


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-558-g7e7a8a6
Date: Wed, 22 Dec 2010 22:59:00 +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=7e7a8a6497cbc2473a3e25dd1067f2d44346325e

The branch, master has been updated
       via  7e7a8a6497cbc2473a3e25dd1067f2d44346325e (commit)
      from  89505905738a5645963b8d0f24daa7a857203aca (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 -----------------------------------------------------------------
commit 7e7a8a6497cbc2473a3e25dd1067f2d44346325e
Author: Stefano Lattarini <address@hidden>
Date:   Tue Dec 21 22:59:19 2010 +0100

    Add some tests on 'cygnus' mode.
    
    * tests/clean2.test: Extend.
    * tests/cygnus-check-without-all.test: New test.
    * tests/cygnus-dependency-tracking.test: Likewise.
    * tests/cygnus-distclean.test: Likewise.
    * tests/cygnus-imply-foreign.test: Likewise.
    * tests/cygnus-no-dist.test: Likewise.
    * tests/cygnus-no-installinfo.test: Likewise.
    * tests/cygnus-requires-maintainer-mode.test: Likewise.
    * tests/Makefile.am (TESTS): Update.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |   13 +++
 tests/Makefile.am                                  |    6 ++
 tests/Makefile.in                                  |    6 ++
 tests/clean2.test                                  |   21 +++++-
 tests/{man8.test => cygnus-check-without-all.test} |   47 +++++------
 ...strip2.test => cygnus-dependency-tracking.test} |   49 ++++++++----
 tests/cygnus-imply-foreign.test                    |   61 ++++++++++++++
 tests/cygnus-no-dist.test                          |   86 ++++++++++++++++++++
 tests/{man7.test => cygnus-no-installinfo.test}    |   54 ++++++-------
 ...2.test => cygnus-requires-maintainer-mode.test} |   38 +++++-----
 10 files changed, 288 insertions(+), 93 deletions(-)
 copy tests/{man8.test => cygnus-check-without-all.test} (65%)
 copy tests/{strip2.test => cygnus-dependency-tracking.test} (52%)
 create mode 100755 tests/cygnus-imply-foreign.test
 create mode 100755 tests/cygnus-no-dist.test
 copy tests/{man7.test => cygnus-no-installinfo.test} (57%)
 copy tests/{clean2.test => cygnus-requires-maintainer-mode.test} (62%)

diff --git a/ChangeLog b/ChangeLog
index 2c057a1..0540fc8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,18 @@
 2010-12-22  Stefano Lattarini  <address@hidden>
 
+       Add some tests on 'cygnus' mode.
+       * tests/clean2.test: Extend.
+       * tests/cygnus-check-without-all.test: New test.
+       * tests/cygnus-dependency-tracking.test: Likewise.
+       * tests/cygnus-distclean.test: Likewise.
+       * tests/cygnus-imply-foreign.test: Likewise.
+       * tests/cygnus-no-dist.test: Likewise.
+       * tests/cygnus-no-installinfo.test: Likewise.
+       * tests/cygnus-requires-maintainer-mode.test: Likewise.
+       * tests/Makefile.am (TESTS): Update.
+
+2010-12-22  Stefano Lattarini  <address@hidden>
+
        Fix parallel testsuite run with Zsh.
        This change deals with a Zsh incompatibility in the handling
        of the special shell variable `$0' in sourced files; this
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 90b58fe..05e15bc 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -326,6 +326,12 @@ cxxlibobj.test \
 cxxlink.test \
 cxxnoc.test \
 cxxo.test \
+cygnus-check-without-all.test \
+cygnus-dependency-tracking.test \
+cygnus-imply-foreign.test \
+cygnus-no-dist.test \
+cygnus-no-installinfo.test \
+cygnus-requires-maintainer-mode.test \
 cygwin32.test \
 dash.test \
 defun.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 45a6401..d0e08a6 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -589,6 +589,12 @@ cxxlibobj.test \
 cxxlink.test \
 cxxnoc.test \
 cxxo.test \
+cygnus-check-without-all.test \
+cygnus-dependency-tracking.test \
+cygnus-imply-foreign.test \
+cygnus-no-dist.test \
+cygnus-no-installinfo.test \
+cygnus-requires-maintainer-mode.test \
 cygwin32.test \
 dash.test \
 defun.test \
diff --git a/tests/clean2.test b/tests/clean2.test
index 99e4c2e..48165ce 100755
--- a/tests/clean2.test
+++ b/tests/clean2.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2004  Free Software Foundation, Inc.
+# Copyright (C) 2004, 2010 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -29,6 +29,13 @@ END
 
 cat > Makefile.am << 'END'
 SUBDIRS = sub
+
+data_DATA = bar
+
+bar:
+       touch $@
+
+DISTCLEANFILES = bar
 END
 
 mkdir sub
@@ -48,6 +55,16 @@ $AUTOMAKE --cygnus
 
 ./configure
 $MAKE
+ls -l
+test -f bar
 test -f sub/foo
 $MAKE distclean
-test ! -f sub/foo
+ls -l
+test ! -r bar
+test ! -r sub/foo
+test ! -r Makefile
+test ! -r config.status
+test -f Makefile.in
+test -f configure
+
+:
diff --git a/tests/man8.test b/tests/cygnus-check-without-all.test
similarity index 65%
copy from tests/man8.test
copy to tests/cygnus-check-without-all.test
index 377eeff..964dc59 100755
--- a/tests/man8.test
+++ b/tests/cygnus-check-without-all.test
@@ -14,46 +14,39 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Check for a bug in distcheck w.r.t. generated manpages.
+# Check that, in cygnus mode, target "check" does not depend target
+# "all".
 
 . ./defs || Exit 1
 
 set -e
 
-cat > Makefile.am << 'END'
-dist_man_MANS = foo.1
-foo.1:
-## this 'rm' command will fail if $(srcdir) is unwritable
-       rm -f $(srcdir)/$@
-       : > $(srcdir)/$@
-END
-
 cat >> configure.in <<'END'
+AM_MAINTAINER_MODE
 AC_OUTPUT
 END
 
-$ACLOCAL
-$AUTOMAKE
-$AUTOCONF
+cat > Makefile.am <<'END'
+all-local:
+       : > all-target-has-failed
+       exit 1
+check-local:
+       touch check-target-has-run
+END
 
-mkdir build
-cd build
-../configure
+$ACLOCAL
+$AUTOMAKE --cygnus
 
-$MAKE
-test -f ../foo.1
-$MAKE distdir
-test -f $me-1.0/foo.1
-$MAKE distcheck
+$EGREP '(^| )all.*(:|:.* )check' Makefile.in && Exit 1
 
-cd ..
-rm -f foo.1
+$AUTOCONF
 ./configure
 
-$MAKE
-test -f foo.1
-$MAKE distdir
-test -f $me-1.0/foo.1
-$MAKE distcheck
+$MAKE check
+test -f check-target-has-run
+test ! -r all-target-has-failed
+# sanity checks
+$MAKE && Exit 1
+test -f all-target-has-failed
 
 :
diff --git a/tests/strip2.test b/tests/cygnus-dependency-tracking.test
similarity index 52%
copy from tests/strip2.test
copy to tests/cygnus-dependency-tracking.test
index 5786ded..f2f4aea 100755
--- a/tests/strip2.test
+++ b/tests/cygnus-dependency-tracking.test
@@ -14,41 +14,60 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Ensure install-strip works when STRIP consists of more than one word.
-# This test needs GNU binutils strip.  See sister test strip3.
+# Check that cygnus mode disables automatic dependency tracking.
+# And check that this *cannot* be overridden.
 
-required=strip
 . ./defs || Exit 1
 
 set -e
 
-cat >> configure.in << 'END'
+cat >> configure.in <<'END'
+AM_MAINTAINER_MODE
 AC_PROG_CC
-AC_PROG_RANLIB
 AC_OUTPUT
 END
 
-cat > Makefile.am << 'END'
+cat > Makefile.am <<'END'
 bin_PROGRAMS = foo
-lib_LIBRARIES = libfoo.a
+foo_SOURCES = foo.c
+.PHONY: test-nodeps
+test-nodeps:
+       test ! -d .deps
+       test ! -d _deps
+       test ! -d '$(DEPDIR)'
 END
 
-cat > foo.c << 'END'
-int main () { return 0; }
+cat > foo.c <<'END'
+#include "bar.h"
+int main ()
+{
+  GIVE_BACK 0;
+}
 END
 
-cat > libfoo.c << 'END'
-int foo () { return 0; }
+cat > bar.sav <<'END'
+#define GIVE_BACK return
 END
 
+cp bar.sav bar.h
 
 $ACLOCAL
+$AUTOMAKE --include-deps --cygnus --include-deps
 $AUTOCONF
-$AUTOMAKE -a
 
-prefix=`pwd`/inst
-./configure --prefix="$prefix" STRIP='strip --verbose'
+# Unknown options should cause just warnings from configure.
+./configure --enable-dependency-tracking
 $MAKE
-$MAKE install-strip
+$MAKE test-nodeps
+
+: > bar.h
+$MAKE
+$MAKE test-nodeps
+
+# Sanity check.
+$MAKE clean
+$MAKE >out 2>&1 && { cat out; Exit 1; }
+cat out
+$FGREP 'GIVE_BACK' out
 
 :
diff --git a/tests/cygnus-imply-foreign.test b/tests/cygnus-imply-foreign.test
new file mode 100755
index 0000000..0e9a299
--- /dev/null
+++ b/tests/cygnus-imply-foreign.test
@@ -0,0 +1,61 @@
+#! /bin/sh
+# Copyright (C) 2010 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Check that 'cygnus' mode imply 'foreign' mode.
+
+. ./defs || Exit 1
+
+set -e
+
+cat >> configure.in <<'END'
+# This is *required* in cygnus mode
+AM_MAINTAINER_MODE
+END
+
+$ACLOCAL
+
+: > Makefile.am
+
+# We want complete control automake flags, while honouring the
+# user overrides for $AUTOMAKE.
+AUTOMAKE=$original_AUTOMAKE
+
+# Sanity check: gnu mode must complain about missing files and
+# portability problems.
+AUTOMAKE_fails
+grep 'required file.*README' stderr
+
+# But cygnus mode should imply foreign mode, so no complaints.
+# And cygnus mode should by able to override gnu and gnits modes.
+$AUTOMAKE --cygnus -Werror
+$AUTOMAKE --gnu --cygnus -Werror
+$AUTOMAKE --gnits --cygnus -Werror
+
+# Try again, this time enabling cygnus mode from Makefile.am.
+cp Makefile.am Makefile.sav
+echo 'AUTOMAKE_OPTIONS = gnu cygnus' >> Makefile.am
+$AUTOMAKE -Werror
+mv -f Makefile.sav Makefile.am
+
+# Try again, this time enabling cygnus mode from configure.in.
+cp configure.in configure.sav
+sed 's/^AM_INIT_AUTOMAKE$/&([gnits cygnus])/' configure.sav >configure.in
+cmp configure.in configure.sav && Exit 99 # sanity check
+$ACLOCAL --force
+$AUTOMAKE -Werror
+mv -f configure.sav configure.in
+
+:
diff --git a/tests/cygnus-no-dist.test b/tests/cygnus-no-dist.test
new file mode 100755
index 0000000..dac7fd0
--- /dev/null
+++ b/tests/cygnus-no-dist.test
@@ -0,0 +1,86 @@
+#! /bin/sh
+# Copyright (C) 2010 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Check that cygnus mode forbids creation of distribution tarball.
+
+. ./defs || Exit 1
+
+set -e
+
+echo AM_MAINTAINER_MODE >> configure.in
+mv -f configure.in configure.stub
+
+cat configure.stub - > configure.in <<'END'
+AC_OUTPUT
+END
+
+: > Makefile.am
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE --cygnus
+
+./configure
+$MAKE
+
+for target in dist distdir distcheck dist-all dist-gzip; do
+  $MAKE -n $target >out 2>&1 && { cat out; Exit 1; }
+  cat out
+  grep $target out
+done
+
+# Now check that cygnus mode in a subdirectory disables
+# distribution-building in that subdirectory.
+
+cat > Makefile.am <<'END'
+SUBDIRS = sub1 sub2
+END
+
+mkdir sub1 sub2
+: > sub1/Makefile.am
+cat > sub2/Makefile.am <<'END'
+# The `-Wall' after `cygnus' should ensure no warning gets
+# unintentionally disabled.  We are particularily interested
+# in override warnings, for when (below) we add the `distdir'
+# target.
+AUTOMAKE_OPTIONS = cygnus -Wall
+END
+
+cat configure.stub - > configure.in <<'END'
+AC_CONFIG_FILES([sub1/Makefile sub2/Makefile])
+AC_OUTPUT
+END
+
+$AUTOCONF
+$AUTOMAKE
+
+./configure
+$MAKE
+cd sub2
+$MAKE -n distdir >out 2>&1 && { cat out; Exit 1; }
+grep distdir out
+cd ..
+
+cat >> sub2/Makefile.am <<'END'
+distdir:
+END
+$AUTOMAKE sub2/Makefile
+./config.status sub2/Makefile
+
+$MAKE distdir
+$MAKE dist
+
+:
diff --git a/tests/man7.test b/tests/cygnus-no-installinfo.test
similarity index 57%
copy from tests/man7.test
copy to tests/cygnus-no-installinfo.test
index 748b8f8..380250c 100755
--- a/tests/man7.test
+++ b/tests/cygnus-no-installinfo.test
@@ -14,48 +14,42 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Check for a bug in maintainer-clean w.r.t. generated manpages.
+# Check that cygnus mode enables the 'no-installinfo' option.
 
+required=makeinfo
 . ./defs || Exit 1
 
 set -e
 
-cat > Makefile.am << 'END'
-dist_man_MANS = $(srcdir)/foo.1 bar.1
-$(srcdir)/foo.1 bar.1:
-       : > $@
-MAINTAINERCLEANFILES = $(dist_man_MANS)
-END
-
 cat >> configure.in <<'END'
+AM_MAINTAINER_MODE
 AC_OUTPUT
 END
 
-$ACLOCAL
-$AUTOMAKE
-$AUTOCONF
-
-mkdir build
-cd build
-../configure
-
-$MAKE
-test -f bar.1
-test -f ../foo.1
+cat > Makefile.am <<'END'
+info_TEXINFOS = foo.texi
+END
 
-$MAKE maintainer-clean
-test ! -f bar.1
-test ! -f ../foo.1
+cat > foo.texi <<'END'
address@hidden foo.info
+END
 
-cd ..
-./configure
+$ACLOCAL
+# FIXME: -Wno-override works around a buglet in definition of $(MAKEINFO)
+# in cygnus mode; see also xfailing test `txinfo5.test'.
+$AUTOMAKE --cygnus -Wno-override
+$AUTOCONF
 
+cwd=`pwd` || Exit 1
+./configure --prefix="$cwd"/_inst
 $MAKE
-test -f bar.1
-test -f foo.1
-
-$MAKE maintainer-clean
-test ! -f bar.1
-test ! -f foo.1
+$MAKE install
+test ! -d _inst
+test ! -r foo.info
+test ! -d _inst/share/info
+$MAKE install-info
+ls -l _inst
+test -f foo.info
+test -f _inst/share/info/foo.info
 
 :
diff --git a/tests/clean2.test b/tests/cygnus-requires-maintainer-mode.test
similarity index 62%
copy from tests/clean2.test
copy to tests/cygnus-requires-maintainer-mode.test
index 99e4c2e..4f893f2 100755
--- a/tests/clean2.test
+++ b/tests/cygnus-requires-maintainer-mode.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2004  Free Software Foundation, Inc.
+# Copyright (C) 2010 Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -14,40 +14,40 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-# Make sure distclean works in cygnus mode.
-# Report from Daniel Jacobowitz
+# Check that, in cygnus mode, maintainer mode is required.
 
 . ./defs || Exit 1
 
 set -e
 
-cat >> configure.in << 'END'
-AM_MAINTAINER_MODE
+: > Makefile.am
+
+$ACLOCAL
+AUTOMAKE_fails --cygnus
+grep '^configure\.in:.*AM_MAINTAINER_MODE.*required.*cygnus' stderr
+
+cat >> configure.in <<'END'
 AC_CONFIG_FILES([sub/Makefile])
-AC_OUTPUT
 END
 
-cat > Makefile.am << 'END'
+cat > Makefile.am <<'END'
 SUBDIRS = sub
 END
 
 mkdir sub
+cat > sub/Makefile.am <<'END'
+AUTOMAKE_OPTIONS = cygnus
+END
 
-cat > sub/Makefile.am << 'END'
-data_DATA = foo
-
-foo:
-       touch $@
+$ACLOCAL
+AUTOMAKE_fails
+grep '^configure\.in:.*AM_MAINTAINER_MODE.*required.*cygnus' stderr
 
-CLEANFILES = $(data_DATA)
+cat >> configure.in <<'END'
+AM_MAINTAINER_MODE
 END
 
 $ACLOCAL
-$AUTOCONF
 $AUTOMAKE --cygnus
 
-./configure
-$MAKE
-test -f sub/foo
-$MAKE distclean
-test ! -f sub/foo
+:


hooks/post-receive
-- 
GNU Automake



reply via email to

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