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