The goal here is to try to improve consistency across the variety of decorators we support. This patch makes the following changes:
- Change the not_in function to be a class object called no_match. This indicates that it can be used for more than just checking list membership, and that instead it negates whatever condition is used to normally match.
- Change the name of _check_list_or_lambda to match_decorator_property. This indicates that it could be more than a list or a lambda.
- Always use a regex match when matching strings in match_decorator_property. This allows any string on any decoratory property to automatically support regex matching.
- Also support the use of compiled regexes on decorator properties.
- Fix a bug in the compiler check used by _decorateTest. The two arguments were reversed, so that check was not matching when it should have matched.
- Change one test that uses skipUnlessArch to use skipIf. Now that skipIf supports regex matching on the architecture property, this works, and as a followup skipUnlessArch will be removed entirely.
Note that you won't be able to apply this patch unless you apply it on top of my previous review D16936.
The actual value should be simply lldb.remote_platform is not None. When remote_platform is None, we are local, when it is not None, we are remote.
Btw, since this flag can only have three values (None, True, False), the _match_decorator property dance is not really necessary. Although, I guess it won't hurt either...