]> Savannah Git Hosting - gnulib.git/commitdiff
module: fix test_module calculations
authorDmitry Selyutin <ghostmansd@gmail.com>
Sat, 7 Jul 2018 14:58:43 +0000 (17:58 +0300)
committerDmitry Selyutin <ghostmansd@gmail.com>
Sat, 7 Jul 2018 14:58:43 +0000 (17:58 +0300)
pygnulib/module.py

index 242a9d35454eda32f71ab6c9071a351532a90996..7a93f3e3e6520776ca67b12b2aa8d323b6f51a37 100644 (file)
@@ -913,7 +913,7 @@ class Database:
         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 @@ class Database:
         # 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 @@ class Database:
         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())