Files
meta-zephyr/lib/oeqa/controllers/zephyrtargetcontrol.py
yockgenm 36e7d48141 zephyr: Yocto Image Tests Fix
Fix bug on Image Test, previously the Image Tests was not working
due to update on Yocto Image Test Framework.

The fix has rewritten and restructured existing Image Tests code
to latest Yocto testimage class requirement to make meta-zephyr
able to run Image Tests as expected.

Signed-off-by: yockgenm <yock.gen.mah@intel.com>
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
2020-11-09 12:27:14 +08:00

63 lines
2.3 KiB
Python

# Copyright (C) 2016-2017 Intel Corporation
# Released under the MIT license (see COPYING.MIT)
import os
import sys
import signal
import logging
from oeqa.core.target.__init__ import OETarget
from oeqa.utils.qemuzephyrrunner import QemuZephyrRunner
supported_fstypes = ['elf']
class QemuTargetZephyr(OETarget):
def __init__(self, logger, ip, server_ip,
machine='', rootfs='', tmpdir ='',dir_image ='',display=None,
kernel='',boottime=60,bootlog='',kvm=False,slirp=False,
dump_dir='',serial_ports=0,ovmf=None,target_modules_path='',powercontrol_cmd='',powercontrol_extra_args='',
serialcontrol_cmd=None,serialcontrol_extra_args='',testimage_dump_target='' ):
timeout = 300
user = 'root'
port = serial_ports
dump_host_cmds = testimage_dump_target
super(QemuTargetZephyr, self).__init__(logger, ip, server_ip, timeout,
user, port)
self.ip = ip
self.server_ip = server_ip
self.machine = machine
self.rootfs = rootfs
self.qemulog = bootlog
self.kernel = kernel
self.kvm = kvm
# Log QemuRunner log output to a file
import oe.path
from oeqa.utils.qemuzephyrrunner import QemuZephyrRunner
self.qemurunnerlog = bootlog
logger = logging.getLogger('BitBake.QemuRunner')
loggerhandler = logging.FileHandler(self.qemurunnerlog)
loggerhandler.setFormatter(logging.Formatter("%(levelname)s: %(message)s"))
logger.addHandler(loggerhandler)
self.runner = QemuZephyrRunner(machine=machine, rootfs=rootfs, tmpdir=tmpdir,
deploy_dir_image=dir_image, display=display,
logfile=self.qemulog, boottime=boottime,
use_kvm=kvm, dump_dir=dump_dir,
dump_host_cmds=dump_host_cmds,
logger = logger)
def start(self, params=None, runqemuparams=None, extra_bootparams=None):
if self.runner.start(params, extra_bootparams=extra_bootparams):
self.ip = self.runner.ip
self.server_ip = self.runner.server_ip
else:
raise RuntimeError("FAILED to start qemu - check the task log and the boot log")
def serial_readline(self):
return self.runner.serial_readline()