]> code.ossystems Code Review - openembedded-core.git/commitdiff
oeqa/core/decorator/__init__.py: set metaclass to ABCMeta
authorChen Qi <Qi.Chen@windriver.com>
Fri, 1 Jun 2018 05:03:00 +0000 (13:03 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 4 Jun 2018 14:14:43 +0000 (15:14 +0100)
OETestFilter is a subclass of OETestDecorator. It wants to make
use of @abstractmethod decorator. But such decorator requires
metaclass to be ABCMeta to have effect. So add it now to achieve
the designed behaviour.

Comments from python's manual:
"""
Using this decorator requires that the class's metaclass is ABCMeta
or is derived from it.
"""

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oeqa/core/decorator/__init__.py

index 855b6b9d281a45bdb0d1083fa79c1e5f0a1da8b7..6ca0acf3531b4f54235a55f66e03795e12a9e025 100644 (file)
@@ -2,7 +2,7 @@
 # Released under the MIT license (see COPYING.MIT)
 
 from functools import wraps
-from abc import abstractmethod
+from abc import abstractmethod, ABCMeta
 
 decoratorClasses = set()
 
@@ -10,7 +10,7 @@ def registerDecorator(obj):
     decoratorClasses.add(obj)
     return obj
 
-class OETestDecorator(object):
+class OETestDecorator(object, metaclass=ABCMeta):
     case = None # Reference of OETestCase decorated
     attrs = None # Attributes to be loaded by decorator implementation