branch development updated: libtool: Add remaining test case descriptions

Ileana Dumitrescu <[email protected]>
Newsgroups gmane.comp.gnu.libtool.cvs
Message-ID <[email protected]>
This is an automated email from the git hooks/post-receive script.

ildumi pushed a commit to branch development
in repository libtool.

The following commit(s) were added to refs/heads/development by this push:
     new 22389943 libtool: Add remaining test case descriptions
22389943 is described below

commit 22389943e5cdd01eee2279996fb8d0b8c0c7a475
Author: Ileana Dumitrescu <[email protected]>
AuthorDate: Fri Jun 14 21:02:55 2024 +0300

    libtool: Add remaining test case descriptions
    
    * doc/libtool.texi: Add missing test case descriptions.
---
 doc/libtool.texi | 384 +++++++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 314 insertions(+), 70 deletions(-)

diff --git a/doc/libtool.texi b/doc/libtool.texi
index f074c4cf..9da9f706 100644
--- a/doc/libtool.texi
+++ b/doc/libtool.texi
@@ -5262,103 +5262,347 @@ they test for:
 
 @table @file
 
+@item @file{tests/am-subdirs.at}
+Tests that a binary can be built and ran from outside of the sub-directory that
+it is built and ran in.
+
+@item @file{tests/archive-in-archive.at}
+Tests convenience archive within another convenience archive.
+Compiles @code{foo()} in @file{libfoo}, then compiles @file{libfoo} (and
+@code{bar()} function) into @file{libbar}.
+
+@item @file{tests/bindir.at}
+Tests include a demonstration of various scenarios related to using the
+@option{-bindir} option with @command{libtool}, verifying that installed files
+are correctly linked and executed, and demonstrating flexibility in handling
+different installation paths and adapting to changing directory structures.
+
+@item @file{tests/bug_62343.at}
+Tests that the -no-canonical-prefixes flag is not removed from the linking
+command, but it is instead passed through to the linker.
+
 @item @file{tests/cdemo.at}
-Tests include a demonstration of libtool convenience libraries, a mechanism that
-allows build-time static libraries to be created, in a way that their components
-can be later linked into programs or other libraries, even shared ones.
+Tests include a demonstration of @command{libtool} convenience libraries, a
+mechanism that allows build-time static libraries to be created, in a way that
+their components can be later linked into programs or other libraries, even
+shared ones.
+
+@item @file{tests/cmdline_wrap.at}
+Tests include a verification that @command{libtool} operates properly when the
+maximum command line length is very small.
+
+@item @file{tests/configure-funcs.at}
+Tests creation of shell functions shared with @command{configure} and
+@command{libtool}.
+
+@item @file{tests/configure-iface.at}
+Tests that exercise the configure interface to @file{libltdl}.
+
+@item @file{tests/convenience.at}
+Tests demonstrate @command{libtool}'s convenience archive capabilities for C,
+C++, Fortran, and Java languages.
+
+@item @file{tests/ctor.at}
+Test that @command{libtool} can handle code with C++ constructors.
+
+@item @file{tests/cwrapper.at}
+Test cwrapper compliance with standards for uninstalled executables, string
+length, and installed shared libraries.
+
+@item @file{tests/darwin.at}
+Tests for macOS X including compilation, concurrent library extraction,
+@command{GDB} debug information, @command{ld} warnings, and verifying
+@file{.dylib} and @file{.so} files can be used with @code{lt_dlopen}.
 
 @item @file{tests/demo.at}
-Tests include a demonstration of a trivial package that uses libtool.  The tests
-include scenarios to build both static and shared libraries, only static
-libraries, only shared libraries, disabling fast-install mode, building PIC
-code, and building non-PIC code.
+Tests include a demonstration of a trivial package that uses @command{libtool}.
+The tests include scenarios to build both static and shared libraries, only
+static libraries, only shared libraries, disabling fast-install mode, building
+PIC code, and building non-PIC code.
 
 @item @file{tests/depdemo.at}
-Tests include a demonstration of inter-library dependencies with libtool.  The
-test programs link some interdependent libraries under different scenarios.
+Tests include a demonstration of inter-library dependencies with
+@command{libtool}.  The test programs link some interdependent libraries under
+different scenarios.
 
-@item @file{tests/mdemo.at}
-Tests include a demonstration of a package that uses libtool and the system
-independent dlopen wrapper @file{libltdl} to load modules.  The library
-@file{libltdl} provides a dlopen wrapper for various platforms (POSIX) including
-support for dlpreopened modules (@pxref{Dlpreopening}).
+@item @file{tests/deplib-in-subdir.at}
+Tests building and linking various libraries within various directories and
+sub-directories while changing directories as well.  It should be possible to
+use a nontrivial relative path to the output file name when creating libraries
+and programs.  The @code{deplibs} of these might have relative paths as well.
+When executing uninstalled programs, the paths relative to @file{$PWD} at build
+time needs to be translated to a path valid at execution time.  Also test
+installing these libraries and programs; however, use consistent relative paths
+between @command{libtool} @option{--mode=link} and @command{libtool}
+@option{--mode=install} in this test.
+
+@item @file{tests/deplibs-ident.at}
+Tests the correct detection and handling of identical dependency libraries when
+using @command{libtool}.
+
+@item @file{tests/deplibs-mingw.at}
+Tests include various scenarios related to detecting deplibs correctly,
+including cases where there is no @command{file} command installed as well
+as the host OS being MinGW.
 
-@item @file{tests/tagdemo.at}
-Tests include a demonstration of a package that uses libtool's multi-language
-support through configuration tags.  It generates a library from C++ sources,
-which is then linked to a C++ program.
+@item @file{tests/destdir.at}
+Installs some libs in @file{$DESTDIR}, moves them to a different dir, then
+installs some false libraries in @file{$DESTDIR} that should not be linked
+against.  If the program refers to these false libraries, there is a bug.
+
+@item @file{tests/dlloader-api.at}
+Tests that @code{lt_dlopen} can open a shared library and call a function from
+the library, verifies that @code{lt_dlsym} can find a symbol in the opened
+library, and make sure that @code{lt_dlclose} can properly close the library.
+
+@item @file{tests/dumpbin-symbols.at}
+Tests whether on Windows a convenience symbol in a section of a @file{.lib}
+file is present even if that section is hidden in the @file{.obj} file.
+
+@item @file{tests/duplicate_conv.at}
+Tests two convenience archives with the same name, and also containing an
+object with the same name.
+
+@item @file{tests/duplicate_deps.at}
+Tests circular call of dependencies between two libraries, @file{liba} and
+@file{libb}. Function @code{a1()} from @file{liba} calls @code{b1()} from
+@file{libb} and function @code{b1()} from @file{libb} calls @code{a2()} from
+@file{liba}.
+
+@item @file{tests/duplicate_members.at}
+Tests a library with multiple files of the same name (from different
+directories), such as @file{1/a.c}, @file{2/a.c}, @file{3/a.c}, etc.
+
+@item @file{tests/early-libtool.at}
+Tests building binaries using @command{libtool} using two configure approaches.
+
+@item @file{tests/exceptions.at}
+Tests C++ exception handling with @command{libtool}.
+
+@item @file{tests/execute-mode.at}
+Tests the @option{--mode=execute} feature of @command{libtool}.
+
+@item @file{tests/exeext.at}
+Tests ensure that @code{$EXEEXT} handling works by linking and installing an
+executable.
+
+@item @file{tests/export.at}
+Tests symbol exports if shared libraries are enabled.
+
+@item @file{tests/export-def.at}
+Test exporting from a DLL with module definition (@file{.def} files).
+This test only runs if shared libraries are enabled and building a DLL is
+supported.
 
 @item @file{tests/f77demo.at}
-Tests test Fortran 77 support in libtool by creating libraries from Fortran 77
-sources, and mixed Fortran and C sources, and a Fortran 77 program to use the
-former library, and a C program to use the latter library.
+Tests test Fortran 77 support in @command{libtool} by creating libraries from
+Fortran 77 sources, and mixed Fortran and C sources, and a Fortran 77 program
+to use the former library, and a C program to use the latter library.
+
+@item @file{tests/fail.at}
+Tests to ensure that @command{libtool} really fails when it should, including
+after compile failure, program creation failure, and shared library creation
+failure.
 
 @item @file{tests/fcdemo.at}
 Tests are similar to the @file{tests/f77demo.at} tests, except that Fortran 90
 is used in combination with the @samp{FC} interface provided by Autoconf and
 Automake.
 
-@item @file{tests/am-subdirs.at}
-Tests that a binary can be built and ran from outside of the subdir that it is
-built and ran in.
+@item @file{tests/flags.at}
+Tests include checks that compile and linker flags get passed through
+@command{libtool}.  Tests flags for C, C++, Fortran 77, and Fortran 90.
 
-@item @file{tests/destdir.at}
-Installs some libs in $DESTDIR, moves them to a different dir, then installs
-some false libraries in $DESTDIR that should not be linked against. If the
-program refers to these false libraries, there is a bug.
+@item @file{tests/help.at}
+Tests a variety of mode commands, including mode short-hands, to ensure basic
+command line functionality. Also verify that the @option{--debug} flag is
+handled correctly in each mode.
 
-@item @file{tests/duplicate_deps.at}
-Tests circular call of dependencies between two libraries, liba and libb.
-Function a1() from liba calls b1() from libb and function b1() from libb
-calls a2() from liba.
+@item @file{tests/indirect_deps.at}
+Tests indirect dependencies (or nested dependencies). @file{libd} depends
+on @file{libconv}, which depends on @file{libb}, which depends on @file{liba}.
 
-@item @file{tests/duplicate_conv.at}
-We create two convenience archives with the same name, and also
-containing an object with the same name.
+@item @file{tests/infer-tag.at}
+Tests that @code{func_infer_tag} works by compiling various code snippets in
+various languages (C, C++, Fortran, Java) without a @option{--tag} flag.
 
-@item @file{tests/duplicate_members.at}
-Tests a library with multiple files of the same name (from different
-directories), such as 1/a.c, 2/a.c, 3/a.c, etc.
+@item @file{tests/inherited_flags.at}
+Tests the functionality of the @code{inherited_linker_flags} variable in
+@command{libtool} library files.
 
-@item @file{tests/archive-in-archive.at}
-Tests convenience archive within another convenience archive.
-Compiles foo() in libfoo, then compiles libfoo (and bar() function)
-into libbar.
+@item @file{tests/install.at}
+Tests install mode and ensures that @code{install_override_mode} overrides the
+mode of the shared library (and only the shared library).
 
-@item @file{tests/deplib-in-subdir.at}
-Tests building and linking various libraries within various dirs and subdirs
-while changing directories as well.
-It should be possible to use a nontrivial relative path to the output
-file name when creating libraries and programs.  The deplibs of these
-might have relative paths as well.  When executing uninstalled programs,
-the paths relative to $PWD at build time needs to be translated to a
-path valid at execution time.
-Also test installing these libraries and programs; however,
-use consistent relative paths between 'libtool --mode=link' and
-'libtool --mode=install' in this test.
+@item @file{tests/lalib-syntax.at}
+Tests parsing of @file{.la} files including both correctly formed @file{.la}
+files and malformed or bogus @file{.la} files.
 
-@item @file{tests/indirect_deps.at}
-Tests indirect dependencies (or nested dependencies).
-libd depends on libconv, which depends on libb, which depends on liba.
+@item @file{tests/libtool.at}
+Tests basic libtool functionality including shell meta-character removal, lack
+of supplied mode option, file extension handling, simple linking,
+@option{objectlist} flag usage, and @code{LT_SUPPORTED_TAG} usage.
 
-@item @file{tests/bugs.at}
-Unit tests for specific bugs that have been found and fixed in libtool.
+@item @file{tests/libtoolize.at}
+Tests that errors and warnings are reported for invalid and unknown
+@code{LIBTOOLIZE_OPTIONS} as well as checking the @option{--no-warn} flag
+suppresses @command{libtoolize} warnings.
 
-@item @file{tests/cmdline_wrap.at}
-Tests include a verification that libtool operates properly when the maximum
-command line length is very small.
+@item @file{tests/link-order2.at}
+Tests to make sure that @code{depdepls} are added right after the libraries
+that pull them in which is necessary at least for static linking and on systems
+where libraries do not link against other libraries.
 
-@item @file{tests/ctors.at}
-Test that libtool can handle code with C++ constructors.
+@item @file{tests/link-order.at}
+Tests for problems with linking libraries in different order.
 
-@item @file{tests/darwin.at}
-Tests for macOS X including compilation, concurrent library extraction, GDB
-debug information, ld warnings, and verifying .dylib and .so files can be used
-with lt_dlopen.
+@item @file{tests/loadlibrary.at}
+Tests @file{libltdl} (a @file{libdl} API for @code{dlopen}) support of
+@code{LoadLibrary} for dynamically linking DLLs in Windows environments.
 
-@item @file{tests/flags.at}
-Tests include checks that compile and linker flags get passed through libtool.
-Tests flags for C, C++, Fortran 77, and Fortran 90.
+@item @file{tests/localization.at}
+Tests to verify that invoking C compiler language localization options do not
+cause problems with @command{libtool}.
+
+@item @file{tests/lt_dladvise.at}
+Tests @file{libltdl} (a @file{libdl} API for @code{dlopen}) module loading
+advisor functions.
+
+@item @file{tests/lt_dlexit.at}
+Tests @file{libltdl} (a @file{libdl} API for @code{dlopen}) for a memory use
+after free bug in @code{lt_dlexit}.
+
+@item @file{tests/lt_dlopen_a.at}
+Tests @code{lt_dlopen} with an archive file.  Verifies that @code{lt_dlopen}
+can load an archive file and successfully return a handle to it.
+
+@item @file{tests/lt_dlopen.at}
+Tests @file{libltdl} (a @file{libdl} API for @code{dlopen}) with a basic C
+example.
+
+@item @file{tests/lt_dlopenext.at}
+Tests @file{libltdl} (a @file{libdl} API for @code{dlopen}) with an extern C++
+function.
+
+@item @file{tests/ltdl-api.at}
+Tests that libtool doesn't mangle @file{gnulib} @code{argv} names.
+
+@item @file{tests/ltdl-libdir.at}
+Tests if @file{ltdl} can find an installed module using the @code{libdir}
+variable in the @file{.la} file.  Tests also include a MinGW test which uses a
+Windows-style @code{libdir} name.
+
+@item @file{tests/mdemo.at}
+Tests include a demonstration of a package that uses @command{libtool} and the
+system independent @code{dlopen} wrapper @file{libltdl} to load modules.  The
+library @file{libltdl} provides a @code{dlopen} wrapper for various platforms
+(POSIX) including support for @code{dlpreopened} modules
+(@pxref{Dlpreopening}).
+
+@item @file{tests/need_lib_prefix.at}
+Tests to check for failures on systems that require libraries to be prefixed
+with @file{lib}.
+
+@item @file{tests/nocase.at}
+Tests the @code{want_nocaseglob} configuration option to search for libraries
+regardless of case.
+
+@item @file{tests/no-executables.at}
+Tests @code{AC_NO_EXECUTABLES} macro with @command{gcc}.
+
+@item @file{tests/nonrecursive.at}
+Tests non-recursive DLL libraries with nonrecursive Automake @file{libltdl}
+(a @file{libdl} API for @code{dlopen}) build.
+
+@item @file{tests/old-m4-iface.at}
+Tests various aspects of @command{libtool}'s old @command{m4} interface.
+
+@item @file{tests/pic_flag.at}
+Tests the @option{-fpic} flag with @command{gcc} and @command{g++}.
+
+@item @file{tests/recursive.at}
+Tests recursive DLL libraries with recursive Automake @file{libltdl} (a
+@file{libdl} API for @code{dlopen}) build.
+
+@item @file{tests/resident.at}
+Tests that resident modules are not unloaded at program exit, as they need to
+be able to invoke @code{atexit} handlers.  A module being a resident module
+means it is prevented from being @code{lt_dlclosed}.
+
+@item @file{tests/runpath-in-lalib.at}
+Tests the runpath configuration options in @command{libtool} (@option{-R} and
+@option{-rpath}) and that the resulting @file{.la} files are installed in the
+directory appended to their respective library's @code{dependency_libs} by
+@option{-R}.
+
+@item @file{tests/search-path.at}
+Tests @code{sys_lib_search_path_spec}, which is an expression to get the
+compile-time system library search path.  Tests include determining if it is
+possible to link an executable to system libraries and if
+@code{sys_lib_search_path_spec} also works on MSVC (Microsoft Visual C++).
+
+@item @file{tests/shlibpath.at}
+Tests include verifying proper behaviour of the @code{shlibpath_var}, which is
+the variable responsible for telling the linker where to find shared libraries.
+Additionally, this tests the behaviour of the @code{shlibpath_overrides_runpath}
+variable, which determines if it possible to override an executable's
+hardcoded library search path with an environment variable.
+
+@item @file{tests/slist.at}
+Tests the functionality of the SList datastructure, which is an implementation
+of singly linked lists.  Tests include verifying the usual linked list
+functions such as finding, removing, deleting, reversing, and sorting the
+element(s) in SLists.
+
+@item @file{tests/standalone.at}
+Tests @file{libltdl} functionality as a standalone tool.  Tests include
+compiling a symlinked version of @file{libltdl} and a copied version of
+@file{libltdl}.  Next @file{libltdl} is installed locally and linked in a
+project without the use of Autoconf or Automake.
+
+@item @file{tests/static.at}
+Tests various flags related to static and dynamic linking including
+@option{-Bstatic} and @option{-Bdynamic}.
+
+@item @file{tests/stresstest.at}
+Tests various @command{libtool} flag and option combinations, tests linking
+various types of objects in different sections, and tests regular expressions
+to cover edge cases and unusual configurations over multiple iterations.
+
+@item @file{tests/subproject.at}
+Tests the @file{libltdl} flag for building subprojects in individual
+directories.  Tests cover soft-linked libltdl trees, copied @file{libltdl}
+trees, and linking @file{libltdl} without Autotools.
+
+@item @file{tests/sysroot.at}
+Tests that @command{libtool} runs properly in sandboxed @file{sysroot}
+directories.
+
+@item @file{tests/tagdemo.at}
+Tests include a demonstration of a package that uses @command{libtool}'s
+multi-language support through configuration tags.  It generates a library from
+C++ sources, which is then linked to a C++ program.
+
+@item @file{tests/template.at}
+Tests that @command{libtool} can handle C++ code utilizing templates.
+
+@item @file{tests/testsuite.at}
+Main testsuite framework file processed by @command{autom4te} processes enable
+running the @command{libtool} test cases.
+
+@item @file{tests/versioning.at}
+Tests @command{libtool}'s versioning system.  Tests begin with verifying the
+behaviour of @command{libtool} versioning flags @option{-version-info} and
+@option{-version-number}.  Next, this tests installing a library, then updating
+the library with a new revision, a compatible update, and an incompatabile
+update.  In each case, the tests verify that the original library will link and
+install as expected.
+
+@item @file{tests/with_pic.at}
+Tests the function of the @option{--with-pic} flag.  The @option{--with-pic}
+flag is used to specify whether or not @command{libtool} uses PIC objects.
+This includes tests for setting @option{--with-pic} to no, yes, or a comma
+delimited list of package names.
 
 @end table
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.