def __init__(self, machine, rootfs, display, tmpdir, deploy_dir_image, logfile, boottime, dump_dir, dump_host_cmds, use_kvm, logger, use_slirp=False): # Popen object for runqemu self.runqemu = None # pid of the qemu process that runqemu will start self.qemupid = None # target ip - from the command line or runqemu output self.ip = None # host ip - where qemu is running self.server_ip = None # target ip netmask self.netmask = None self.machine = machine self.rootfs = rootfs self.display = display self.tmpdir = tmpdir self.deploy_dir_image = deploy_dir_image self.logfile = logfile self.boottime = boottime self.logged = False self.thread = None self.use_kvm = use_kvm self.use_slirp = use_slirp self.msg = '' self.runqemutime = 120 self.qemu_pidfile = 'pidfile_'+str(os.getpid()) self.host_dumper = HostDumper(dump_host_cmds, dump_dir) self.logger = logger
def __init__(self, machine, rootfs, display, tmpdir, deploy_dir_image, logfile, boottime, dump_dir, dump_host_cmds, use_kvm): # Popen object for runqemu self.runqemu = None # pid of the qemu process that runqemu will start self.qemupid = None # target ip - from the command line self.ip = None # host ip - where qemu is running self.server_ip = None self.machine = machine self.rootfs = rootfs self.display = display self.tmpdir = tmpdir self.deploy_dir_image = deploy_dir_image self.logfile = logfile self.boottime = boottime self.logged = False self.thread = None self.use_kvm = use_kvm self.runqemutime = 60 self.host_dumper = HostDumper(dump_host_cmds, dump_dir)
def __init__(self, machine, rootfs, display, tmpdir, deploy_dir_image, logfile, boottime, dump_dir, dump_host_cmds, use_kvm, logger, use_slirp=False, serial_ports=2, boot_patterns = defaultdict(str), use_ovmf=False, workdir=None, tmpfsdir=None): # Popen object for runqemu self.runqemu = None self.runqemu_exited = False # pid of the qemu process that runqemu will start self.qemupid = None # target ip - from the command line or runqemu output self.ip = None # host ip - where qemu is running self.server_ip = None # target ip netmask self.netmask = None self.machine = machine self.rootfs = rootfs self.display = display self.tmpdir = tmpdir self.deploy_dir_image = deploy_dir_image self.logfile = logfile self.boottime = boottime self.logged = False self.thread = None self.use_kvm = use_kvm self.use_ovmf = use_ovmf self.use_slirp = use_slirp self.serial_ports = serial_ports self.msg = '' self.boot_patterns = boot_patterns self.tmpfsdir = tmpfsdir self.runqemutime = 120 if not workdir: workdir = os.getcwd() self.qemu_pidfile = workdir + '/pidfile_' + str(os.getpid()) self.host_dumper = HostDumper(dump_host_cmds, dump_dir) self.monitorpipe = None self.logger = logger # Enable testing other OS's # Set commands for target communication, and default to Linux ALWAYS # Other OS's or baremetal applications need to provide their # own implementation passing it through QemuRunner's constructor # or by passing them through TESTIMAGE_BOOT_PATTERNS[flag] # provided variables, where <flag> is one of the mentioned below. accepted_patterns = ['search_reached_prompt', 'send_login_user', 'search_login_succeeded', 'search_cmd_finished'] default_boot_patterns = defaultdict(str) # Default to the usual paterns used to communicate with the target default_boot_patterns['search_reached_prompt'] = b' login:'******'send_login_user'] = '******' default_boot_patterns['search_login_succeeded'] = r"root@[a-zA-Z0-9\-]+:~#" default_boot_patterns['search_cmd_finished'] = r"[a-zA-Z0-9]+@[a-zA-Z0-9\-]+:~#" # Only override patterns that were set e.g. login user TESTIMAGE_BOOT_PATTERNS[send_login_user] = "webserver\n" for pattern in accepted_patterns: if not self.boot_patterns[pattern]: self.boot_patterns[pattern] = default_boot_patterns[pattern]
def getHostDumper(cmds, directory): return HostDumper(cmds, directory)