A week ago I committed this: > 2010-04-25 Bruno Haible <br...@clisp.org> > > gnulib-tool: Don't include hairy tests of dependencies in testdirs. > * gnulib-tool (func_usage): Document that --with-*-tests options apply > also to --create-testdir. > (func_acceptable): Don't consider the status of *-tests modules here. > (func_modules_transitive_closure): Consider it here, before including a > test module. > (func_import, func_create_testdir): Set inc_all_direct_tests, > inc_all_indirect_tests. > * doc/gnulib.texi (Extra tests modules): Document new behaviour of > --create-testdir and --create-megatestdir.
Unfortunately this caused a regression: Tests modules like string-c++-tests were now included by default in "gnulib-tool --import". This fixes it. 2010-05-02 Bruno Haible <br...@clisp.org> Fix regression from 2010-04-25. * gnulib-tool (func_modules_transitive_closure): Check the status of all modules, not only of the tests that are of the form foo-tests where foo is a module. *** gnulib-tool.orig Sun May 2 14:46:39 2010 --- gnulib-tool Sun May 2 14:42:49 2010 *************** *** 2398,2460 **** if test -n "$duplicated_deps"; then func_warning "module $module has duplicated dependencies: "`echo $duplicated_deps` fi - for dep in $deps; do - if test -n "$incobsolete" \ - || { inc=true - for word in `func_get_status $dep`; do - case "$word" in - obsolete) - inc=false - ;; - esac - done - $inc - }; then - func_append inmodules " $dep" - fi - done if test -n "$inctests"; then testsmodule=`func_get_tests_module $module` if test -n "$testsmodule"; then ! # Determine whether to include the tests module. ! inc=true ! for word in `func_get_status "$testsmodule"`; do ! case "$word" in ! c++-test) ! test -z "$excl_cxx_tests" \ ! || inc=false ! test -n "$fmtc_inc_all_tests" || test -n "$inc_cxx_tests" \ ! || inc=false ! ;; ! longrunning-test) ! test -z "$excl_longrunning_tests" \ ! || inc=false ! test -n "$fmtc_inc_all_tests" || test -n "$inc_longrunning_tests" \ ! || inc=false ! ;; ! privileged-test) ! test -z "$excl_privileged_tests" \ ! || inc=false ! test -n "$fmtc_inc_all_tests" || test -n "$inc_privileged_tests" \ ! || inc=false ! ;; ! unportable-test) ! test -z "$excl_unportable_tests" \ ! || inc=false ! test -n "$fmtc_inc_all_tests" || test -n "$inc_unportable_tests" \ ! || inc=false ! ;; ! *-test) ! test -n "$fmtc_inc_all_tests" \ ! || inc=false ! ;; ! esac ! done ! if $inc; then ! func_append inmodules " $testsmodule" ! fi fi fi fi fi done --- 2398,2452 ---- if test -n "$duplicated_deps"; then func_warning "module $module has duplicated dependencies: "`echo $duplicated_deps` fi if test -n "$inctests"; then testsmodule=`func_get_tests_module $module` if test -n "$testsmodule"; then ! deps="$deps $testsmodule" fi fi + for dep in $deps; do + # Determine whether to include the dependency or tests module. + inc=true + for word in `func_get_status $dep`; do + case "$word" in + obsolete) + test -n "$incobsolete" \ + || inc=false + ;; + c++-test) + test -z "$excl_cxx_tests" \ + || inc=false + test -n "$fmtc_inc_all_tests" || test -n "$inc_cxx_tests" \ + || inc=false + ;; + longrunning-test) + test -z "$excl_longrunning_tests" \ + || inc=false + test -n "$fmtc_inc_all_tests" || test -n "$inc_longrunning_tests" \ + || inc=false + ;; + privileged-test) + test -z "$excl_privileged_tests" \ + || inc=false + test -n "$fmtc_inc_all_tests" || test -n "$inc_privileged_tests" \ + || inc=false + ;; + unportable-test) + test -z "$excl_unportable_tests" \ + || inc=false + test -n "$fmtc_inc_all_tests" || test -n "$inc_unportable_tests" \ + || inc=false + ;; + *-test) + test -n "$fmtc_inc_all_tests" \ + || inc=false + ;; + esac + done + if $inc; then + func_append inmodules " $dep" + fi + done fi fi done