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.