提交 bf493493 编写于 作者: P Peixiu Hou

tp-qemu: Add case WMI_facility_test for windows guests

step1: boot guest vm up with num_queues
step2: enable vioscsi.sys verifier in guest
step3: run wmi check command
step4: check instance.QueuesCount value as expected
Signed-off-by: NPeixiu Hou <phou@redhat.com>
上级 105bfd0d
- virtio_scsi_mq: install setup image_copy unattended_install.cdrom
type = virtio_scsi_mq
only virtio_scsi
only RHEL
no RHEL.3 RHEL.4 RHEL.5 RHEL.6
no Host_RHEL.m5 Host_RHEL.m6
kill_vm_on_error = yes
......@@ -14,3 +13,14 @@
ppc64le,ppc64:
system_image_drive_format = scsi-hd
scsi_hba_image1 = spapr-vscsi
variants:
- @default:
only RHEL
- wmi_facility_check:
only Windows
# As WinXP, Win2003, Win2008, Win7 not support multi queue. So don't test them.
no WinXP Win2003 Win2008 Win7
system_image_drive_format = scsi-hd
driver_name = vioscsi
pattern = "instance\.QueuesCount=(\d+)"
wmi_check_cmd = "WIN_UTILS:\vioscsi.vbs && timeout 5 && type vioscsi.log"
......@@ -4,6 +4,7 @@ import time
from avocado.utils import cpu as utils_cpu
from virttest import utils_misc
from virttest import utils_test
from virttest import env_process
from virttest import qemu_qtree
from virttest import error_context
......@@ -91,6 +92,24 @@ def run(test, params, env):
env_process.preprocess_vm(test, params, env, vm.name)
session = vm.wait_for_login(timeout=timeout)
if params.get("os_type") == "windows":
driver_name = params["driver_name"]
wmi_check_cmd = params["wmi_check_cmd"]
pattern = params["pattern"]
session = utils_test.qemu.windrv_check_running_verifier(session, vm, test,
driver_name, timeout)
wmi_check_cmd = utils_misc.set_winutils_letter(session, wmi_check_cmd)
error_context.context("Run wmi check in guest.", logging.info)
output = session.cmd_output(wmi_check_cmd)
queue_num = re.findall(pattern, output, re.M)
try:
if not queue_num or queue_num[0] != num_queues:
test.fail("The queue_num from guest is not match with expected.\n"
"queue_num from guest is %s, expected is %s"
% (queue_num, num_queues))
finally:
session.close()
return
error_context.context("Check irqbalance service status", logging.info)
output = session.cmd_output("systemctl status irqbalance")
if not re.findall("Active: active", output):
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册