From 047af4ce864bbf98e2617b348ae9ccb77ac52871 Mon Sep 17 00:00:00 2001 From: Mariano Lopez Date: Wed, 9 Nov 2016 11:14:23 -0600 Subject: oeqa/core/decorator: Add support for OETestID and OETestTag MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These two decorators stores certain TAG or ID for the test case also provides support for filtering in loading step. [YOCTO #10236] Signed-off-by: Mariano Lopez Signed-off-by: Aníbal Limón --- meta/lib/oeqa/core/decorator/oeid.py | 23 +++++++++++++++++++++++ meta/lib/oeqa/core/decorator/oetag.py | 24 ++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 meta/lib/oeqa/core/decorator/oeid.py create mode 100644 meta/lib/oeqa/core/decorator/oetag.py (limited to 'meta') diff --git a/meta/lib/oeqa/core/decorator/oeid.py b/meta/lib/oeqa/core/decorator/oeid.py new file mode 100644 index 0000000000..ea8017a55a --- /dev/null +++ b/meta/lib/oeqa/core/decorator/oeid.py @@ -0,0 +1,23 @@ +# Copyright (C) 2016 Intel Corporation +# Released under the MIT license (see COPYING.MIT) + +from . import OETestFilter, registerDecorator +from oeqa.core.utils.misc import intToList + +def _idFilter(oeid, filters): + return False if oeid in filters else True + +@registerDecorator +class OETestID(OETestFilter): + attrs = ('oeid',) + + def bind(self, registry, case): + super(OETestID, self).bind(registry, case) + + def filtrate(self, filters): + if filters.get('oeid'): + filterx = intToList(filters['oeid'], 'oeid') + del filters['oeid'] + if _idFilter(self.oeid, filterx): + return True + return False diff --git a/meta/lib/oeqa/core/decorator/oetag.py b/meta/lib/oeqa/core/decorator/oetag.py new file mode 100644 index 0000000000..ad38ab78a5 --- /dev/null +++ b/meta/lib/oeqa/core/decorator/oetag.py @@ -0,0 +1,24 @@ +# Copyright (C) 2016 Intel Corporation +# Released under the MIT license (see COPYING.MIT) + +from . import OETestFilter, registerDecorator +from oeqa.core.utils.misc import strToList + +def _tagFilter(tags, filters): + return False if set(tags) & set(filters) else True + +@registerDecorator +class OETestTag(OETestFilter): + attrs = ('oetag',) + + def bind(self, registry, case): + super(OETestTag, self).bind(registry, case) + self.oetag = strToList(self.oetag, 'oetag') + + def filtrate(self, filters): + if filters.get('oetag'): + filterx = strToList(filters['oetag'], 'oetag') + del filters['oetag'] + if _tagFilter(self.oetag, filterx): + return True + return False -- cgit v1.2.3