mirror of
https://git.savannah.gnu.org/git/gnulib.git
synced 2025-08-14 14:01:48 +03:00
* doc/gnulib.texi: Move several sections to separate files. Include these files. * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi. * doc/obsolete.texi: Likewise. * doc/extra-tests.texi: Likewise. * doc/transversal.texi: Likewise. * doc/namespace.texi: Likewise. * doc/check-version.texi: Likewise. * doc/windows-sockets.texi: Likewise. * doc/windows-libtool.texi: Likewise. * doc/licenses-texi.texi: Likewise. * doc/build-automation.texi: Likewise. * doc/c-locale.texi: Likewise.
74 lines
3.0 KiB
Plaintext
74 lines
3.0 KiB
Plaintext
@node Extra tests modules
|
|
@section Extra tests modules
|
|
|
|
@cindex Extra tests modules
|
|
@cindex C++ tests modules
|
|
@cindex tests modules, C++
|
|
@cindex long-running tests modules
|
|
@cindex tests modules, long-running
|
|
@cindex privileged tests modules
|
|
@cindex tests modules, privileged
|
|
@cindex unportable tests modules
|
|
@cindex tests modules, unportable
|
|
Test modules can be marked with some special status attributes. When a
|
|
test module has such an attribute, @code{gnulib-tool --import} will not
|
|
include it by default.
|
|
|
|
The supported status attributes are:
|
|
|
|
@table @code
|
|
@item c++-test
|
|
Indicates that the test is testing C++ interoperability. Such a test is
|
|
useful in a C++ or mixed C/C++ package, but is useless in a C package.
|
|
|
|
@item longrunning-test
|
|
Indicates that the test takes a long time to compile or execute (more
|
|
than five minutes or so). Such a test is better avoided in a release
|
|
that is made for the general public.
|
|
|
|
@item privileged-test
|
|
Indicates that the test will request special privileges, for example,
|
|
ask for the superuser password. Such a test may hang when run
|
|
non-interactively and is therefore better avoided in a release that is
|
|
made for the general public.
|
|
|
|
@item unportable-test
|
|
Indicates that the test is known to fail on some systems, and that
|
|
there is no workaround about it. Such a test is better avoided in a
|
|
release that is made for the general public.
|
|
@end table
|
|
|
|
@code{gnulib-tool --import --with-tests} will not include tests marked with
|
|
these attributes by default. When @code{gnulib-tool} is invoked with one
|
|
of the options @code{--with-c++-tests}, @code{--with-longrunning-tests},
|
|
@code{--with-privileged-tests}, @code{--with-unportable-tests}, it
|
|
will include tests despite the corresponding special status attribute.
|
|
When @code{gnulib-tool} receives the option @code{--with-all-tests},
|
|
it will include all tests regardless of their status attributes.
|
|
|
|
@code{gnulib-tool --create-testdir --with-tests} and
|
|
@code{gnulib-tool --create-megatestdir --with-tests} by default include all
|
|
tests of modules specified on the command line, regardless of their status
|
|
attributes. Tests of modules occurring as dependencies are not included
|
|
by default if they have one of these status attributes. The options
|
|
@code{--with-c++-tests}, @code{--with-longrunning-tests},
|
|
@code{--with-privileged-tests}, @code{--with-unportable-tests} are
|
|
recognized here as well. Additionally, @code{gnulib-tool} also
|
|
understands the options @code{--without-c++-tests},
|
|
@code{--without-longrunning-tests}, @code{--without-privileged-tests},
|
|
@code{--without-unportable-tests}.
|
|
|
|
In order to mark a module with a status attribute, you need to add it
|
|
to the module description, like this:
|
|
|
|
@example
|
|
Status:
|
|
longrunning-test
|
|
@end example
|
|
|
|
If only a part of a test deserves a particular status attribute, you
|
|
can split the module into a primary and a secondary test module,
|
|
say @code{foo-tests} and @code{foo-extra-tests}. Then add a dependency
|
|
from @code{foo-tests} to @code{foo-extra-tests}, and mark the
|
|
@code{foo-extra-tests} with the particular status attribute.
|