diff options
| -rw-r--r-- | meta/classes-recipe/testimage.bbclass | 16 | ||||
| -rw-r--r-- | meta/lib/oeqa/core/target/qemu.py | 10 | ||||
| -rw-r--r-- | meta/lib/oeqa/core/target/ssh.py | 20 | ||||
| -rw-r--r-- | meta/lib/oeqa/targetcontrol.py | 2 |
4 files changed, 1 insertions, 47 deletions
diff --git a/meta/classes-recipe/testimage.bbclass b/meta/classes-recipe/testimage.bbclass index c6b7a1e142..f36d941891 100644 --- a/meta/classes-recipe/testimage.bbclass +++ b/meta/classes-recipe/testimage.bbclass | |||
| @@ -109,21 +109,6 @@ TESTIMAGE_DUMP_DIR ?= "${LOG_DIR}/runtime-hostdump/" | |||
| 109 | 109 | ||
| 110 | TESTIMAGE_UPDATE_VARS ?= "DL_DIR WORKDIR DEPLOY_DIR_IMAGE IMAGE_LINK_NAME" | 110 | TESTIMAGE_UPDATE_VARS ?= "DL_DIR WORKDIR DEPLOY_DIR_IMAGE IMAGE_LINK_NAME" |
| 111 | 111 | ||
| 112 | testimage_dump_target () { | ||
| 113 | top -bn1 | ||
| 114 | ps | ||
| 115 | free | ||
| 116 | df | ||
| 117 | # The next command will export the default gateway IP | ||
| 118 | export DEFAULT_GATEWAY=$(ip route | awk '/default/ { print $3}') | ||
| 119 | ping -c3 $DEFAULT_GATEWAY | ||
| 120 | dmesg | ||
| 121 | netstat -an | ||
| 122 | ip address | ||
| 123 | # Next command will dump logs from /var/log/ | ||
| 124 | find /var/log/ -type f -name !wtmp* 2>/dev/null -exec echo "====================" \; -exec echo {} \; -exec echo "====================" \; -exec cat {} \; -exec echo "" \; | ||
| 125 | } | ||
| 126 | |||
| 127 | testimage_dump_monitor () { | 112 | testimage_dump_monitor () { |
| 128 | query-status | 113 | query-status |
| 129 | query-block | 114 | query-block |
| @@ -352,7 +337,6 @@ def testimage_main(d): | |||
| 352 | target_kwargs['serialcontrol_cmd'] = d.getVar("TEST_SERIALCONTROL_CMD") or None | 337 | target_kwargs['serialcontrol_cmd'] = d.getVar("TEST_SERIALCONTROL_CMD") or None |
| 353 | target_kwargs['serialcontrol_extra_args'] = d.getVar("TEST_SERIALCONTROL_EXTRA_ARGS") or "" | 338 | target_kwargs['serialcontrol_extra_args'] = d.getVar("TEST_SERIALCONTROL_EXTRA_ARGS") or "" |
| 354 | target_kwargs['testimage_dump_monitor'] = d.getVar("testimage_dump_monitor") or "" | 339 | target_kwargs['testimage_dump_monitor'] = d.getVar("testimage_dump_monitor") or "" |
| 355 | target_kwargs['testimage_dump_target'] = d.getVar("testimage_dump_target") or "" | ||
| 356 | 340 | ||
| 357 | def export_ssh_agent(d): | 341 | def export_ssh_agent(d): |
| 358 | import os | 342 | import os |
diff --git a/meta/lib/oeqa/core/target/qemu.py b/meta/lib/oeqa/core/target/qemu.py index 6893d10226..d93b3ac94a 100644 --- a/meta/lib/oeqa/core/target/qemu.py +++ b/meta/lib/oeqa/core/target/qemu.py | |||
| @@ -14,8 +14,6 @@ from collections import defaultdict | |||
| 14 | 14 | ||
| 15 | from .ssh import OESSHTarget | 15 | from .ssh import OESSHTarget |
| 16 | from oeqa.utils.qemurunner import QemuRunner | 16 | from oeqa.utils.qemurunner import QemuRunner |
| 17 | from oeqa.utils.dump import MonitorDumper | ||
| 18 | from oeqa.utils.dump import TargetDumper | ||
| 19 | 17 | ||
| 20 | supported_fstypes = ['ext3', 'ext4', 'cpio.gz', 'wic'] | 18 | supported_fstypes = ['ext3', 'ext4', 'cpio.gz', 'wic'] |
| 21 | 19 | ||
| @@ -47,14 +45,6 @@ class OEQemuTarget(OESSHTarget): | |||
| 47 | use_kvm=kvm, use_slirp=slirp, dump_dir=dump_dir, logger=logger, | 45 | use_kvm=kvm, use_slirp=slirp, dump_dir=dump_dir, logger=logger, |
| 48 | serial_ports=serial_ports, boot_patterns = boot_patterns, | 46 | serial_ports=serial_ports, boot_patterns = boot_patterns, |
| 49 | use_ovmf=ovmf, tmpfsdir=tmpfsdir) | 47 | use_ovmf=ovmf, tmpfsdir=tmpfsdir) |
| 50 | dump_monitor_cmds = kwargs.get("testimage_dump_monitor") | ||
| 51 | self.monitor_dumper = MonitorDumper(dump_monitor_cmds, dump_dir, self.runner) | ||
| 52 | if self.monitor_dumper: | ||
| 53 | self.monitor_dumper.create_dir("qmp") | ||
| 54 | |||
| 55 | dump_target_cmds = kwargs.get("testimage_dump_target") | ||
| 56 | self.target_dumper = TargetDumper(dump_target_cmds, dump_dir, self.runner) | ||
| 57 | self.target_dumper.create_dir("qemu") | ||
| 58 | 48 | ||
| 59 | def start(self, params=None, extra_bootparams=None, runqemuparams=''): | 49 | def start(self, params=None, extra_bootparams=None, runqemuparams=''): |
| 60 | if self.use_slirp and not self.server_ip: | 50 | if self.use_slirp and not self.server_ip: |
diff --git a/meta/lib/oeqa/core/target/ssh.py b/meta/lib/oeqa/core/target/ssh.py index f4dd0ca417..09cdd14c75 100644 --- a/meta/lib/oeqa/core/target/ssh.py +++ b/meta/lib/oeqa/core/target/ssh.py | |||
| @@ -48,8 +48,6 @@ class OESSHTarget(OETarget): | |||
| 48 | if port: | 48 | if port: |
| 49 | self.ssh = self.ssh + [ '-p', port ] | 49 | self.ssh = self.ssh + [ '-p', port ] |
| 50 | self.scp = self.scp + [ '-P', port ] | 50 | self.scp = self.scp + [ '-P', port ] |
| 51 | self._monitor_dumper = None | ||
| 52 | self.target_dumper = None | ||
| 53 | 51 | ||
| 54 | def start(self, **kwargs): | 52 | def start(self, **kwargs): |
| 55 | pass | 53 | pass |
| @@ -57,15 +55,6 @@ class OESSHTarget(OETarget): | |||
| 57 | def stop(self, **kwargs): | 55 | def stop(self, **kwargs): |
| 58 | pass | 56 | pass |
| 59 | 57 | ||
| 60 | @property | ||
| 61 | def monitor_dumper(self): | ||
| 62 | return self._monitor_dumper | ||
| 63 | |||
| 64 | @monitor_dumper.setter | ||
| 65 | def monitor_dumper(self, dumper): | ||
| 66 | self._monitor_dumper = dumper | ||
| 67 | self.monitor_dumper.dump_monitor() | ||
| 68 | |||
| 69 | def _run(self, command, timeout=None, ignore_status=True): | 58 | def _run(self, command, timeout=None, ignore_status=True): |
| 70 | """ | 59 | """ |
| 71 | Runs command in target using SSHProcess. | 60 | Runs command in target using SSHProcess. |
| @@ -104,14 +93,7 @@ class OESSHTarget(OETarget): | |||
| 104 | 93 | ||
| 105 | status, output = self._run(sshCmd, processTimeout, ignore_status) | 94 | status, output = self._run(sshCmd, processTimeout, ignore_status) |
| 106 | self.logger.debug('Command: %s\nStatus: %d Output: %s\n' % (command, status, output)) | 95 | self.logger.debug('Command: %s\nStatus: %d Output: %s\n' % (command, status, output)) |
| 107 | if (status == 255) and (('No route to host') in output): | 96 | |
| 108 | if self.monitor_dumper: | ||
| 109 | self.monitor_dumper.dump_monitor() | ||
| 110 | if status == 255: | ||
| 111 | if self.target_dumper: | ||
| 112 | self.target_dumper.dump_target() | ||
| 113 | if self.monitor_dumper: | ||
| 114 | self.monitor_dumper.dump_monitor() | ||
| 115 | return (status, output) | 97 | return (status, output) |
| 116 | 98 | ||
| 117 | def copyTo(self, localSrc, remoteDst): | 99 | def copyTo(self, localSrc, remoteDst): |
diff --git a/meta/lib/oeqa/targetcontrol.py b/meta/lib/oeqa/targetcontrol.py index e21655c979..6e8b781973 100644 --- a/meta/lib/oeqa/targetcontrol.py +++ b/meta/lib/oeqa/targetcontrol.py | |||
| @@ -103,7 +103,6 @@ class QemuTarget(BaseTarget): | |||
| 103 | self.rootfs = os.path.join(d.getVar("DEPLOY_DIR_IMAGE"), d.getVar("IMAGE_LINK_NAME") + '.' + self.image_fstype) | 103 | self.rootfs = os.path.join(d.getVar("DEPLOY_DIR_IMAGE"), d.getVar("IMAGE_LINK_NAME") + '.' + self.image_fstype) |
| 104 | self.kernel = os.path.join(d.getVar("DEPLOY_DIR_IMAGE"), d.getVar("KERNEL_IMAGETYPE", False) + '-' + d.getVar('MACHINE', False) + '.bin') | 104 | self.kernel = os.path.join(d.getVar("DEPLOY_DIR_IMAGE"), d.getVar("KERNEL_IMAGETYPE", False) + '-' + d.getVar('MACHINE', False) + '.bin') |
| 105 | self.qemulog = os.path.join(self.testdir, "qemu_boot_log.%s" % self.datetime) | 105 | self.qemulog = os.path.join(self.testdir, "qemu_boot_log.%s" % self.datetime) |
| 106 | dump_target_cmds = d.getVar("testimage_dump_target") | ||
| 107 | dump_monitor_cmds = d.getVar("testimage_dump_monitor") | 106 | dump_monitor_cmds = d.getVar("testimage_dump_monitor") |
| 108 | dump_dir = d.getVar("TESTIMAGE_DUMP_DIR") | 107 | dump_dir = d.getVar("TESTIMAGE_DUMP_DIR") |
| 109 | if not dump_dir: | 108 | if not dump_dir: |
| @@ -144,7 +143,6 @@ class QemuTarget(BaseTarget): | |||
| 144 | tmpfsdir = d.getVar("RUNQEMU_TMPFS_DIR"), | 143 | tmpfsdir = d.getVar("RUNQEMU_TMPFS_DIR"), |
| 145 | serial_ports = len(d.getVar("SERIAL_CONSOLES").split())) | 144 | serial_ports = len(d.getVar("SERIAL_CONSOLES").split())) |
| 146 | 145 | ||
| 147 | self.target_dumper = TargetDumper(dump_target_cmds, dump_dir, self.runner) | ||
| 148 | self.monitor_dumper = MonitorDumper(dump_monitor_cmds, dump_dir, self.runner) | 146 | self.monitor_dumper = MonitorDumper(dump_monitor_cmds, dump_dir, self.runner) |
| 149 | if (self.monitor_dumper): | 147 | if (self.monitor_dumper): |
| 150 | self.monitor_dumper.create_dir("qmp") | 148 | self.monitor_dumper.create_dir("qmp") |
