summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/oetest.py
diff options
context:
space:
mode:
authorStefan Stanacar <stefanx.stanacar@intel.com>2014-02-03 21:22:29 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-02-09 09:40:00 +0000
commit731acba417b627f6d3ef7e856cbe36491aa70d22 (patch)
tree3078a3b52f1bb357e7961d86a0184dcb92d28896 /meta/lib/oeqa/oetest.py
parentda1331b4ceca1729fa33818b89a2203ea8301103 (diff)
downloadpoky-731acba417b627f6d3ef7e856cbe36491aa70d22.tar.gz
testimage: add ability to export tests
Add the ability to export the tests so that they can run independently of the build system, as is required if you want to be able to hand the test execution off to a scheduler. Booting/deployment of the target is still handled by the build system, as before, only the execution of the tests happens outside of the build system. Tests exported are the ones defined in TEST_SUITES. No tests have been changed as interesting parts of the data store have been exported and tests can continue to query them as before. Small adjustments were made for a couple of oeqa modules though. [YOCTO #5613] (From OE-Core rev: 155dd52e0f707e06f50756584a50f744ba6b7844) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oeqa/oetest.py')
-rw-r--r--meta/lib/oeqa/oetest.py17
1 files changed, 6 insertions, 11 deletions
diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py
index 23a3e5d69f..0db6cb80a9 100644
--- a/meta/lib/oeqa/oetest.py
+++ b/meta/lib/oeqa/oetest.py
@@ -10,8 +10,6 @@
10import os, re, mmap 10import os, re, mmap
11import unittest 11import unittest
12import inspect 12import inspect
13import bb
14from oeqa.utils.sshcontrol import SSHControl
15 13
16 14
17def loadTests(tc): 15def loadTests(tc):
@@ -31,15 +29,14 @@ def loadTests(tc):
31def runTests(tc): 29def runTests(tc):
32 30
33 suite = loadTests(tc) 31 suite = loadTests(tc)
34 bb.note("Test modules %s" % tc.testslist) 32 print("Test modules %s" % tc.testslist)
35 bb.note("Found %s tests" % suite.countTestCases()) 33 print("Found %s tests" % suite.countTestCases())
36 runner = unittest.TextTestRunner(verbosity=2) 34 runner = unittest.TextTestRunner(verbosity=2)
37 result = runner.run(suite) 35 result = runner.run(suite)
38 36
39 return result 37 return result
40 38
41 39
42
43class oeTest(unittest.TestCase): 40class oeTest(unittest.TestCase):
44 41
45 longMessage = True 42 longMessage = True
@@ -60,18 +57,16 @@ class oeTest(unittest.TestCase):
60 57
61 @classmethod 58 @classmethod
62 def hasPackage(self, pkg): 59 def hasPackage(self, pkg):
63 manifest = os.path.join(oeTest.tc.d.getVar("DEPLOY_DIR_IMAGE", True), oeTest.tc.d.getVar("IMAGE_LINK_NAME", True) + ".manifest") 60
64 with open(manifest) as f: 61 if re.search(pkg, oeTest.tc.pkgmanifest):
65 data = f.read()
66 if re.search(pkg, data):
67 return True 62 return True
68 return False 63 return False
69 64
70 @classmethod 65 @classmethod
71 def hasFeature(self,feature): 66 def hasFeature(self,feature):
72 67
73 if feature in oeTest.tc.d.getVar("IMAGE_FEATURES", True).split() or \ 68 if feature in oeTest.tc.imagefeatures or \
74 feature in oeTest.tc.d.getVar("DISTRO_FEATURES", True).split(): 69 feature in oeTest.tc.distrofeatures:
75 return True 70 return True
76 else: 71 else:
77 return False 72 return False