diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-06-14 22:47:28 +0200 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-06-14 22:51:38 +0200 |
commit | b72e9747b2493362fc43030c500d3f4e881a2c06 (patch) | |
tree | 859c8f3d43326c94151fdbc4b9e1d1fce576c2b3 /t/subdir-am-cond.sh | |
parent | 6f01c1e0c1629265b0f96142b7922ef074e2763a (diff) | |
download | automake-b72e9747b2493362fc43030c500d3f4e881a2c06.tar.gz |
subdirs: enhance coverage, tweak and rename few tests
* t/subdir5.sh: Rename ...
* t/subdir-add-pr46.sh: ... like this.
* t/subdir8.sh: Rename ...
* t/subdir-add2-pr46.sh: ... like this.
* t/cond2.sh: Rename ...
* t/subdir-cond-err.sh: ... like this.
* t/subdir9.sh: Rename ...
* t/subdir-with-slash.sh: ... like this; improve heading comments.
* t/subcond.sh: Rename ...
* t/subdir-cond-gettext.sh: ... like this; improve m4 quoting.
* t/subcond2.sh: Rename ...
* t/subdir-am-cond.sh: ... like this; adjust heading comments.
* t/subcond3.sh: Rename ...
* t/subdir-ac-subst.sh: ... like this; adjust heading comments.
* t/subdir2.sh: Rename ...
* t/subdir-subsub.sh: ... like this; enhance so that it also runs
'./configure' and 'make'.
* t/subdir-order.sh: New test, check that the $(SUDBIRS) entries
are processed in the order they are specified.
* doc/automake.texi: Adjust references to tests.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 't/subdir-am-cond.sh')
-rwxr-xr-x | t/subdir-am-cond.sh | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/t/subdir-am-cond.sh b/t/subdir-am-cond.sh new file mode 100755 index 000000000..7f5e34a62 --- /dev/null +++ b/t/subdir-am-cond.sh @@ -0,0 +1,91 @@ +#! /bin/sh +# Copyright (C) 2002-2012 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/>. + +# The for conditional SUBDIRS. +# SUBDIRS + AM_CONDITIONAL setup from the manual. +# Lots of lines here are duplicated in subdir-ac-subst.test. + +. ./defs || Exit 1 + +cat >>configure.ac <<'END' +AM_CONDITIONAL([COND_OPT], [test "$want_opt" = yes]) +AC_CONFIG_FILES([src/Makefile opt/Makefile]) +AC_OUTPUT +END + +cat >Makefile.am << 'END' +if COND_OPT + MAYBE_OPT = opt +endif +SUBDIRS = src $(MAYBE_OPT) + +# Testing targets. +# +# We want to ensure that +# - src/source and opt/source are always distributed. +# - src/result is always built +# - opt/result is built conditionally +# +# We rely on 'distcheck' to run 'check-local' and use +# 'sanity1' and 'sanity2' as evidences that test-build was run. + +if COND_OPT +test-build: all + test -f src/result + test -f opt/result + : > $(top_builddir)/../../sanity2 +else +test-build: all + test -f src/result + test ! -f opt/result + : > $(top_builddir)/../../sanity1 +endif + +test-dist: distdir + test -f $(distdir)/src/source + test -f $(distdir)/opt/source + +check-local: test-build test-dist +END + +mkdir src opt +: > src/source +: > opt/source + +cat >src/Makefile.am << 'END' +EXTRA_DIST = source +all-local: result +CLEANFILES = result + +result: source + cp $(srcdir)/source result +END + +# We want in opt/ the same Makefile as in src/. Let's exercise 'include'. +cat >opt/Makefile.am << 'END' +include ../src/Makefile.am +END + +$ACLOCAL +$AUTOCONF +$AUTOMAKE --add-missing +./configure +$MAKE distcheck +test -f sanity1 +DISTCHECK_CONFIGURE_FLAGS=want_opt=yes $MAKE distcheck +test -f sanity2 + +: |