summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/oetest.py
diff options
context:
space:
mode:
authorStefan Stanacar <stefanx.stanacar@intel.com>2013-11-26 11:18:22 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-12-03 17:45:51 +0000
commitb4d9b4208b1c06164c4eeea2110408fb404dba1c (patch)
tree12709d6e6b26777f9a2973022a2e7b32ea0e3d2b /meta/lib/oeqa/oetest.py
parentfd2d16519d964ef3420cb83ac9680a4b6206cefa (diff)
downloadpoky-b4d9b4208b1c06164c4eeea2110408fb404dba1c.tar.gz
testimage: use the new targetcontrol.py module for running tests
This patch makes the necessary changes for using the targetcontrol.py module so that one can run the same tests on a qemu instance or a remote machine based on the value of TEST_TARGET variable: "qemu" or "simpleremote". The default value is "qemu" which starts a qemu instance and it's the with what we currently have. With "simpleremote", the remote machine must be up with network and ssh and you need to set TEST_TARGET_IP with the IP address of the remote machine (it can still be a qemu instance that was manually started). Basically testimage.bbclass now does something along the lines of: - load tests -> deploy (prepare) / start target -> run tests. There were a couple of changes necessary for tests and also some cleanups/renames that were needed to adjust this change. (use ip everywhere when refering to target and server_ip when refering to host/build machine) Also two unnecessary and unsed methods were dropped from sshcontrol. [ YOCTO #5554 ] (From OE-Core rev: a7820350fa3271d78ed7476e02f4aef593be1125) Signed-off-by: Stefan Stanacar <stefanx.stanacar@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.py20
1 files changed, 10 insertions, 10 deletions
diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py
index 95661506e3..70d12a225e 100644
--- a/meta/lib/oeqa/oetest.py
+++ b/meta/lib/oeqa/oetest.py
@@ -14,7 +14,7 @@ import bb
14from oeqa.utils.sshcontrol import SSHControl 14from oeqa.utils.sshcontrol import SSHControl
15 15
16 16
17def runTests(tc): 17def loadTests(tc):
18 18
19 # set the context object passed from the test class 19 # set the context object passed from the test class
20 setattr(oeTest, "tc", tc) 20 setattr(oeTest, "tc", tc)
@@ -24,12 +24,16 @@ def runTests(tc):
24 suite = unittest.TestSuite() 24 suite = unittest.TestSuite()
25 testloader = unittest.TestLoader() 25 testloader = unittest.TestLoader()
26 testloader.sortTestMethodsUsing = None 26 testloader.sortTestMethodsUsing = None
27 runner = unittest.TextTestRunner(verbosity=2) 27 suite = testloader.loadTestsFromNames(tc.testslist)
28
29 return suite
30
31def runTests(tc):
28 32
33 suite = loadTests(tc)
29 bb.note("Test modules %s" % tc.testslist) 34 bb.note("Test modules %s" % tc.testslist)
30 suite = testloader.loadTestsFromNames(tc.testslist)
31 bb.note("Found %s tests" % suite.countTestCases()) 35 bb.note("Found %s tests" % suite.countTestCases())
32 36 runner = unittest.TextTestRunner(verbosity=2)
33 result = runner.run(suite) 37 result = runner.run(suite)
34 38
35 return result 39 return result
@@ -81,11 +85,7 @@ class oeRuntimeTest(oeTest):
81 85
82 @classmethod 86 @classmethod
83 def restartTarget(self,params=None): 87 def restartTarget(self,params=None):
84 88 oeRuntimeTest.tc.target.restart(params)
85 if oeRuntimeTest.tc.qemu.restart(params):
86 oeRuntimeTest.tc.target.host = oeRuntimeTest.tc.qemu.ip
87 else:
88 raise Exception("Restarting target failed")
89 89
90 90
91def getmodule(pos=2): 91def getmodule(pos=2):
@@ -103,7 +103,7 @@ def skipModule(reason, pos=2):
103 else: 103 else:
104 raise Exception("\nTest %s wants to be skipped.\nReason is: %s" \ 104 raise Exception("\nTest %s wants to be skipped.\nReason is: %s" \
105 "\nTest was required in TEST_SUITES, so either the condition for skipping is wrong" \ 105 "\nTest was required in TEST_SUITES, so either the condition for skipping is wrong" \
106 "\nor the image really doesn't have the requred feature/package when it should." % (modname, reason)) 106 "\nor the image really doesn't have the required feature/package when it should." % (modname, reason))
107 107
108def skipModuleIf(cond, reason): 108def skipModuleIf(cond, reason):
109 109