[Lldb-commits] [PATCH] D16936: Remove expectedFailureWindows decorator

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Tue Feb 9 01:14:26 PST 2016


I think this is getting way too complicated. I haven't seen any test
which needs such complicated combinations of skip conditions (and I
hope I never see one).


On 9 February 2016 at 01:24, Zachary Turner <zturner at google.com> wrote:
> 1. Skips if all conditions are true. @skipIf(all(A=a, B=b, C=c))
> 2. Skips if any condition is true. @skipIf(any(A=a, B=b, C=c))
This is equivalent to:
@skipIf(A=a)
@skipIf(B=b)
@skipIf(C=c)
which we already support.

> 3. Skips if none of the conditions are true. @skipIf(none(A=a, B=b, C=c))
This can also be written as @skipIf(A=no_match(a), B=no_match(b), ...)

I think it is a could idea to keep the skip conditions in some kind of
a disjunctive normal form (as they are now), because it makes it clear
what the decorator is going to do without having to do mental
backflips to figure out the effect.

I think the problem here is that you occasionally need to skip based
on a strange condition, which cannot be expressed as a combination of
existing flags, no matter how many combinators you add (linux
distribution name, and android api level are the two that I can think
of now), but these can be solved with passing a "function=" argument
to @expectedFailureAll. If we see the same kind of a condition
function passed to the decorator very often, then we probably need to
figure out how to add that as one of the "standard" keyword arguments.

pl


More information about the lldb-commits mailing list