Fine-grained waiving
Allow waiving only certain architectures or trees by turning the waived
attribute into a Pattern
instead of a boolean. Also extend the definition of Pattern
to include booleans (patterns that always/never match) for compatibility and to allow what is probably going to remain a common case (waiving unconditionally).
NOTE: There is a pretty hacky thing going on here, hence the WIP mark so that this cannot be merged by accident. The hack is that there is a subtle but potentially important change, namely that the tests passed on to the Beaker XML templates are not the tests-as-defined-in-kpet-db anymore, but the "resolved" version of the tests for the given target (this only affects the waived
attribute for now). It's probably not a problem because Base (the kpet-db class) already has a target in the constructor, but I figured I'd ask and discuss before assuming there aren't any bad consequences. Also the implementation is a bit hacky, so we might want to improve that even if we accept the idea as-is.
NOTE 2: Also this is not that well tested. I wanted to discuss with Nikolai before I work more on this. So it might work as it is now, but I'm not sure!