libtool: Test descriptions
1
1 14.1.1 Description of test suite
1 --------------------------------
1
1 Here is a list of the current programs in the old test suite, and what
1 they test for:
1
1 'cdemo-conf.test'
1 'cdemo-make.test'
1 'cdemo-exec.test'
1 'cdemo-static.test'
1 'cdemo-static-make.test'
1 'cdemo-static-exec.test'
1 'cdemo-shared.test'
1 'cdemo-shared-make.test'
1 'cdemo-shared-exec.test'
1 'cdemo-undef.test'
1 'cdemo-undef-make.test'
1 'cdemo-undef-exec.test'
1 These programs check to see that the 'tests/cdemo' subdirectory of
1 the libtool distribution can be configured and built correctly.
1
1 The 'tests/cdemo' subdirectory contains a demonstration of libtool
1 convenience libraries, a mechanism that allows build-time static
1 libraries to be created, in a way that their components can be
1 later linked into programs or other libraries, even shared ones.
1
1 The tests matching 'cdemo-*make.test' and 'cdemo-*exec.test' are
1 executed three times, under three different libtool configurations:
1 'cdemo-conf.test' configures 'cdemo/libtool' to build both static
1 and shared libraries (the default for platforms that support both),
1 'cdemo-static.test' builds only static libraries
1 ('--disable-shared'), and 'cdemo-shared.test' builds only shared
1 libraries ('--disable-static').
1
1 The test 'cdemo-undef.test' tests the generation of shared
1 libraries with undefined symbols on systems that allow this.
1
1 'demo-conf.test'
1 'demo-make.test'
1 'demo-exec.test'
1 'demo-inst.test'
1 'demo-unst.test'
1 'demo-static.test'
1 'demo-static-make.test'
1 'demo-static-exec.test'
1 'demo-static-inst.test'
1 'demo-static-unst.test'
1 'demo-shared.test'
1 'demo-shared-make.test'
1 'demo-shared-exec.test'
1 'demo-shared-inst.test'
1 'demo-shared-unst.test'
1 'demo-nofast.test'
1 'demo-nofast-make.test'
1 'demo-nofast-exec.test'
1 'demo-nofast-inst.test'
1 'demo-nofast-unst.test'
1 'demo-pic.test'
1 'demo-pic-make.test'
1 'demo-pic-exec.test'
1 'demo-nopic.test'
1 'demo-nopic-make.test'
1 'demo-nopic-exec.test'
1 These programs check to see that the 'tests/demo' subdirectory of
1 the libtool distribution can be configured, built, installed, and
1 uninstalled correctly.
1
1 The 'tests/demo' subdirectory contains a demonstration of a trivial
1 package that uses libtool. The tests matching 'demo-*make.test',
1 'demo-*exec.test', 'demo-*inst.test' and 'demo-*unst.test' are
1 executed four times, under four different libtool configurations:
1 'demo-conf.test' configures 'demo/libtool' to build both static and
1 shared libraries, 'demo-static.test' builds only static libraries
1 ('--disable-shared'), and 'demo-shared.test' builds only shared
1 libraries ('--disable-static'). 'demo-nofast.test' configures
1 'demo/libtool' to disable the fast-install mode
1 ('--enable-fast-install=no'). 'demo-pic.test' configures
1 'demo/libtool' to prefer building PIC code ('--with-pic'),
1 'demo-nopic.test' to prefer non-PIC code ('--without-pic').
1
1 'demo-deplibs.test'
1 Many systems cannot link static libraries into shared libraries.
1 libtool uses a 'deplibs_check_method' to prevent such cases. This
1 tests checks whether libtool's 'deplibs_check_method' works
1 properly.
1
1 'demo-hardcode.test'
1 On all systems with shared libraries, the location of the library
11 can be encoded in executables that are linked against it ⇒
Linking executables. This test checks under what conditions your
1 system linker hardcodes the library location, and guarantees that
1 they correspond to libtool's own notion of how your linker behaves.
1
1 'demo-relink.test'
1 'depdemo-relink.test'
1 These tests check whether variable 'shlibpath_overrides_runpath' is
1 properly set. If the test fails, it will indicate what the
1 variable should have been set to.
1
1 'demo-noinst-link.test'
1 Checks whether libtool will not try to link with a previously
1 installed version of a library when it should be linking with a
1 just-built one.
1
1 'depdemo-conf.test'
1 'depdemo-make.test'
1 'depdemo-exec.test'
1 'depdemo-inst.test'
1 'depdemo-unst.test'
1 'depdemo-static.test'
1 'depdemo-static-make.test'
1 'depdemo-static-exec.test'
1 'depdemo-static-inst.test'
1 'depdemo-static-unst.test'
1 'depdemo-shared.test'
1 'depdemo-shared-make.test'
1 'depdemo-shared-exec.test'
1 'depdemo-shared-inst.test'
1 'depdemo-shared-unst.test'
1 'depdemo-nofast.test'
1 'depdemo-nofast-make.test'
1 'depdemo-nofast-exec.test'
1 'depdemo-nofast-inst.test'
1 'depdemo-nofast-unst.test'
1 These programs check to see that the 'tests/depdemo' subdirectory
1 of the libtool distribution can be configured, built, installed,
1 and uninstalled correctly.
1
1 The 'tests/depdemo' subdirectory contains a demonstration of
1 inter-library dependencies with libtool. The test programs link
1 some interdependent libraries.
1
1 The tests matching 'depdemo-*make.test', 'depdemo-*exec.test',
1 'depdemo-*inst.test' and 'depdemo-*unst.test' are executed four
1 times, under four different libtool configurations:
1 'depdemo-conf.test' configures 'depdemo/libtool' to build both
1 static and shared libraries, 'depdemo-static.test' builds only
1 static libraries ('--disable-shared'), and 'depdemo-shared.test'
1 builds only shared libraries ('--disable-static').
1 'depdemo-nofast.test' configures 'depdemo/libtool' to disable the
1 fast-install mode ('--enable-fast-install=no').
1
1 'mdemo-conf.test'
1 'mdemo-make.test'
1 'mdemo-exec.test'
1 'mdemo-inst.test'
1 'mdemo-unst.test'
1 'mdemo-static.test'
1 'mdemo-static-make.test'
1 'mdemo-static-exec.test'
1 'mdemo-static-inst.test'
1 'mdemo-static-unst.test'
1 'mdemo-shared.test'
1 'mdemo-shared-make.test'
1 'mdemo-shared-exec.test'
1 'mdemo-shared-inst.test'
1 'mdemo-shared-unst.test'
1 These programs check to see that the 'tests/mdemo' subdirectory of
1 the libtool distribution can be configured, built, installed, and
1 uninstalled correctly.
1
1 The 'tests/mdemo' subdirectory contains a demonstration of a
1 package that uses libtool and the system independent dlopen wrapper
1 'libltdl' to load modules. The library 'libltdl' provides a dlopen
1 wrapper for various platforms (POSIX) including support for
1 dlpreopened modules (⇒Dlpreopening).
1
1 The tests matching 'mdemo-*make.test', 'mdemo-*exec.test',
1 'mdemo-*inst.test' and 'mdemo-*unst.test' are executed three times,
1 under three different libtool configurations: 'mdemo-conf.test'
1 configures 'mdemo/libtool' to build both static and shared
1 libraries, 'mdemo-static.test' builds only static libraries
1 ('--disable-shared'), and 'mdemo-shared.test' builds only shared
1 libraries ('--disable-static').
1
1 'mdemo-dryrun.test'
1 This test checks whether libtool's '--dry-run' mode works properly.
1
1 'mdemo2-conf.test'
1 'mdemo2-exec.test'
1 'mdemo2-make.test'
1 These programs check to see that the 'tests/mdemo2' subdirectory of
1 the libtool distribution can be configured, built, and executed
1 correctly.
1
1 The 'tests/mdemo2' directory contains a demonstration of a package
1 that attempts to link with a library (from the 'tests/mdemo'
1 directory) that itself does dlopening of libtool modules.
1
1 'link.test'
1 This test guarantees that linking directly against a non-libtool
1 static library works properly.
1
1 'link-2.test'
1 This test makes sure that files ending in '.lo' are never linked
1 directly into a program file.
1
1 'nomode.test'
1 Check whether we can actually get help for libtool.
1
1 'objectlist.test'
1 Check that a nonexistent objectlist file is properly detected.
1
1 'pdemo-conf.test'
1 'pdemo-make.test'
1 'pdemo-exec.test'
1 'pdemo-inst.test'
1 These programs check to see that the 'tests/pdemo' subdirectory of
1 the libtool distribution can be configured, built, and executed
1 correctly.
1
1 The 'pdemo-conf.test' lowers the 'max_cmd_len' variable in the
1 generated libtool script to test the measures to evade command line
1 length limitations.
1
1 'quote.test'
1 This program checks libtool's metacharacter quoting.
1
1 'sh.test'
1 Checks for some nonportable or dubious or undesired shell
1 constructs in shell scripts.
1
1 'suffix.test'
11 When other programming languages are used with libtool (⇒Other
languages), the source files may end in suffixes other than '.c'.
1 This test validates that libtool can handle suffixes for all the
1 file types that it supports, and that it fails when the suffix is
1 invalid.
1
1 'tagdemo-conf.test'
1 'tagdemo-make.test'
1 'tagdemo-exec.test'
1 'tagdemo-static.test'
1 'tagdemo-static-make.test'
1 'tagdemo-static-exec.test'
1 'tagdemo-shared.test'
1 'tagdemo-shared-make.test'
1 'tagdemo-shared-exec.test'
1 'tagdemo-undef.test'
1 'tagdemo-undef-make.test'
1 'tagdemo-undef-exec.test'
1 These programs check to see that the 'tests/tagdemo' subdirectory
1 of the libtool distribution can be configured, built, and executed
1 correctly.
1
1 The 'tests/tagdemo' directory contains a demonstration of a package
1 that uses libtool's multi-language support through configuration
1 tags. It generates a library from C++ sources, which is then
1 linked to a C++ program.
1
1 'f77demo-conf.test'
1 'f77demo-make.test'
1 'f77demo-exec.test'
1 'f77demo-static.test'
1 'f77demo-static-make.test'
1 'f77demo-static-exec.test'
1 'f77demo-shared.test'
1 'f77demo-shared-make.test'
1 'f77demo-shared-exec.test'
1 These programs check to see that the 'tests/f77demo' subdirectory
1 of the libtool distribution can be configured, built, and executed
1 correctly.
1
1 The 'tests/f77demo' tests test Fortran 77 support in libtool by
1 creating libraries from Fortran 77 sources, and mixed Fortran and C
1 sources, and a Fortran 77 program to use the former library, and a
1 C program to use the latter library.
1
1 'fcdemo-conf.test'
1 'fcdemo-make.test'
1 'fcdemo-exec.test'
1 'fcdemo-static.test'
1 'fcdemo-static-make.test'
1 'fcdemo-static-exec.test'
1 'fcdemo-shared.test'
1 'fcdemo-shared-make.test'
1 'fcdemo-shared-exec.test'
1 These programs check to see that the 'tests/fcdemo' subdirectory of
1 the libtool distribution can be configured, built, and executed
1 correctly.
1
1 The 'tests/fcdemo' is similar to the 'tests/f77demo' directory,
1 except that Fortran 90 is used in combination with the 'FC'
1 interface provided by Autoconf and Automake.
1
1 The new, Autotest-based test suite uses keywords to classify certain
1 test groups:
1
1 'CXX'
1 'F77'
1 'FC'
1 'GCJ'
1 The test group exercises one of these 'libtool' language tags.
1
1 'autoconf'
1 'automake'
1 These keywords denote that the respective external program is
1 needed by the test group. The tests are typically skipped if the
1 program is not installed. The 'automake' keyword may also denote
1 use of the 'aclocal' program.
1
1 'interactive'
1 This test group may require user interaction on some systems.
1 Typically, this means closing a popup window about a DLL load error
1 on Windows.
1
1 'libltdl'
1 Denote that the 'libltdl' library is exercised by the test group.
1
1 'libtool'
1 'libtoolize'
1 Denote that the 'libtool' or 'libtoolize' scripts are exercised by
1 the test group, respectively.
1
1 'recursive'
1 Denote that this test group may recursively re-invoke the test
1 suite itself, with changed settings and maybe a changed 'libtool'
1 script. You may use the 'INNER_TESTSUITEFLAGS' variable to pass
1 additional settings to this recursive invocation. Typically,
1 recursive invocations delimit the set of tests with another
1 keyword, for example by passing '-k libtool' right before the
1 expansion of the 'INNER_TESTSUITEFLAGS' variable (without an
1 intervening space, so you get the chance for further delimitation).
1
1 Test groups with the keyword 'recursive' should not be denoted with
1 keywords, in order to avoid infinite recursion. As a consequence,
1 recursive test groups themselves should never require user
1 interaction, while the test groups they invoke may do so.
1
1 There is a convenience target 'check-noninteractive' that runs all
1 tests from both test suites that do not cause user interaction on
1 Windows. Conversely, the target 'check-interactive' runs the complement
1 of tests and might require closing popup windows about DLL load errors
1 on Windows.
1