summaryrefslogtreecommitdiff
path: root/poky/meta/lib/oeqa/core/target
diff options
context:
space:
mode:
Diffstat (limited to 'poky/meta/lib/oeqa/core/target')
-rw-r--r--poky/meta/lib/oeqa/core/target/qemu.py5
-rw-r--r--poky/meta/lib/oeqa/core/target/ssh.py7
2 files changed, 9 insertions, 3 deletions
diff --git a/poky/meta/lib/oeqa/core/target/qemu.py b/poky/meta/lib/oeqa/core/target/qemu.py
index 79fd724f7d..6893d10226 100644
--- a/poky/meta/lib/oeqa/core/target/qemu.py
+++ b/poky/meta/lib/oeqa/core/target/qemu.py
@@ -22,7 +22,7 @@ supported_fstypes = ['ext3', 'ext4', 'cpio.gz', 'wic']
class OEQemuTarget(OESSHTarget):
def __init__(self, logger, server_ip, timeout=300, user='root',
port=None, machine='', rootfs='', kernel='', kvm=False, slirp=False,
- dump_dir='', dump_host_cmds='', display='', bootlog='',
+ dump_dir='', display='', bootlog='',
tmpdir='', dir_image='', boottime=60, serial_ports=2,
boot_patterns = defaultdict(str), ovmf=False, tmpfsdir=None, **kwargs):
@@ -44,8 +44,7 @@ class OEQemuTarget(OESSHTarget):
self.runner = QemuRunner(machine=machine, rootfs=rootfs, tmpdir=tmpdir,
deploy_dir_image=dir_image, display=display,
logfile=bootlog, boottime=boottime,
- use_kvm=kvm, use_slirp=slirp, dump_dir=dump_dir,
- dump_host_cmds=dump_host_cmds, logger=logger,
+ use_kvm=kvm, use_slirp=slirp, dump_dir=dump_dir, logger=logger,
serial_ports=serial_ports, boot_patterns = boot_patterns,
use_ovmf=ovmf, tmpfsdir=tmpfsdir)
dump_monitor_cmds = kwargs.get("testimage_dump_monitor")
diff --git a/poky/meta/lib/oeqa/core/target/ssh.py b/poky/meta/lib/oeqa/core/target/ssh.py
index 51079075b5..a9566d9bd6 100644
--- a/poky/meta/lib/oeqa/core/target/ssh.py
+++ b/poky/meta/lib/oeqa/core/target/ssh.py
@@ -250,6 +250,9 @@ def SSHCall(command, logger, timeout=None, **opts):
except InterruptedError:
logger.debug('InterruptedError')
continue
+ except BlockingIOError:
+ logger.debug('BlockingIOError')
+ continue
process.stdout.close()
@@ -267,6 +270,7 @@ def SSHCall(command, logger, timeout=None, **opts):
" running time: %d seconds." % (timeout, endtime))
logger.debug('Received data from SSH call:\n%s ' % lastline)
output += lastline
+ process.wait()
else:
output_raw = process.communicate()[0]
@@ -284,6 +288,7 @@ def SSHCall(command, logger, timeout=None, **opts):
except OSError:
logger.debug('OSError')
pass
+ process.wait()
options = {
"stdout": subprocess.PIPE,
@@ -310,6 +315,8 @@ def SSHCall(command, logger, timeout=None, **opts):
# whilst running and ensure we don't leave a process behind.
if process.poll() is None:
process.kill()
+ if process.returncode == None:
+ process.wait()
logger.debug('Something went wrong, killing SSH process')
raise