diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-04-06 13:12:25 +0200 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-04-06 21:29:30 +0200 |
commit | 8a5096d150cf9803b8963768b7366cd68edcce03 (patch) | |
tree | a49c0e54876b8b9877d7ca2df386377e7b6037d1 /t/ltconv.sh | |
parent | f8e822bbc197f01fc722aa6def7cddb4182e3c66 (diff) | |
download | automake-8a5096d150cf9803b8963768b7366cd68edcce03.tar.gz |
tests: rename 'tests/' => 't/', '*.test' => '*.sh'
When we (soon) convert the Automake testsuite to a non-recursive
make setup, we'll have to fix the entries of $(TESTS) to be
prepended with the subdirectory they are in; this will increase
the length of $(TESTS), and thus increase the possibility of
exceeding the command-line length limits on some systems (most
notably, MinGW/MSYS). See automake bug#7868 for more information.
Thus we rename the 'tests/' subdirectory to 't/', and each 'x.test'
script in there to 'x.sh'; this way, the $(TESTS) entry 'foo.test'
will become 't/foo.sh', which have the same number of characters.
* tests/: Rename ...
* t/: ... to this.
* t/*.test: Rename ...
* t/*.sh: ... to this.
* t/.gitignore: Removed as obsolete.
* t/defs: Adjust.
* t/gen-testsuite-part: Likewise.
* t/list-of-tests.mk: Likewise.
* t/ccnoco.sh: Likewise.
* t/ccnoco3.sh: Likewise.
* t/self-check-cleanup.tap: Likewise.
* t/self-check-dir.tap: Likewise.
* t/self-check-me.tap: Likewise.
* t/self-check-reexec.tap: Likewise.
* README: Likewise.
* bootstrap: Likewise
* configure.ac: Likewise.
* Makefile.am: Likewise.
* .gitignore: Likewise.
* syntax-check.mk: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 't/ltconv.sh')
-rwxr-xr-x | t/ltconv.sh | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/t/ltconv.sh b/t/ltconv.sh new file mode 100755 index 000000000..19ed8b34b --- /dev/null +++ b/t/ltconv.sh @@ -0,0 +1,156 @@ +#!/bin/sh +# Copyright (C) 2003-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/>. + +# Test for libtool convenience libraries. +# This example is taken from the manual. + +required='cc native libtoolize' +. ./defs || Exit 1 + +cat >>configure.ac <<'END' +AC_PROG_CC +AM_PROG_AR +AC_PROG_LIBTOOL +AC_CONFIG_FILES([sub1/Makefile + sub2/Makefile + sub2/sub21/Makefile + sub2/sub22/Makefile]) +AC_OUTPUT +END + +mkdir sub1 +mkdir sub2 +mkdir sub2/sub21 +mkdir sub2/sub22 +mkdir empty + +cat >Makefile.am <<'END' +SUBDIRS = sub1 sub2 +lib_LTLIBRARIES = libtop.la +libtop_la_SOURCES = +libtop_la_LIBADD = \ + sub1/libsub1.la \ + sub2/libsub2.la + +bin_PROGRAMS = ltconvtest +ltconvtest_SOURCES = test.c +ltconvtest_LDADD = libtop.la + +check-local: + ./ltconvtest$(EXEEXT) + : > check-ok +installcheck-local: + $(bindir)/ltconvtest$(EXEEXT) + : > installcheck-ok +END + +cat >sub1/Makefile.am <<'END' +noinst_LTLIBRARIES = libsub1.la +libsub1_la_SOURCES = sub1.c +END + +echo 'int sub1 () { return 1; }' > sub1/sub1.c + +cat >sub2/Makefile.am <<'END' +SUBDIRS = sub21 sub22 +noinst_LTLIBRARIES = libsub2.la +libsub2_la_SOURCES = sub2.c +libsub2_la_LIBADD = \ + sub21/libsub21.la \ + sub22/libsub22.la +END + +echo 'int sub2 () { return 2; }' > sub2/sub2.c + +cat >sub2/sub21/Makefile.am <<'END' +noinst_LTLIBRARIES = libsub21.la +libsub21_la_SOURCES = sub21.c +END + +echo 'int sub21 () { return 21; }' > sub2/sub21/sub21.c + +cat >sub2/sub22/Makefile.am <<'END' +noinst_LTLIBRARIES = libsub22.la +libsub22_la_SOURCES = sub22.c +END + +echo 'int sub22 () { return 22; }' > sub2/sub22/sub22.c + +cat >test.c <<'EOF' +#include <stdio.h> +int main () +{ + if (1 != sub1 ()) + return 1; + if (2 != sub2 ()) + return 2; + if (21 != sub21 ()) + return 3; + if (22 != sub22 ()) + return 4; + return 0; +} +EOF + +libtoolize +$ACLOCAL +$AUTOCONF +$AUTOMAKE --add-missing + +# Install libraries in lib/, programs in bin/, and the rest in empty/. +# (in fact there is no "rest", so as the name imply empty/ is +# expected to remain empty). +./configure "--prefix=`pwd`/empty" "--libdir=`pwd`/lib" "--bindir=`pwd`/bin" + +$MAKE +test -f libtop.la +test -f sub1/libsub1.la +test -f sub2/libsub2.la +test -f sub2/sub21/libsub21.la +test -f sub2/sub22/libsub22.la +$MAKE check +test -f check-ok +rm -f check-ok + +$MAKE install +test -f lib/libtop.la +$MAKE installcheck +test -f installcheck-ok +rm -f installcheck-ok + +find empty -type f -print > empty.lst +cat empty.lst +test 0 = `wc -l < empty.lst` + +$MAKE clean +test ! -f libtop.la +test ! -f sub1/libsub1.la +test ! -f sub2/libsub2.la +test ! -f sub2/sub21/libsub21.la +test ! -f sub2/sub22/libsub22.la +test ! -f ltconvtest + +$MAKE installcheck +test -f installcheck-ok +rm -f installcheck-ok + +$MAKE uninstall +find lib -type f -print > lib.lst +test 0 = `wc -l < lib.lst` +find bin -type f -print > bin.lst +test 0 = `wc -l < bin.lst` + +: |