diff options
author | Stefan Stanacar <stefanx.stanacar@intel.com> | 2013-11-26 11:18:22 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-12-03 12:51:57 +0000 |
commit | a7820350fa3271d78ed7476e02f4aef593be1125 (patch) | |
tree | 20561420d3cd1a5607f6fafe2d0f5f58d3035d42 /meta/lib/oeqa/utils/sshcontrol.py | |
parent | b7a0e1c351e396af6470e59c428128789295bd96 (diff) | |
download | openembedded-core-contrib-a7820350fa3271d78ed7476e02f4aef593be1125.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 ]
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/sshcontrol.py')
-rw-r--r-- | meta/lib/oeqa/utils/sshcontrol.py | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/meta/lib/oeqa/utils/sshcontrol.py b/meta/lib/oeqa/utils/sshcontrol.py index 07257b8948..a0dcf023bd 100644 --- a/meta/lib/oeqa/utils/sshcontrol.py +++ b/meta/lib/oeqa/utils/sshcontrol.py @@ -13,8 +13,8 @@ import select class SSHControl(object): - def __init__(self, host=None, timeout=300, logfile=None): - self.host = host + def __init__(self, ip=None, timeout=300, logfile=None): + self.ip = ip self.timeout = timeout self._starttime = None self._out = '' @@ -35,7 +35,7 @@ class SSHControl(object): def _internal_run(self, cmd): # We need this for a proper PATH cmd = ". /etc/profile; " + cmd - command = self.ssh + [self.host, cmd] + command = self.ssh + [self.ip, cmd] self.log("[Running]$ %s" % " ".join(command)) self._starttime = time.time() # ssh hangs without os.setsid @@ -48,10 +48,10 @@ class SSHControl(object): if time is 0 will let cmd run until it finishes. Time can be passed to here or can be set per class instance.""" - if self.host: + if self.ip: sshconn = self._internal_run(cmd) else: - raise Exception("Remote IP/host hasn't been set, I can't run ssh without one.") + raise Exception("Remote IP hasn't been set, I can't run ssh without one.") # run the command forever if timeout == 0: @@ -108,15 +108,9 @@ class SSHControl(object): return (ret, out) def copy_to(self, localpath, remotepath): - actualcmd = [localpath, 'root@%s:%s' % (self.host, remotepath)] + actualcmd = [localpath, 'root@%s:%s' % (self.ip, remotepath)] return self._internal_scp(actualcmd) def copy_from(self, remotepath, localpath): - actualcmd = ['root@%s:%s' % (self.host, remotepath), localpath] + actualcmd = ['root@%s:%s' % (self.ip, remotepath), localpath] return self._internal_scp(actualcmd) - - def get_status(self): - return self._ret - - def get_output(self): - return self._out |