summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2013-06-16 11:36:55 +0200
committerStefano Lattarini <stefano.lattarini@gmail.com>2013-06-16 11:36:55 +0200
commit6f723f1ed6e7383c8f266f6b06eac5f696268784 (patch)
tree2f6dedaa15372acadab4a64a55825ab65bfbf867
parent325122eaeaa59eac5e393d6c68175d28fc440859 (diff)
downloadautomake-6f723f1ed6e7383c8f266f6b06eac5f696268784.tar.gz
tests: some improvements to Gettext tests
Mostly to bring them more in sync with the ones in Automake-NG. See also commit v1.12.2-824-g5468d52 of 2012-08-10([ng] tests: reorganize gettext tests a bit) in Automake-NG. * t/gettext.sh: Rename ... * t/gettext-basics.sh: ... like this, enhance a little, and move checks on requirement of 'config.rpath' out into ... * t/gettext-config-rpath.sh: ... into this new test, and move checks about PR/381... * t/gettext-pr381.sh: ... into this new test. * t/gettext2.sh: Rename ... * t/gettext-external-pr338.sh: ... like this, and enhance a little. * t/gettext3.sh: Rename ... * t/gettext-intl-subdir.sh: ... like this, and add trailing ':' command. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
-rw-r--r--t/gettext-basics.sh (renamed from t/gettext.sh)49
-rw-r--r--t/gettext-config-rpath.sh45
-rw-r--r--t/gettext-external-pr338.sh (renamed from t/gettext2.sh)4
-rw-r--r--t/gettext-intl-subdir.sh (renamed from t/gettext3.sh)2
-rw-r--r--t/gettext-pr381.sh45
-rw-r--r--t/list-of-tests.mk8
6 files changed, 111 insertions, 42 deletions
diff --git a/t/gettext.sh b/t/gettext-basics.sh
index 496602d28..d128a0d93 100644
--- a/t/gettext.sh
+++ b/t/gettext-basics.sh
@@ -14,42 +14,22 @@
# 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 gettext support.
+# Check basic gettext support.
required='gettext'
. test-init.sh
-cat >>configure.ac <<END
+cat >> configure.ac << 'END'
AM_GNU_GETTEXT
-AM_GNU_GETTEXT_VERSION([0.14.3])
AC_OUTPUT
END
-: >Makefile.am
+: > Makefile.am
+: > config.rpath
mkdir po intl
-# config.rpath is required by versions >= 0.14.3. We try to verify
-# this requirement, but only when we find we have a working and recent
-# gettext installation.
-
-# If aclocal fails here, it may be that gettext is too old to
-# provide AM_GNU_GETTEXT_VERSION.
-if $ACLOCAL; then
-
- # autopoint will fail if it's from an older version.
- # If gettext is too old to provide autopoint, this will
- # fail as well, so we're safe here.
- if autopoint -n; then
- AUTOMAKE_fails --add-missing
- grep 'required.*config.rpath' stderr
- fi
-fi
-
-: >config.rpath
-sed '/AM_GNU_GETTEXT_VERSION/d' configure.ac >configure.tmp
-mv -f configure.tmp configure.ac
-
$ACLOCAL
+$AUTOCONF
# po/ and intl/ are required.
@@ -70,18 +50,9 @@ echo 'SUBDIRS = po intl' >Makefile.am
$AUTOMAKE --add-missing
# Make sure distcheck runs './configure --with-included-gettext'.
-grep 'with-included-gettext' Makefile.in
-
-# 'SUBDIRS = po intl' isn't required if po/ doesn't exist.
-# PR/381.
+./configure
+echo distdir: > po/Makefile
+echo distdir: > intl/Makefile
+$MAKE -n distcheck | grep '.*--with-included-gettext'
-rmdir po
-mkdir sub
-echo 'SUBDIRS = sub' >Makefile.am
-$AUTOMAKE
-
-# Still, SUBDIRS must be defined.
-
-: >Makefile.am
-AUTOMAKE_fails --add-missing
-grep 'AM_GNU_GETTEXT.*SUBDIRS' stderr
+:
diff --git a/t/gettext-config-rpath.sh b/t/gettext-config-rpath.sh
new file mode 100644
index 000000000..d99e36184
--- /dev/null
+++ b/t/gettext-config-rpath.sh
@@ -0,0 +1,45 @@
+#! /bin/sh
+# Copyright (C) 2002-2013 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 the config.rpath requirement.
+
+required='gettext'
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AM_GNU_GETTEXT
+# config.rpath is required by versions >= 0.14.3.
+AM_GNU_GETTEXT_VERSION([0.14.3])
+AC_OUTPUT
+END
+
+echo 'SUBDIRS = po intl' >Makefile.am
+mkdir po intl
+
+# If aclocal fails here, it may be that gettext is too old to provide
+# AM_GNU_GETTEXT_VERSION. Similarly, autopoint will fail if it's
+# from an older version. If gettext is too old to provide autopoint,
+# this will fail as well, so we're safe here.
+if ! $ACLOCAL && autopoint -n; then
+ skip_ "too old gettext installation"
+fi
+
+AUTOMAKE_fails --add-missing
+grep '^configure\.ac:.*required file.*config.rpath' stderr
+: > config.rpath
+$AUTOMAKE
+
+:
diff --git a/t/gettext2.sh b/t/gettext-external-pr338.sh
index e6a8922aa..c82af6995 100644
--- a/t/gettext2.sh
+++ b/t/gettext-external-pr338.sh
@@ -29,6 +29,7 @@ END
mkdir foo po
$ACLOCAL
+$AUTOCONF
# config.rpath is required.
: >config.rpath
@@ -47,9 +48,12 @@ grep 'AM_GNU_GETTEXT.*po' stderr
echo 'SUBDIRS = po' >Makefile.am
$AUTOMAKE --add-missing
+
# Don't try running ./configure --with-included-gettext if the
# user is using AM_GNU_GETTEXT([external]).
grep 'with-included-gettext' Makefile.in && exit 1
+./configure
+$MAKE -n distcheck | grep 'with-included-gettext' && exit 1
# intl/ isn't wanted with AM_GNU_GETTEXT([external]).
diff --git a/t/gettext3.sh b/t/gettext-intl-subdir.sh
index 28b26a0cd..a33f249b2 100644
--- a/t/gettext3.sh
+++ b/t/gettext-intl-subdir.sh
@@ -45,3 +45,5 @@ grep 'AM_GNU_GETTEXT.*intl.*SUBDIRS' stderr
echo 'SUBDIRS = po intl' > Makefile.am
$AUTOMAKE --add-missing
+
+:
diff --git a/t/gettext-pr381.sh b/t/gettext-pr381.sh
new file mode 100644
index 000000000..ebf047d7c
--- /dev/null
+++ b/t/gettext-pr381.sh
@@ -0,0 +1,45 @@
+#! /bin/sh
+# Copyright (C) 2002-2013 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/>.
+
+# Automake gettext support: regression check for PR/381:
+# 'SUBDIRS = po intl' must not be required if 'po/' doesn't exist.
+
+required='gettext'
+. test-init.sh
+
+cat >> configure.ac << 'END'
+AM_GNU_GETTEXT
+AC_OUTPUT
+END
+
+$ACLOCAL
+
+: > config.guess
+: > config.rpath
+: > config.sub
+
+test ! -d po # Sanity check.
+mkdir sub
+echo 'SUBDIRS = sub' > Makefile.am
+$AUTOMAKE
+
+# Still, SUBDIRS must be defined.
+
+: > Makefile.am
+AUTOMAKE_fails
+grep '^configure\.ac:.*AM_GNU_GETTEXT used but SUBDIRS not defined' stderr
+
+:
diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk
index d4e15892d..d4d1fda99 100644
--- a/t/list-of-tests.mk
+++ b/t/list-of-tests.mk
@@ -484,9 +484,11 @@ t/gcj3.sh \
t/gcj4.sh \
t/gcj5.sh \
t/gcj6.sh \
-t/gettext.sh \
-t/gettext2.sh \
-t/gettext3.sh \
+t/gettext-basics.sh \
+t/gettext-config-rpath.sh \
+t/gettext-external-pr338.sh \
+t/gettext-intl-subdir.sh \
+t/gettext-pr381.sh \
t/gnumake.sh \
t/gnuwarn.sh \
t/gnuwarn2.sh \