Mercurial > gnulib
changeset 39138:61d46a751bfa
module: fix test_module calculations
author | Dmitry Selyutin <ghostmansd@gmail.com> |
---|---|
date | Sat, 07 Jul 2018 17:58:43 +0300 |
parents | 6289200390d5 |
children | 301a67f71165 |
files | pygnulib/module.py |
diffstat | 1 files changed, 9 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/pygnulib/module.py Thu Jul 05 22:32:35 2018 +0300 +++ b/pygnulib/module.py Sat Jul 07 17:58:43 2018 +0300 @@ -913,7 +913,7 @@ lookup = lambda module, lookup=lookup: module if isinstance(module, BaseModule) else lookup(module) def _applicability(module): - return module.applicability in ({"main", "all"}, {"main"})[config.tests] + return (module.applicability == "main") def _dummy(modules): if "dummy" in config.avoids: @@ -947,7 +947,7 @@ # The result of this transitive closure is a set of main modules. conditionals = config.conditionals modules = explicit_modules = {lookup(module) for module in config.modules} - base_closure = TransitiveClosure(lookup, modules, mask, gnumake, conditionals) + base_closure = TransitiveClosure(lookup, modules, mask, gnumake, conditionals, False) modules = map(lambda module: lookup(module.name + "-tests"), set(base_closure)) modules = set(filter(lambda module: module is not None, modules)) full_closure = TransitiveClosure(lookup, (explicit_modules | modules), mask, gnumake, conditionals, True) @@ -956,6 +956,13 @@ main_modules = set(base_closure) final_modules = set(full_closure) if config.tests else main_modules test_modules = (final_modules - set(filter(_applicability, sorted(main_modules)))) + nontrivial_tests = False + for module in test_modules: + if module.applicability != "all": + nontrivial_tests = True + break + if not nontrivial_tests: + test_modules = set() libtests = _libtests(test_modules) if _dummy(main_modules): main_modules.add(DummyModule())