[gnome-continuous-yocto/gnomeostree-3.28-rocko: 4199/8267] oeqa/core/decorator: Add support for OETestDataDepends and skipIfDataVar



commit 4da4091cee20fd425addccd0d267a5b40f1ab8cd
Author: Aníbal Limón <anibal limon linux intel com>
Date:   Wed Nov 9 11:24:57 2016 -0600

    oeqa/core/decorator: Add support for OETestDataDepends and skipIfDataVar
    
    The OETestDataDepends decorator skips a test case if a variable
    isn't into test data (d).
    
    The skipIfDataVar decorator skips a test case if a variable
    has certain value.
    
    (From OE-Core rev: 7dc519d20e835ee7693c31903e164c4bc0e5e598)
    
    Signed-off-by: Aníbal Limón <anibal limon linux intel com>
    Signed-off-by: Mariano Lopez <mariano lopez linux intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 meta/lib/oeqa/core/decorator/data.py |   36 ++++++++++++++++++++++++++++++++++
 1 files changed, 36 insertions(+), 0 deletions(-)
---
diff --git a/meta/lib/oeqa/core/decorator/data.py b/meta/lib/oeqa/core/decorator/data.py
new file mode 100644
index 0000000..73cca88
--- /dev/null
+++ b/meta/lib/oeqa/core/decorator/data.py
@@ -0,0 +1,36 @@
+# Copyright (C) 2016 Intel Corporation
+# Released under the MIT license (see COPYING.MIT)
+
+from oeqa.core.exception import OEQAMissingVariable
+
+from . import OETestDecorator, registerDecorator
+
+@registerDecorator
+class skipIfDataVar(OETestDecorator):
+    """
+        Skip test based on value of a data store's variable.
+
+        It will get the info of var from the data store and will
+        check it against value; if are equal it will skip the test
+        with msg as the reason.
+    """
+
+    attrs = ('var', 'value', 'msg')
+
+    def setUpDecorator(self):
+        msg = 'Checking if %r value is %r to skip test' % (self.var, self.value)
+        self.logger.debug(msg)
+        if self.case.td.get(self.var) == self.value:
+            self.case.skipTest(self.msg)
+
+@registerDecorator
+class OETestDataDepends(OETestDecorator):
+    attrs = ('td_depends',)
+
+    def setUpDecorator(self):
+        for v in self.td_depends:
+            try:
+                value = self.case.td[v]
+            except KeyError:
+                raise OEQAMissingVariable("Test case need %s variable but"\
+                        " isn't into td" % v)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]