[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: extra test module categories
From: |
Bruno Haible |
Subject: |
Re: extra test module categories |
Date: |
Sun, 28 Mar 2010 17:33:07 +0100 |
User-agent: |
KMail/1.9.9 |
And this makes it possible to declare part of the tests of a module
as c++-test or longrunning-test or similar.
2010-03-28 Bruno Haible <address@hidden>
gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
* gnulib-tool (func_exists_module): New function, extracted from
func_verify_module.
(func_verify_module): Use it.
(func_get_dependencies): Synthetize a dependency from 'foo-tests' to
'foo' only if 'foo' exists.
* doc/gnulib.texi (Extra tests modules): Explain how to split a tests
module.
--- doc/gnulib.texi.orig Sun Mar 28 18:17:43 2010
+++ doc/gnulib.texi Sun Mar 28 18:03:56 2010
@@ -750,6 +750,12 @@
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
address@hidden with the particular status attribute.
+
@node A C++ namespace for gnulib
@section A C++ namespace for gnulib
--- gnulib-tool.orig Sun Mar 28 18:17:43 2010
+++ gnulib-tool Sun Mar 28 18:16:33 2010
@@ -1379,6 +1379,24 @@
| LC_ALL=C sort -u
}
+# func_exists_module module
+# tests whether a module, given by name, exists
+# Input:
+# - local_gnulib_dir from --local-dir
+func_exists_module ()
+{
+ { test -f "$gnulib_dir/modules/$1" \
+ || { test -n "$local_gnulib_dir" && test -d "$local_gnulib_dir/modules" \
+ && test -f "$local_gnulib_dir/modules/$1"; }; } \
+ && test "CVS" != "$1" \
+ && test "ChangeLog" != "$1" \
+ && test "COPYING" != "$1" \
+ && test "README" != "$1" \
+ && test "TEMPLATE" != "$1" \
+ && test "TEMPLATE-EXTENDED" != "$1" \
+ && test "TEMPLATE-TESTS" != "$1"
+}
+
# func_verify_module
# verifies a module name
# Input:
@@ -1386,16 +1404,7 @@
# - module module name argument
func_verify_module ()
{
- if { test -f "$gnulib_dir/modules/$module" \
- || { test -n "$local_gnulib_dir" && test -d "$local_gnulib_dir/modules"
\
- && test -f "$local_gnulib_dir/modules/$module"; }; } \
- && test "CVS" != "$module" \
- && test "ChangeLog" != "$module" \
- && test "COPYING" != "$module" \
- && test "README" != "$module" \
- && test "TEMPLATE" != "$module" \
- && test "TEMPLATE-EXTENDED" != "$module" \
- && test "TEMPLATE-TESTS" != "$module"; then
+ if func_exists_module "$module"; then
# OK, $module is a correct module name.
# Verify that building the module description with 'patch' succeeds.
func_lookup_file "modules/$module"
@@ -1954,12 +1963,14 @@
# - modcache true or false, from --cache-modules/--no-cache-modules
func_get_dependencies ()
{
- # ${module}-tests always implicitly depends on ${module}.
+ # ${module}-tests implicitly depends on ${module}, if that module exists.
case "$1" in
*-tests)
fgd1="$1"
func_remove_suffix fgd1 '-tests'
- echo "$fgd1"
+ if func_exists_module "$fgd1"; then
+ echo "$fgd1"
+ fi
;;
esac
# Then the explicit dependencies listed in the module description.
- Re: C++ libtool build error?, (continued)
Re: C++ libtool build error?, Ludovic Courtès, 2010/03/11
- Re: C++ libtool build error?, Bruno Haible, 2010/03/12
- Re: [bug-libunistring] Re: C++ libtool build error?, Simon Josefsson, 2010/03/12
- Re: C++ libtool build error?, Bruno Haible, 2010/03/13
- Re: C++ libtool build error?, Bruno Haible, 2010/03/13
- Re: C++ libtool build error?, Jim Meyering, 2010/03/13
- Re: C++ libtool build error?, Bruno Haible, 2010/03/13
- extra test module categories, Bruno Haible, 2010/03/28
- Re: extra test module categories,
Bruno Haible <=
Re: C++ libtool build error?, Simon Josefsson, 2010/03/17
Re: C++ libtool build error?, Bruno Haible, 2010/03/28
Re: C++ libtool build error?, Eric Blake, 2010/03/17
Re: C++ libtool build error?, Bruno Haible, 2010/03/28
Re: C++ libtool build error?, Ralf Wildenhues, 2010/03/13
Re: C++ libtool build error?, Bruno Haible, 2010/03/13