aboutsummaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/utils/decorators.py
diff options
context:
space:
mode:
authorRadu Moisan <radu.moisan@intel.com>2013-06-28 11:28:57 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-07-09 10:53:45 +0100
commit54f3848397640d3c6b6990bef727834bd364aa45 (patch)
tree4061695a12988bf32c043539cb294834eae2eb2b /meta/lib/oeqa/utils/decorators.py
parent88a6eb8027ae999fb53362d864301a3d525877d3 (diff)
downloadopenembedded-core-contrib-54f3848397640d3c6b6990bef727834bd364aa45.tar.gz
lib/oeqa/utils/decorators.py: decorators for test methods
Some skip decorators meant only for test methods, providing some kind of test methods dependency. They are used together with a test method name not a condition. These are complementary to python's unittest skip decorators. (From OE-Core rev: 79cb89648702aa80ec986e0026c62948de905b87) Signed-off-by: Radu Moisan <radu.moisan@intel.com> Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oeqa/utils/decorators.py')
-rw-r--r--meta/lib/oeqa/utils/decorators.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/meta/lib/oeqa/utils/decorators.py b/meta/lib/oeqa/utils/decorators.py
new file mode 100644
index 0000000000..21e6b22cb9
--- /dev/null
+++ b/meta/lib/oeqa/utils/decorators.py
@@ -0,0 +1,40 @@
+from oeqa.oetest import *
+
+class skipIfFailure(object):
+
+ def __init__(self,testcase):
+ self.testcase = testcase
+
+ def __call__(self,f):
+ def wrapped_f(*args):
+ if self.testcase in (oeRuntimeTest.testFailures or oeRuntimeTest.testErrors):
+ raise unittest.SkipTest("Testcase dependency not met: %s" % self.testcase)
+ f(*args)
+ wrapped_f.__name__ = f.__name__
+ return wrapped_f
+
+class skipIfSkipped(object):
+
+ def __init__(self,testcase):
+ self.testcase = testcase
+
+ def __call__(self,f):
+ def wrapped_f(*args):
+ if self.testcase in oeRuntimeTest.testSkipped:
+ raise unittest.SkipTest("Testcase dependency not met: %s" % self.testcase)
+ f(*args)
+ wrapped_f.__name__ = f.__name__
+ return wrapped_f
+
+class skipUnlessPassed(object):
+
+ def __init__(self,testcase):
+ self.testcase = testcase
+
+ def __call__(self,f):
+ def wrapped_f(*args):
+ if self.testcase in (oeRuntimeTest.testSkipped, oeRuntimeTest.testFailures, oeRuntimeTest.testErrors):
+ raise unittest.SkipTest("Testcase dependency not met: %s" % self.testcase)
+ f(*args)
+ wrapped_f.__name__ = f.__name__
+ return wrapped_f