def check_BSOD(): """ Check if boot up into BSOD """ bar = 0.999 match_img = params.get('image_to_match') screenshot = '%s/BSOD_screenshot.ppm' % data_dir.get_tmp_dir() if match_img is None: test.error('No BSOD screenshot to match!') cmd_man_page = 'man virt-v2v|grep -i "Boot failure: 0x0000007B"' if process.run(cmd_man_page, shell=True).exit_status != 0: log_fail('Man page not contain boot failure msg') for i in range(100): virsh.screenshot(vm_name, screenshot) similar = ppm_utils.image_histogram_compare(screenshot, match_img) if similar > bar: logging.info('Meet BSOD with similarity %s' % similar) return time.sleep(1) log_fail('No BSOD as expected')
def check_BSOD(): """ Check if boot up into BSOD """ bar = 0.999 match_img = params.get('image_to_match') screenshot = '%s/BSOD_screenshot.ppm' % data_dir.get_tmp_dir() if match_img is None: test.error('No BSOD screenshot to match!') cmd_man_page = 'man virt-v2v|grep -i "Boot failure: 0x0000007B"' if process.run(cmd_man_page, shell=True).exit_status != 0: log_fail('Man page not contain boot failure msg') for i in range(100): virsh.screenshot(vm_name, screenshot) similar = ppm_utils.image_histogram_compare(screenshot, match_img) if similar > bar: logging.info('Meet BSOD with similarity %s' % similar) return time.sleep(1) log_fail('No BSOD as expected')
def get_screenshot(self): """ Do virsh screenshot of the vm and fetch the image if the VM in remote host. """ sshot_file = os.path.join(data_dir.get_tmp_dir(), "vm_screenshot.ppm") if self.target == "ovirt": # Note: This is a screenshot path on a remote host vm_sshot = os.path.join("/tmp", "vm_screenshot.ppm") else: vm_sshot = sshot_file virsh.screenshot(self.name, vm_sshot, session_id=self.virsh_session_id) if self.target == "ovirt": remote_ip = self.params.get("remote_ip") remote_user = self.params.get("remote_user") remote_pwd = self.params.get("remote_pwd") remote.scp_from_remote(remote_ip, '22', remote_user, remote_pwd, vm_sshot, sshot_file) r_runner = remote.RemoteRunner(host=remote_ip, username=remote_user, password=remote_pwd) r_runner.run("rm -f %s" % vm_sshot) return sshot_file
def get_screenshot(self): """ Do virsh screenshot of the vm and fetch the image if the VM in remote host. """ sshot_file = os.path.join(data_dir.get_tmp_dir(), "vm_screenshot.ppm") if self.target == "ovirt": # Note: This is a screenshot path on a remote host vm_sshot = os.path.join("/tmp", "vm_screenshot.ppm") else: vm_sshot = sshot_file virsh.screenshot(self.name, vm_sshot, session_id=self.virsh_session_id) if self.target == "ovirt": remote_ip = self.params.get("remote_ip") remote_user = self.params.get("remote_user") remote_pwd = self.params.get("remote_pwd") remote.scp_from_remote(remote_ip, '22', remote_user, remote_pwd, vm_sshot, sshot_file) r_runner = remote.RemoteRunner( host=remote_ip, username=remote_user, password=remote_pwd) r_runner.run("rm -f %s" % vm_sshot) return sshot_file