depends.py: disable part of the test jobs
Disable exclusive jobs that run with a single
config disabled. A lot more bugs should be found by running jobs with only one config
of a family enabled.
This will also lessen the burden on the CI.
Signed-off-by: Andrzej Kurek <andrzej.kurek@arm.com>
diff --git a/tests/scripts/depends.py b/tests/scripts/depends.py
index feb88f2..859cad1 100755
--- a/tests/scripts/depends.py
+++ b/tests/scripts/depends.py
@@ -281,32 +281,28 @@
class ExclusiveDomain: # pylint: disable=too-few-public-methods
"""A domain consisting of a set of conceptually-equivalent settings.
Establish a list of configuration symbols. For each symbol, run a test job
-with this symbol set and the others unset, and a test job with this symbol
-unset and the others set."""
+with this symbol set and the others unset."""
def __init__(self, symbols, commands, exclude=None):
"""Build a domain for the specified list of configuration symbols.
-The domain contains two sets of jobs: jobs that enable one of the elements
-of symbols and disable the others, and jobs that disable one of the elements
-of symbols and enable the others.
+The domain contains a set of jobs that enable one of the elements
+of symbols and disable the others.
Each job runs the specified commands.
If exclude is a regular expression, skip generated jobs whose description
would match this regular expression."""
self.jobs = []
- for invert in [False, True]:
- base_config_settings = {}
- for symbol in symbols:
- base_config_settings[symbol] = invert
- for symbol in symbols:
- description = '!' + symbol if invert else symbol
- if exclude and re.match(exclude, description):
- continue
- config_settings = base_config_settings.copy()
- config_settings[symbol] = not invert
- if not invert:
- handle_exclusive_groups(config_settings, symbol)
- turn_off_dependencies(config_settings)
- job = Job(description, config_settings, commands)
- self.jobs.append(job)
+ base_config_settings = {}
+ for symbol in symbols:
+ base_config_settings[symbol] = False
+ for symbol in symbols:
+ description = symbol
+ if exclude and re.match(exclude, description):
+ continue
+ config_settings = base_config_settings.copy()
+ config_settings[symbol] = True
+ handle_exclusive_groups(config_settings, symbol)
+ turn_off_dependencies(config_settings)
+ job = Job(description, config_settings, commands)
+ self.jobs.append(job)
class ComplementaryDomain: # pylint: disable=too-few-public-methods
"""A domain consisting of a set of loosely-related settings.