[lldb/test] Add _excluded_variant_combinations hook in lldbtest (#201459)
Add a module-scope hook that LLDBTestCaseFactory consults during variant
expansion so the suite can declare combinations of variant axis values
that should never be generated. Each entry in
`_excluded_variant_combinations` is a dict mapping variant_name ->
value; the helper `_is_excluded_variant_combination(method,
variant_name, value_name)` returns True when assigning the given
variant=value to the method would produce a combination matching every
entry. `_expand_test_variants` checks the predicate before generating
each copy and drops the variant entirely so excluded crosses don't
appear in the test matrix at all.
This is a suite-wide per-axis-combination analogue of
NO_DEBUG_INFO_TESTCASE: instead of collapsing the entire debug-info axis
for one test class, it lets the suite declare narrowly that any variant
carrying e.g. {"swift_module_importer": "noclang", "swift_embedded":
"swiftembed"} should be dropped, regardless of which source method or
test class generated it. Useful when a subset of the variant matrix is
known broken (or simply redundant) without resorting to broad @skipIf /
@expectedFailureAll decorators on each affected method.
The list starts empty; the first downstream consumer
(swiftlang/llvm-project) adds the noclang × swiftembed cross at the same
time it registers the swift_module_importer / swift_embedded variants.
Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>