diff options
Diffstat (limited to 'meta/lib/oeqa/core')
| -rw-r--r-- | meta/lib/oeqa/core/target/qemu.py | 6 | ||||
| -rw-r--r-- | meta/lib/oeqa/core/target/ssh.py | 17 |
2 files changed, 22 insertions, 1 deletions
diff --git a/meta/lib/oeqa/core/target/qemu.py b/meta/lib/oeqa/core/target/qemu.py index 792efca1f8..4a5df4a9a8 100644 --- a/meta/lib/oeqa/core/target/qemu.py +++ b/meta/lib/oeqa/core/target/qemu.py | |||
| @@ -12,6 +12,7 @@ from collections import defaultdict | |||
| 12 | 12 | ||
| 13 | from .ssh import OESSHTarget | 13 | from .ssh import OESSHTarget |
| 14 | from oeqa.utils.qemurunner import QemuRunner | 14 | from oeqa.utils.qemurunner import QemuRunner |
| 15 | from oeqa.utils.dump import MonitorDumper | ||
| 15 | from oeqa.utils.dump import TargetDumper | 16 | from oeqa.utils.dump import TargetDumper |
| 16 | 17 | ||
| 17 | supported_fstypes = ['ext3', 'ext4', 'cpio.gz', 'wic'] | 18 | supported_fstypes = ['ext3', 'ext4', 'cpio.gz', 'wic'] |
| @@ -43,6 +44,11 @@ class OEQemuTarget(OESSHTarget): | |||
| 43 | dump_host_cmds=dump_host_cmds, logger=logger, | 44 | dump_host_cmds=dump_host_cmds, logger=logger, |
| 44 | serial_ports=serial_ports, boot_patterns = boot_patterns, | 45 | serial_ports=serial_ports, boot_patterns = boot_patterns, |
| 45 | use_ovmf=ovmf, tmpfsdir=tmpfsdir) | 46 | use_ovmf=ovmf, tmpfsdir=tmpfsdir) |
| 47 | dump_monitor_cmds = kwargs.get("testimage_dump_monitor") | ||
| 48 | self.monitor_dumper = MonitorDumper(dump_monitor_cmds, dump_dir, self.runner) | ||
| 49 | if self.monitor_dumper: | ||
| 50 | self.monitor_dumper.create_dir("qmp") | ||
| 51 | |||
| 46 | dump_target_cmds = kwargs.get("testimage_dump_target") | 52 | dump_target_cmds = kwargs.get("testimage_dump_target") |
| 47 | self.target_dumper = TargetDumper(dump_target_cmds, dump_dir, self.runner) | 53 | self.target_dumper = TargetDumper(dump_target_cmds, dump_dir, self.runner) |
| 48 | self.target_dumper.create_dir("qemu") | 54 | self.target_dumper.create_dir("qemu") |
diff --git a/meta/lib/oeqa/core/target/ssh.py b/meta/lib/oeqa/core/target/ssh.py index 461448dbc5..923a223b25 100644 --- a/meta/lib/oeqa/core/target/ssh.py +++ b/meta/lib/oeqa/core/target/ssh.py | |||
| @@ -43,6 +43,7 @@ class OESSHTarget(OETarget): | |||
| 43 | if port: | 43 | if port: |
| 44 | self.ssh = self.ssh + [ '-p', port ] | 44 | self.ssh = self.ssh + [ '-p', port ] |
| 45 | self.scp = self.scp + [ '-P', port ] | 45 | self.scp = self.scp + [ '-P', port ] |
| 46 | self._monitor_dumper = None | ||
| 46 | 47 | ||
| 47 | def start(self, **kwargs): | 48 | def start(self, **kwargs): |
| 48 | pass | 49 | pass |
| @@ -50,6 +51,15 @@ class OESSHTarget(OETarget): | |||
| 50 | def stop(self, **kwargs): | 51 | def stop(self, **kwargs): |
| 51 | pass | 52 | pass |
| 52 | 53 | ||
| 54 | @property | ||
| 55 | def monitor_dumper(self): | ||
| 56 | return self._monitor_dumper | ||
| 57 | |||
| 58 | @monitor_dumper.setter | ||
| 59 | def monitor_dumper(self, dumper): | ||
| 60 | self._monitor_dumper = dumper | ||
| 61 | self.monitor_dumper.dump_monitor() | ||
| 62 | |||
| 53 | def _run(self, command, timeout=None, ignore_status=True): | 63 | def _run(self, command, timeout=None, ignore_status=True): |
| 54 | """ | 64 | """ |
| 55 | Runs command in target using SSHProcess. | 65 | Runs command in target using SSHProcess. |
| @@ -87,9 +97,14 @@ class OESSHTarget(OETarget): | |||
| 87 | processTimeout = self.timeout | 97 | processTimeout = self.timeout |
| 88 | 98 | ||
| 89 | status, output = self._run(sshCmd, processTimeout, True) | 99 | status, output = self._run(sshCmd, processTimeout, True) |
| 90 | self.logger.debug('Command: %s\nOutput: %s\n' % (command, output)) | 100 | self.logger.debug('Command: %s\nStatus: %d Output: %s\n' % (command, status, output)) |
| 91 | if (status == 255) and (('No route to host') in output): | 101 | if (status == 255) and (('No route to host') in output): |
| 102 | if self.monitor_dumper: | ||
| 103 | self.monitor_dumper.dump_monitor() | ||
| 104 | if status == 255: | ||
| 92 | self.target_dumper.dump_target() | 105 | self.target_dumper.dump_target() |
| 106 | if self.monitor_dumper: | ||
| 107 | self.monitor_dumper.dump_monitor() | ||
| 93 | return (status, output) | 108 | return (status, output) |
| 94 | 109 | ||
| 95 | def copyTo(self, localSrc, remoteDst): | 110 | def copyTo(self, localSrc, remoteDst): |
