diff options
Diffstat (limited to 'meta/lib/oeqa/core/decorator/__init__.py')
-rw-r--r-- | meta/lib/oeqa/core/decorator/__init__.py | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/meta/lib/oeqa/core/decorator/__init__.py b/meta/lib/oeqa/core/decorator/__init__.py index 14d7bfcd35..93efd30e1d 100644 --- a/meta/lib/oeqa/core/decorator/__init__.py +++ b/meta/lib/oeqa/core/decorator/__init__.py @@ -1,8 +1,11 @@ +# # Copyright (C) 2016 Intel Corporation -# Released under the MIT license (see COPYING.MIT) +# +# SPDX-License-Identifier: MIT +# from functools import wraps -from abc import abstractmethod, ABCMeta +from abc import ABCMeta decoratorClasses = set() @@ -60,12 +63,12 @@ class OETestDiscover(OETestDecorator): def discover(registry): return registry['cases'] -class OETestFilter(OETestDecorator): - - # OETestLoader call it while loading the tests - # in loadTestsFromTestCase method, it needs to - # return a bool, True if needs to be filtered. - # This method must consume the filter used. - @abstractmethod - def filtrate(self, filters): - return False +def OETestTag(*tags): + def decorator(item): + if hasattr(item, "__oeqa_testtags"): + # do not append, create a new list (to handle classes with inheritance) + item.__oeqa_testtags = list(item.__oeqa_testtags) + list(tags) + else: + item.__oeqa_testtags = tags + return item + return decorator |