tests: some improvements to Gettext tests
authorStefano Lattarini <stefano.lattarini@gmail.com>
Sun, 16 Jun 2013 09:36:55 +0000 (11:36 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Sun, 16 Jun 2013 09:36:55 +0000 (11:36 +0200)
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>
t/gettext-basics.sh [moved from t/gettext.sh with 53% similarity]
t/gettext-config-rpath.sh [new file with mode: 0644]
t/gettext-external-pr338.sh [moved from t/gettext2.sh with 94% similarity]
t/gettext-intl-subdir.sh [moved from t/gettext3.sh with 99% similarity]
t/gettext-pr381.sh [new file with mode: 0644]
t/list-of-tests.mk

similarity index 53%
rename from t/gettext.sh
rename to t/gettext-basics.sh
index 496602d..d128a0d 100644 (file)
 # 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 (file)
index 0000000..d99e361
--- /dev/null
@@ -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
+
+:
similarity index 94%
rename from t/gettext2.sh
rename to t/gettext-external-pr338.sh
index e6a8922..c82af69 100644 (file)
@@ -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]).
 
similarity index 99%
rename from t/gettext3.sh
rename to t/gettext-intl-subdir.sh
index 28b26a0..a33f249 100644 (file)
@@ -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 (file)
index 0000000..ebf047d
--- /dev/null
@@ -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
+
+:
index d4e1589..d4d1fda 100644 (file)
@@ -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 \