Commit Graph

601 Commits

Author SHA1 Message Date
Peter O'Gorman
0263ff229b Pass resident test with --disable-shared too.
* tests/resident.at: use LTDL_SET_PRELOADED_SYMBOLS.
2010-06-14 11:04:17 -05:00
Peter O'Gorman
7b9d7e4af3 Avoid failure for --disable-shared.
* tests/lt_dladvise.at: Hack.
2010-06-13 22:30:53 -05:00
Peter O'Gorman
83b2c36410 Use LTDL_SET_PRELOADED_SYMBOLS to avoid failure.
* tests/exceptions.at: Use it.
2010-06-13 22:30:08 -05:00
Peter Rosin
2a42785373 Improve libdir usage from within ltdl on MinGW.
* libltdl/ltdl.c (parse_dotla_file) [__WINDOWS__]: Read the
libdir entry in the .la file, but accept it only if it is not
a unix-style absolute name.
* tests/ltdl-libdir.at: New test that checks if ltdl finds an
installed module via the libdir variable in the .la file.  On
MinGW, use a Windows-style libdir name including drive spec.
* Makefile.am: Add above.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-06-12 10:09:26 +02:00
Peter O'Gorman
d4558ac9be Skip bindir install test if we're not building shared.
* tests/bindir.at: Skip install test if necessary.
* THANKS: Update.
Report by Michael E Faenza.
2010-06-11 14:39:31 -05:00
Ralf Wildenhues
8f241f6eaa Factorize testing gcj installation in the testsuite.
* tests/testsuite.at (LT_AT_TAG): For the GCJ tag, actually
try to compile a .java file when deciding whether to skip.
(LT_AT_EXEC_TAG): New macro, to also ensure runnability.
* tests/convenience.at (Java convenience archives): Use
LT_AT_EXEC_TAG, simplify accordingly.
* tests/flags.at (passing lt_tag flags through libtool): Use
m4_defn for tag so LT_AT_TAG works.
* tests/infer-tag.at (GCJ inferred tag): Simplify.
* THANKS: Update.
Report by Warren Dodge.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-06-09 19:41:13 +02:00
Peter O'Gorman
15017972c5 Skip demo-nopic tests if SELinux policy will cause failure.
* tests/demo-nopic.test: Check SELinux policy and skip if
necessary.
2010-06-09 11:45:51 -05:00
Ralf Wildenhues
e0c89b9a07 Fix testsuite helper macros to not hide failure.
* tests/testsuite.at (LT_AT_CONFIGURE, LT_AT_MAKE):
Do not wrap AT_CHECK in a subshell, so that failures are
properly propagated; instead, move environment changes inside
the AT_CHECK code.
Report and analysis by Peter Rosin.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-06-08 21:23:08 +02:00
Ralf Wildenhues
0e3d88b839 Make versioning test stricter for w32, enable shared libs.
* tests/versioning.at (versioning): Add -no-undefined to
LDFLAGS.
(test_uninstalled): Also move $bindir out of the way
temporarily.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-06-07 22:39:23 +02:00
Ralf Wildenhues
9a801684f6 Fix versioning test for LDFLAGS=-Wl,--as-needed.
* tests/versioning.at (versioning): For the library update
hypotheses, ensure the unchanged library libb isn't accidentally
relinked against the new liba, by not reinstalling libb.
Fixes testsuite failure for the incompatible update case with
LDFLAGS=-Wl,--as-needed.
* THANKS: Update.
Report by Ryan Hill.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-06-07 22:31:26 +02:00
Gary V. Vaughan
066a70fd86 Skip some tests in --disable-ltdl-install mode.
* tests/dlloader-api.at, tests/exceptions.at,
tests/lalib-syntax.at, tests/loadlibrary.at,
tests/lt_dlopenext.at, tests/resident.at: Detect when these
tests try to link against the not installed libltdl.la, and
skip rather than FAIL.
2010-05-21 04:21:38 +07:00
Ralf Wildenhues
3d0fc4870e Fix incompatible struct declarations.
* doc/libtool.texi (Dlpreopening): Remove broken documentation
of lt_dlsymbol and lt_dlsymlist.  Document typedef lt_dlsymlist
and symbol lt_preloaded_symbols according to the implementation.
* tests/demo/dlmain.c (lt_symlist): Make struct anonymous ...
(lt_dlsymlist): ... and typedef to this name.
(lt_preloaded_symbols, main): Adjust.
* tests/pdemo/longer_file_name_dlmain.c: Likewise.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-04-09 21:37:09 +02:00
Pierre Ossman
7efdc2482e Fix deplibs check fallback for 64-bit Windows and Windows CE.
* libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): Accept file formats
'pe-arm-wince' and 'pe-x86-64'.  Add note about consistency with ...
* libltdl/config/ltmain.m4sh (func_win32_libid): ... the respective
pattern here; sync pattern from the former.
* tests/deplibs-mingw.at (deplibs without file command): New
file, new test.
* Makefile.am (TESTSUITE_AT): Update.
* NEWS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-02-28 05:46:16 +01:00
Charles Wilson
2613ea3ab2 Enable runtime cwrapper debugging; add tests
* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src):
Update comments. Initialize program_name. Eliminate _LENGTH
variables for string constants. In debug mode, print a
banner with known content before any other output. Remove
LTWRAPPER_DEBUGPRINTF macro. Add constants and variables
to support new --lt-debug option.
(func_emit_cwrapperexe_src:ltwrapper_debugprintf): Renamed to...
(func_emit_cwrapperexe_src:lt_debugprintf): this. Only print
messages if lt_debug != 0. Ensure appearance of messages
conforms to GCS.
(func_emit_cwrapperexe_src:lt_fatal): Ditto.
(func_emit_cwrapperexe_src:lt_error_core): Ditto.
(func_emit_cwrapperexe_src): Update all callers to lt_fatal.
Update all users of LTWRAPPER_DEBUGPRINTF (()) to call
lt_debugprintf () directly.
(func_emit_cwrapperexe_src:main): Consolidate option parsing.
Ensure first use of lt_debugprintf occurs after option parsing.
Add stanza to parse for --lt-debug and set lt_debug variable.
Use strcmp rather than strncmp, where safe.
* tests/cwrapper.at: Add new tests for --lt-debug and
-DLT_DEBUGWRAPPER.
2010-02-21 00:32:17 -05:00
Ralf Wildenhues
2080fe9649 Make testsuite code C++ clean again.
* tests/resident.at (resident modules): Fix for C++.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-01-31 15:33:27 +01:00
Peter Rosin
e4eefcd401 Testsuite exposure for dlloader API.
* tests/dlloadet-api.at: New file, new test.
* Makefile.am (TESTSUITE_AT): Update.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-01-29 09:04:13 +01:00
Peter Rosin
f4c63234c9 * tests/loadlibrary.at: Fix C++ issues.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-01-29 08:50:13 +01:00
Peter Rosin
080e088e42 Report proper errors from the loadlibrary loader.
* libltdl/loaders/loadlibrary.c (loadlibraryerror): New
helper function that returns the latest Windows error as a
string, or the provided default string on failure to do so.
(LOADLIB_SETERROR): New macro that wraps previous to make it
easy to use.
(vm_open, vm_close, vm_sym): Make use of previous.
(LOCALFREE): New macro to help free the Windows error string.
(vl_exit): Make use of previous.
* tests/loadlibarry.at: New file, new test that makes sure
the loadlibrary loader reports non-standard error messages.
* Makefile.am (TESTSUITE_AT): Add above test.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2010-01-21 08:42:12 +01:00
Ralf Wildenhues
a75f8acf28 Ensure functions from resident modules work in atexit handlers.
* tests/resident.at (resident modules): New file, new test.
* Makefile.am (TESTSUITE_AT): Adjust.
Report by Bob Friesenhahn.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-01-11 21:56:23 +01:00
Ralf Wildenhues
574b79474a Testsuite exposure for relative output file names and deplibs.
* tests/deplib-in-subdir.at (deplib in subdir): New file, new
test.
* Makefile.am (TESTSUITE_AT): Update.
Prompted by report from Bob Friesenhahn.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-01-11 21:49:38 +01:00
Ralf Wildenhues
85223ba6a4 Testsuite exposure for C++ exception handling.
* tests/exceptions.at (C++ exception handling): New file, new
test.
* Makefile.am (TESTSUITE_AT): Update.
Report by Bob Friesenhahn.
2010-01-11 21:21:13 +01:00
Ralf Wildenhues
93f5529731 Improve parsing of .la files in libltdl.
* libltdl/ltdl.c (trim): Do not dump core upon missing quote in
module .la file.
* tests/lalib-syntax.at (syntax of .la files): New file, new
test.
* Makefile.am (TESTSUITE_AT): Add tests/lalib-syntax.at.
Report by Bob Friesenhahn.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-12-09 07:28:59 +01:00
Ralf Wildenhues
31eb92de4f Sane fallback initialization of $ECHO from $as_echo.
* libltdl/config/general.m4sh: Use 'printf %s\n' if $as_echo is
unset.
* tests/testsuite.at: Likewise.
* THANKS: Update.
Report by Vadim Zeitlin and Peter Rosin.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-12-05 15:50:56 +01:00
Ralf Wildenhues
fea7fdee4e Test and fix slist.c.
* libltdl/libltdl/slist.h: Include stddef.h, for size_t.
(slist_remove): Return pointer to SList, not void.
* libltdl/slist.c: Include stdlib.h, for malloc and free.
(slist_remove): Adjust prototype as above.
(slist_sort): Do not loop forever on one-item list.
* tests/slist.at (SList functionality): New file, new test.
* Makefile.am (TESTSUITE_AT): Add tests/slist.at.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-12-02 23:13:05 +01:00
Ralf Wildenhues
b15f6f9ded Fix bindir and dlopen tests for C++ compilers (CC=g++).
* tests/bindir.at (bindir basic lib test, bindir install tests):
Include stdlib.h rather than declaring abort.
* tests/lt_dlopenext.at (lt_dlopenext error messages): Use
`extern "C"' annotation for dlsym'ed function in C++ mode.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-11-29 23:03:14 +01:00
Peter Rosin
4137bb8a15 Fix cross build issue in execute mode test.
* tests/execute-mode.at: Skip test for cross builds.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2009-11-25 17:29:34 -05:00
Bob Friesenhahn
e91f7b9600 Don't load module.la from current directory by default.
* libltdl/ltdl.c (try_dlopen): Do not attempt to load an
unqualified module.la file from the current directory (by
default) since doing so is insecure and is not compliant with
the documentation.
* tests/testsuite.at: Qualify access to module.la file in
current directory so that test passes.
2009-11-15 20:50:02 -06:00
Peter O'Gorman
3580cddcea Only use preopen loader to load preopened archives
* libltdl/ltdl.c: Limit checking of .a to preopen loader.
* tests/lt_dlopen_a.at: Add test.
* Makefile.am: Add test.
2009-11-15 20:49:55 -06:00
Dave Korn
6858ed03d8 Control where win32 DLLs get installed.
* libltdl/config/general.m4sh (func_normal_abspath): New function.
(func_relative_path): Likewise.
* libltdl/config/ltmain.m4sh (func_mode_help): Document "-bindir".
(func_mode_link): Accept new "-bindir" option and use it, if
supplied, to place Windows DLLs.
* tests/bindir.at: New file for install tests using "-bindir".
* Makefile.am (TESTSUITE_AT): Add bindir.at.
* doc/libtool.texi (Link Mode): Update documentation.
* NEWS, THANKS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-09-12 08:23:03 +02:00
Ralf Wildenhues
1e4e1984b0 Fix and split recent testsuite addition for compile/link flags.
* tests/flags.at (passing flags through libtool): Split into ...
(passing CC flags through libtool)
(passing CXX flags through libtool)
(passing F77 flags through libtool)
(passing FC flags through libtool)
(passing GCJ flags through libtool): ... these five tests,
factorized with m4_foreach.  Fix F77 and FC compile and link
commands; add GCJ tag.  Use LT_AT_TAG to correctly skip tags
for which no compiler exists.  Use $EXEEXT where appropriate.
Drop unneeded use of reload_cmds.
Reports by Peter Rosin and Peter O'Gorman.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-09-08 20:02:57 +02:00
Peter O'Gorman
91697c2092 Fix redirect in test case.
tests/darwin.at: Fix stderr redirect.
2009-09-07 15:17:03 -05:00
Peter O'Gorman
4ad8b63bd1 Use darwin's -force_load flag if available for whole_archive_flag_spec
* libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Check for
-force_load and use it if there.
* tests/darwin.at: Add a simple test.
2009-09-07 00:41:58 -05:00
Ralf Wildenhues
2eb8c3e51f Testsuite keyword 'interactive' and check-* rules.
* Makefile.am (testsuite_deps, testsuite_deps_uninstalled):
New variables.
(check-local, installcheck-local): Use them.
(check-interactive, check-noninteractive): New rules.
* tests/link-order2.at (Link order of deplibs),
tests/static.at (static linking flags for programs): Add keyword
`interactive'.
* doc/libtool.texi (Test descriptions): Document all keywords
used in the Libtool test suite.
* NEWS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-09-06 19:38:06 +02:00
Ralf Wildenhues
0805518173 Fix failure test in the presence of --with-pic or -prefer-pic.
* tests/fail.at (Failure tests): Run non-PIC failure test only
if pic_mode is 'default' or 'no', rather than 'default' or 'yes'
and also -prefer-pic has not been passed in $CFLAGS.
* THANKS: Update.
Report by Donn Washburn.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-09-06 12:42:34 +02:00
Ralf Wildenhues
8c35d79757 Add testsuite exposure for passing of compiler and linker flags.
* tests/flags.at (passing flags through libtool): New file, new
test, for bug fixed in previous commit.
* Makefile.am (TESTSUITE_AT): Add tests/flags.at.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-09-06 09:57:55 +02:00
Roumen Petrov
04329d8355 Fixup 'execute mode' test for w32.
* tests/execute-mode.at (execute mode): Add missing $EXEEXT.
(LDFLAGS): Add -no-undefined.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-07-25 11:32:26 +02:00
Ralf Wildenhues
2772d14559 Add versioning tests.
* tests/versioning.at (versioning): New file, new test.
* Makefile.am (TESTSUITE_AT): Adjust.
Prompted by bug report from Mike Gorchak.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-06-14 12:03:31 +02:00
Ralf Wildenhues
8a08afac5d Avoid spurious localization testsuite failure on HP-UX/ia64.
* tests/localization.at (localized compiler messages): Skip test
if the compiler warning output contains `locale', for HP-UX.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-06-14 11:35:59 +02:00
Ralf Wildenhues
b04fe8e6da Fix concurrent extraction of convenience libraries on Darwin.
* libltdl/m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE): New libtool
variable `lock_old_archive_extraction', set to `yes' on darwin.
* doc/libtool.texi (libtool script contents): Document it.
* libltdl/config/ltmain.m4sh (func_extract_an_archive): Lock
`ar x' invocation if `lock_old_archive_extraction' is yes.
* tests/darwin.at (darwin concurrent library extraction): New
test.
* NEWS: Update.
Report by Akim Demaille.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-06-10 19:47:33 +02:00
Ralf Wildenhues
efe1cfec71 Fix testsuite failure of lt_dlopenadvise test on FreeMiNT.
* tests/lt_dladvise.at (lt_dlopenadvise library loading): Do not
build moddepend for systems without shared libraries.
Report by Alan Hourihane.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-06-07 16:35:45 +02:00
Ralf Wildenhues
f578833bb8 testsuite: avoid failures due to old Automake.
* tests/configure-iface.at (installable libltdl)
(--with-ltdl-include/lib, --with-included-ltdl):
Speficy libmodule_la_SOURCES in Makefile.am as the default
source file naming scheme changed in Automake 1.8.
* tests/nonrecursive.at (_LT_AT_LTDL_SETUP): Require Automake
1.9.6.
* THANKS: Update.
Report by Robert Garron.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-06-07 12:01:56 +02:00
Ralf Wildenhues
d812c6326b testsuite: add missing @LIBS@ in a link command line.
* tests/old-m4-iface.at (AC_WITH_LTDL): Use @LIBS@ when linking.
Report by Patrice Fromy.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-06-07 11:58:59 +02:00
Ralf Wildenhues
740565c4fd testsuite: cope when some installed libltdl.la has been removed.
* tests/old-m4-iface.at (AC_WITH_LTDL): Pass --with-included-ltdl
to configure, to ensure we do not accidentally link against a
previously installed libltdl.so where the corresponding .la
file has been removed, thus we do not add a run path, and the
runtime linker then fails to find libltdl.so.7.
* tests/configure-iface.at (--with-ltdl-include/lib): Remove -L
flags from LDFLAGS to avoid picking up an installed libltdl
outside of the default locations.
* THANKS: Update.
Prompted by report from Patrice Fromy.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-06-07 11:42:17 +02:00
Ralf Wildenhues
848215b440 Skip localization test when setlocale is not functional.
* tests/localization.at (localized compiler messages): Skip
test when there is a warning about `LC_ALL'.
* THANKS: Update.
Report by Maciej Helminiak.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-05-02 10:55:23 +02:00
Peter Rosin
b3072b0b37 LT_OUTPUT should always create the libtool script.
* libltdl/m4/libtool.m4 (LT_OUTPUT): Make LT_OUTPUT ignore the
--no-create configure option, and assume that the user wants
to use an up-to-date libtool script if the LT_OUTPUT macro is
present.
* tests/early-libtool.at: Make sure we do not regress.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2009-03-20 16:42:55 +01:00
Ralf Wildenhues
c1cd198697 Document INNER_TESTSUITEFLAGS, drop leading space.
* README: Document INNER_TESTSUITEFLAGS.
* tests/cmdline_wrap.at (Run tests with low max_cmd_len):
When using INNER_TESTSUITEFLAGS on the testsuite invocation,
drop leading space after "-k libtool", so that the user may
further limit the set of tests to be run.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-03-03 19:53:46 +01:00
Ralf Wildenhues
9e9ba5e0e2 Do not pass $INSTALL via TESTS_ENVIRONMENT.
* Makefile.am (TESTS_ENVIRONMENT): Set lt_INSTALL, not INSTALL,
so that a bogus relative path to the install-sh script in the
source tree is not propagated to the configure scripts of the
old test suite.
* tests/testsuite.at: Adjust.
* tests/install.at (Install tests): Likewise.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-02-16 21:59:34 +01:00
Ralf Wildenhues
77e1149984 New test for lt_dlopenext error message.
* tests/lt_dlopenext.at (lt_dlopenext error messages): New file,
with new test, with sources taken from the Autobook example.
* Makefile.am: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-02-03 08:15:36 +01:00
Ralf Wildenhues
5f24ee188d Fix sed script in install.at.
* tests/install.at (Install tests): Fix typo in sed script,
fixes test failure on HP-UX.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-02-01 15:42:44 +01:00
Ralf Wildenhues
6d08820f7c Fix $INSTALL in testsuite with relative path to install-sh.
* tests/testsuite.at: If `$INSTALL' points to in-tree
install-sh, override a possibly-relative path to it with an
absolute one.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-02-01 15:41:52 +01:00
Jeff Squyres
af91ea10b4 New test for bogus lt_dlopen error message.
* tests/lt_dlopen.at (lt_dlopen error messages): New file, new
test, marked as XFAIL for now.
* Makefile.am: Adjust.
Report and reproducible test case by Jeff Squyres.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-01-31 16:07:50 +01:00
Ralf Wildenhues
92a785fd7e execute mode: do not transform *.lo or *.la arguments.
* libltdl/config/ltmain.m4sh (func_mode_execute): Do not check
arguments matching *.lo or *.la for script wrappers.
* tests/execute-mode.at (execute mode): Add tests.
* NEWS, THANKS: Update.
Report by Paul Biggar.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-01-31 15:00:10 +01:00
Ralf Wildenhues
a8bb7bd817 Nonexistent `main' does not guarantee link failure.
* tests/fail.at (Failure tests): Use an unresolved symbol,
rather than non-presence of `main', to provoke a link failure
also on QNX.  Only check for failure of the libtool script if
the link without libtool would have failed, too.
Report by Mike Gorchak.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-01-31 11:40:42 +01:00
Ralf Wildenhues
5e43c14cc9 Use AT_CHECK more liberally in duplicate members test.
* tests/duplicate_members.at (duplicate members in archive
tests): Wrap link commands in AT_CHECK, they might fail, as seen
on QNX.
* THANKS: Update.
Report by Mike Gorchak.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-01-31 11:27:11 +01:00
Akim Demaille
13ef1b34b7 Fix func_exec_init.
* tests/defs.m4sh (func_exec_init): Instead of using the undefined
	my_dir, call func_dirname_and_basename and use its result.
	(func_make): For consistency, don't use the useless local variable
	my_dir.
2009-01-29 20:37:13 +01:00
Ralf Wildenhues
b93a3db892 Document --mode short-hands better, and test them.
* doc/libtool.texi (Invoking libtool): Give examples for using
the `--mode=MODE' short-hand `MODE', or abbreviations thereof.
* libltdl/config/ltmain.m4sh: Mention the short-hand for MODE
in the --help output.
* tests/help.at (mode short-hands): New test group.
Suggestion by Bruno Haible.
2009-01-29 19:55:19 +01:00
Ralf Wildenhues
18c603141e func_version copes with multi-line copyright headers.
* libltdl/config/getopt.m4sh (func_version): Slurp in copyright
lines until a period is found.
* libltdl/config/ltmain.m4sh: Multi-line copyright is ok to use
now.
* tests/help.at (standard command line options): New file, new
tests.  Make this test group the first one for libtool tests,
moving the banner ...
* tests/duplicate_members.at: ... from here.
* Makefile.am (TESTSUITE_AT): Add tests/help.at.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-01-29 18:53:13 +01:00
Akim Demaille
3e0beef8eb Normalize compiler output due to compiler wrappers.
* tests/testsuite.at (LT_AT_NORMALIZE_COMPILER_OUTPUT): New
macro, to normalize ccache and distcc output.
* tests/localization.at (localized compiler messages): Use it.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-01-29 18:39:58 +01:00
Peter Rosin
d356bfc32f Make modified libtool script in cwrapper test executable
* tests/cwrapper.at: Make modified libtool script executable.
Report by Roumen Petrov.
2009-01-29 08:55:08 +01:00
Charles Wilson
eaba16eb3a Add -Wall to cwrapper tests.
* tests/cwrapper.at: Add -Wall existing tests. Add additional
round of tests with -Wall alone.
2009-01-24 12:10:18 -05:00
Peter Rosin
0aef3579d2 Expand exit status test in LT_AT_NOINST_EXEC_CHECK correctly
* tests/testsuite.at (LT_AT_NOINST_EXEC_CHECK): STATUS is
argument $3, not $2.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-01-24 11:18:15 +01:00
Charles Wilson
a4e69ccbed Add tests for cwrapper with -std=c89 and -std=c99
* tests/cwrapper.at: New file.
* Makefile.am: Add tests/cwrapper.at.
2009-01-23 08:33:48 -05:00
Peter Rosin
3cf5eb63a6 Merge branch 'pr-tests-newline-fixes' 2009-01-22 23:42:18 +01:00
Peter Rosin
f9adc3ec9c Unify line endings in localization test.
* tests/testsuite.at: Update copyright year.
(LT_AT_UNIFY_NL): Add macro that unifies line endings on
platforms that suffer from such confusion.
* tests/localization.at: Use it. Update copyright year. Fixes
the test on MSYS/MSVC.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-01-22 23:41:06 +01:00
Ralf Wildenhues
72cefc2f63 Avoid failure due to Cygwin path detection bug.
* tests/execute-mode.at (execute mode): Ignore noise on stderr;
Cygwin might consider `d\"e' to be a DOS-style path and warn.
Report by Charles Wilson.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-01-19 23:55:07 +01:00
Ralf Wildenhues
5e4f908446 Another LT_AT_EXEC_CHECK fixup.
* tests/shlibpath.at (shlibpath_overrides_runpath): Use
LT_AT_EXEC_CHECK instead of AT_CHECK.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-01-19 21:54:52 +01:00
Roumen Petrov
0c0c502b96 Add missing $EXEEXT to java test.
* tests/convenience.at (Java convenience archives): Add $EXEEXT.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-01-19 21:50:39 +01:00
Peter Rosin
a2939b133b Fix flakey mdemo-dryrun test on MSYS (again!)
* tests/mdemo-dryrun.test: ls -l in MSYS sometimes shows year,
not time, for really fresh files. Add sleep 1 call at yet another
strategic position. Makes the test pass reliably for MSYS/MinGW.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2009-01-14 09:04:40 +01:00
Ralf Wildenhues
b7dbec6b9d Add cache variables to link tests.
* libltdl/m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER)
(_LT_LINKER_SHLIBS): Add cache variables to tests that
require the linker to work.  For shlibpath_overrides_runpath,
this also changes the semantics to let the result from the C
compiler take precedence.
* tests/no-executables.at (AC_NO_EXECUTABLES): New file.
* Makefile.am: Update.
* NEWS: Update.
Report of shlibpath_overrides_runpath issue by Mike Frysinger,
report of GCC issue by Andreas Schwab.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-12-17 20:42:45 +01:00
Ralf Wildenhues
aa68328616 Fix func_infer_tag $ECHO usage; some testsuite exposure.
* libltdl/config/ltmain.m4sh (func_infer_tag): Use func_echo_all
rather than $ECHO for possibly multiple arguments.
* tests/infer-tag.at (inferred tag, CXX inferred tag)
(F77 inferred tag, FC inferred tag, GCJ inferred tag): New file,
new tests.
* Makefile.am: Adjust.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-24 21:49:23 +01:00
Ralf Wildenhues
3c4d63b15c Another missing $EXEEXT in the new testsuite.
* tests/runpath-in-lalib.at (Runpath in libtool library files):
Add $EXEEXT overlooked in patch yesterday.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-24 07:36:29 +01:00
Ralf Wildenhues
535175c0c8 Fix expout and experr line ending issues.
* tests/testsuite.at (LT_AT_HOST_DATA): Renamed from..
(_LT_AT_TRANSLATE_TEXT_OUTPUT): ..this.
(LT_AT_EXEC_CHECK, LT_AT_NOINST_EXEC_CHECK): Do not use
_LT_AT_TRANSLATE_TEXT_OUTPUT any more.
* tests/configure-iface.at: Use LT_AT_HOST_DATA instead of
AT_DATA for `expout' files.
* tests/lt_dladvise.at (lt_dlopenadvise library loading):
Likewise.
* tests/need_lib_prefix.at (enforced lib prefix): Likewise.
Report by Roumen Petrov.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-23 22:58:06 +01:00
Ralf Wildenhues
9abc9628e0 Relax link-order2 test for systems with partial wrong order.
* tests/link-order2.at (Link order of deplibs.): On w32 (and
others, e.g., AIX), the wrongly linked executable picks up only
one instance of the bad function instead of two; relax the test
to accept this; we still require the right link order with the
correctly linked executable.
Reported by Roumen Petrov and others.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-23 22:54:59 +01:00
Roumen Petrov
df2960ac0b Add $EXEEXT to all linked programs in the new testsuite.
* tests/convenience.at, tests/ctor.at, tests/darwin.at,
tests/deplibs-ident.at, tests/duplicate_conv.at,
tests/duplicate_deps.at, tests/duplicate_members.at,
tests/export.at, tests/fail.at, tests/indirect_deps.at,
tests/inherited_flags.at, tests/link-order.at,
tests/link-order2.at, tests/lt_dladvise.at, tests/lt_dlexit.at,
tests/need_lib_prefix.at, tests/runpath-in-lalib.at,
tests/search-path.at, tests/shlibpath.at, tests/static.at,
tests/stresstest.at, tests/template.at, tests/testsuite.at:
Use $EXEEXT throughout, except in Makefile.am snippets where
automake takes care of it, and in testsuite macros that take
care of the extension.
Reports by Roumen Petrov and Alon Bar-Lev.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-23 22:42:59 +01:00
Ralf Wildenhues
2258787e02 Adjust executable run tests to cwrapper changes.
* tests/testsuite.at (LT_AT_EXEC_CHECK): Accept fifth argument
ARGS-OR-STATUS-ADJUST, for command-line arguments and/or exit
status flattening.  Rewrite to prefer the executable with the
`.exe' prefix over one without.  Test exit status against
expected exit status, not against zero, when determining whether
this may be a cross-compilation-induced result.
(LT_AT_NOINST_EXEC_CHECK): Likewise.
* tests/static.at (static linking flags for programs): Adjust
calls.
Report by Roumen Petrov.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-23 22:35:58 +01:00
Ralf Wildenhues
c6d628415d No trailing period in Autotest test group names.
* tests/link-order.at (Link order test): Drop trailing period
from test name.
* tests/link-order2.at (Link order of deplibs): Likewise.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-23 21:10:23 +01:00
Ralf Wildenhues
90dff3e4da Avoid newlines in some AT_CHECK commands.
* tests/standalone.at (linking libltdl without autotools): Wrap
lines with dnl, to avoid turning off tracing of AT_CHECK.
* tests/subproject.at (linking libltdl without autotools):
Likewise.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-23 15:17:34 +01:00
Ralf Wildenhues
1c6333b7bf Replace uses of $SED $basename.
* libltdl/config/ltmain.m4sh (func_mode_link): Replace instances
of `$ECHO ... | $SED' with calls to func_basename.
* libtoolize.m4sh (func_copy, func_serial)
(func_massage_aclocal_DATA): Likewise, replace with
func_dirname_and_basename.
* tests/defs.m4sh (func_configure_nofail, func_make, func_exec):
Likewise.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-23 14:52:32 +01:00
Ralf Wildenhues
9c3d4d8f91 Revenge of the $ECHO. Kill most uses of Xsed.
* libltdl/config/general.m4sh: Replace all uses of `$ECHO "X..."
| $Xsed' with `$ECHO "..." | $SED', and employ further trivial
simplifications.  Replace $ECHO with echo where appropriate.
(func_echo_all): New function.
* libltdl/config/getopt.m4sh: Likewise simplifications.
* libltdl/config/ltmain.m4sh: Likewise.
* libltdl/m4/libtool.m4: Likewise.
(LT_CMD_MAX_LEN): Use func_fallback_echo, to ensure that the
command line is passed through an exec* function.
* libtoolize.m4sh: Likewise simplifications.  Use func_echo_all
to implement --dry-run.
* tests/defs.m4sh: Likewise simplifications.
* tests/quote.test: Likewise simplifications.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-23 14:42:06 +01:00
Ralf Wildenhues
4e7334c7c2 Fix match patterns for cegcc*.
* libltdl/config/ltmain.m4sh (func_mode_link): Match '*cegcc*'
instead of '*cegcc' for $host_os.
* libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): Likewise.
* tests/lt_dladvise.at (lt_dlopenadvise library loading):
Likewise.
* libltdl/m4/ltoptions.m4 (AC_LIBTOOL_DLOPEN): Match
'*-*-cegcc*' for $host.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-20 07:23:45 +01:00
Ralf Wildenhues
1ae7ff35f2 Ensure $ac_aux_dir is initialized for LIBTOOL_DEPS.
* libltdl/m4/libtool.m4 (LT_INIT): Require
AC_CONFIG_AUX_DIR_DEFAULT.
* tests/old-m4-iface.at (AM_PROG_LIBTOOL): Amend test to
expose this.
Report, analysis, and test example by Jakub Bogusz.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-20 07:18:38 +01:00
Ralf Wildenhues
44ee284ba2 Skip sys_lib_search_path on systems without libz.
* tests/search-path.at (sys_lib_search_path): Autotest needs at
least one AT_CHECK executed in a test group.  So if we haven't
found -lz anywhere, as may happen with cross-compilers, skip the
test.
* THANKS: Update.
Report by Alon Bar-Lev.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-16 23:32:57 +01:00
Ralf Wildenhues
b7109dab72 Fix execute mode test to actually expose cwrapper failures.
* tests/execute-mode.at (execute mode): Actually also test the
cwrapper on the arguments.
Report by Bruno Haible.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-16 18:29:34 +01:00
Paolo Bonzini
a0283899e7 Implement $ECHO with print -r, printf or cat in a shell function.
* configure.ac: Bump Autoconf requirement.
* libltdl/config/general.m4sh: Use $as_echo as default $ECHO.
* tests/testsuite.at: Use $as_echo as default $ECHO.

* libltdl/m4/libtool.m4 (LT_INIT): Add _LT_SHELL_INIT to
work around Autoconf <2.64 bug.
(_LT_OUTPUT_LIBTOOL_COMMANDS_INIT): Add func_fallback_echo.
Eliminate lt_ECHO requoting.
(_LT_SHELL_INIT): Use a public M4sh diversion.
(_LT_PROG_ECHO_BACKSLASH): Rewrite.
(LT_CMD_MAX_LEN): Do not use --fallback-echo.
* libltdl/config/ltmain.m4sh: Remove --no-reexec and --fallback-echo
handling.
(func_fallback_echo): New.
(func_emit_wrapper_part1): Quote ECHO.  Remove --no-reexec and
--fallback-echo handling.
(Execute mode): Do not set qecho.
2008-11-12 08:42:42 +01:00
Ralf Wildenhues
f7cccd3120 Use -no-undefined in install tests.
* tests/install.at (Install tests): Use `-no-undefined'.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-12 07:21:20 +01:00
Roumen Petrov
800959471b Fix destdir tests in cross compile mode.
* tests/destdir.at (Simple DESTDIR install)
(DESTDIR with in-package deplibs): Use $EXEEXT throughout.
* THANKS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-11 22:25:45 +01:00
Paolo Bonzini
3796d1fe58 Use documented M4sh interfaces.
* clcommit.m4sh: Do not unset CDPATH, use AS_INIT and M4sh diversions.
* libltdl/config/mailnotify.m4sh: Likewise.
* libtoolize.m4sh: Likewise.
* tests/defs.m4sh: Likewise.
* tests/testsuite.at: Move AT_INIT invocation at the top.

* libltdl/m4/libtool.m4 (_LT_GENERATED_FILE_INIT): New.
(LT_OUTPUT): Use it.

* libltdl/config/general.m4sh (M4SH_IN_HEADER): New.
(progpath): Move setting before $0 could be clobbered.
* libltdl/config/ltmain.m4sh (M4SH_IN_HEADER): New.
2008-11-11 10:08:38 +01:00
Paolo Bonzini
621e2d7cb3 Run sh.test on the M4sh source.
* tests/defs.m4sh (scripts): Point to pre-m4 sources.
2008-11-11 10:08:38 +01:00
Bruno Haible
101ad44541 Fix cwrapper argument mangling on w32.
* libltdl/config/ltmain.m4sh (func_emit_cwrapperexe_src): On
mingw, preprocess the argument vector through prepare_spawn.
* tests/execute-mode.at (execute mode): Output args
newline-separated.  Extend tests by more argument pairs that
contain special characters, where the w32 cwrapper fails.
Also test a real compiled program, linked against an uninstalled
library, to expose cwrapper issues.
* NEWS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-11-11 06:53:39 +01:00
Michael Haubenwallner
b59009b28f Fix checks for unsupported allow_undefined_flag.
* tests/tagdemo-undef.test: Match allow_undefined_flag
correctly, for SKIPping.
* tests/cdemo-undef.test: Likewise.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-10-28 20:47:44 +01:00
Ralf Wildenhues
c2350e5382 Parallel make fix in testsuite.
* tests/testsuite.at (_LTDL_PROJECT_FILES): Fix dependencies for
parallel make.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-10-26 11:05:07 +01:00
Ralf Wildenhues
3531d11d42 Atomic shared library install permissions on HP-UX.
The HP-UX 11 runtime linker fails to mmap shared libraries
without execute permissions.  Fixing them with postinstall_cmds
may be too late, as ln, sed, and chmod may link against the
library being installed.

* libltdl/m4/libtool.m4 (install_override_mode): New LT_DECL.
(_LT_SYS_DYNAMIC_LINKER) [hpux9*, hpux10*, hpux11*]: Set it.
* libltdl/config/ltmain.m4sh (func_mode_install): Build a second
command line, $install_shared_prog, for the installation of the
shared library.  Override resp. set the permission mode if
install_override_mode is nonempty.
* doc/libtool.texi (libtool script contents): Document it.
* tests/install.at (Install tests): New test.
* Makefile.am (TESTSUITE_AT): Adjust.
(TESTS_ENVIRONMENT): Pass INSTALL.
Report by Bruno Haible.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-10-05 12:40:54 +02:00
Gary V. Vaughan
d62f88f159 Fix 'DISTCHECK_CONFIGURE_FLAGS=--program-prefix=g' bug.
* tests/testsuite.at (_LIBTOOLIZE_TRANSFORM): Fix test failures
with --program-prefix, where the test case output contains the
transformed name somewhere other than the beginning of a line.
* libtoolize.m4sh (func_check_macros): Be sure to always use
the transformed name in output messages.
2008-09-06 22:50:15 +08:00
Peter O'Gorman
300fa580c4 Remove unnecessary global argz functions.
* libltdl/argz.c (argz_add,argz_count): Remove.
* libltdl/argz_.h (argz_add,argz_count): Remove.
* NEWS: Announce it.
* tests/ltdl-api.at: Test so we don't repeat it.
* Makefile.am: Add new test.
2008-08-26 12:41:25 -05:00
Ralf Wildenhues
739b7e4349 Disallow `-L path', do not misparse it silently.
* libltdl/config/ltmain.m4sh (func_mode_link): Diagnose `-L'
without argument, and `-L path', i.e., with a space.
* tests/fail.at (Failure tests): Test for these failures.
* THANKS: Update.
Report by Olaf Lenz.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-08-21 21:07:16 +02:00
Ralf Wildenhues
649567ed49 Avoid test failure due to broken dlpreloading of shared library.
* tests/lt_dladvise.at (lt_dlopenadvise library loading): Drop
some newlines in AT_CHECK commands, for better 'testsuite -x'
output.  Only create a static installable libpreload.la, to
avoid exposing the bug libtool currently has with preloading of
shared libraries.  Add a note to revisit this later.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-08-16 17:28:30 +02:00
Ralf Wildenhues
c766e70ca3 Parallel make testsuite fixes.
* tests/configure-iface.at (installable libltdl)
(--with-ltdl-include/lib, --with-included-ltdl): Add dlopened
libmodule.la to main_DEPENDENCIES.
* tests/old-m4-iface.at (AC_WITH_LTDL): Likewise, let ltdldemo
depend upon module.la and libltdl/libltdlc.la.
* tests/testsuite.at (LT_AT_MAKE): Invoke each target in turn,
default to 'all'.
* tests/early-libtool.at (config.lt): Define 'all' target.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-08-12 22:20:43 +02:00
Ralf Wildenhues
bda06a53b0 Fix configure-iface.at for 'make -j'.
* tests/configure-iface.at (convenience libltdl): Ignore warning
from parallel make.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-08-11 22:13:32 +02:00
Gary V. Vaughan
2c769d10a2 Implement lt_dlopening of only preloaded modules.
* libltdl/m4/ltdl.m4 (LTDL_INIT): Check for a libltdl that
provides lt_dladvise_preopen when deciding if installed libltdl
is 'new enough'.
* libltdl/libltdl/lt__private.h (lt__advise): Add a new
is_preload flag.
* libltdl/ltdl.c (lt_dladvise_preload): New api call to set it.
(try_dlopen): If it is set, and the search of preloaded modules
didn't return a match, don't bother searching the filesystem.
* libltdl/ltdl.h (lt_dladvise_preload): Declare it.
* doc/libtool.texi (Libltdl Interface): Document it.
* tests/lt_dladvise.at: Test it (and incidentally add some test
coverage for `libtool -dlpreopen').
* NEWS: Announce it.
2008-08-01 13:12:29 +07:00
Ralf Wildenhues
2133b11083 Newer Intel compilers do not grok -KPIC any more.
* libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [linux] <icc, icpc>:
Use -fPIC, newer Intel compilers (icc 10, ifort 9) reject -KPIC.
* tests/localization.at: Skip test if the compiler fails merely
due to the locale setting.
* THANKS: Update.
Report by Vincent Lefevre.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-06-19 19:35:52 +02:00