Lines Matching refs:variant
73 _rules: {variant: {test name: [rule]}}
74 _prefix_rules: {variant: {test name prefix: [rule]}}
80 def get_outcomes(self, testname, variant=None):
81 """Merges variant dependent and independent rules."""
84 for key in set([variant or '', '']):
104 tests: list of pairs (testname, variant)
105 check_variant_rules: if set variant dependent rules are checked
114 for testname, variant in tests:
115 variant = variant or ''
117 if testname in self._rules.get(variant, {}):
118 used_rules.add((testname, variant))
119 if SKIP in self._rules[variant][testname]:
122 for prefix in self._prefix_rules.get(variant, {}):
124 used_rules.add((prefix, variant))
125 if SKIP in self._prefix_rules[variant][prefix]:
128 for variant in variants:
130 list(self._rules.get(variant, {}).items()) +
131 list(self._prefix_rules.get(variant, {}).items())):
132 if (rule, variant) not in used_rules:
133 if variant == '':
134 variant_desc = 'variant independent'
136 variant_desc = 'variant: %s' % variant
154 undefined "variant" identifier returns VARIANT_EXPRESSION marker.
161 assert identifier == "variant", "Unknown identifier: %s" % identifier
166 condition, section, variables, variant, rules, prefix_rules):
168 variables_with_variant["variant"] = variant
175 rules[variant],
176 prefix_rules[variant],
195 "Nested variant expressions are not supported")
239 # rules are mapped by "", others by the variant name.
240 rules = {variant: {} for variant in ALL_VARIANTS}
242 prefix_rules = {variant: {} for variant in ALL_VARIANTS}
252 # The expression is variant-independent and evaluates to False.
256 # The expression is variant-independent and evaluates to True.
266 # The expression is variant-dependent (contains "variant" keyword)
268 # If the expression contains one or more "variant" keywords, we evaluate
270 for variant in ALL_VARIANTS:
272 condition, section, variables, variant, rules, prefix_rules)