Skip to content

Commit 26f3e2e

Browse files
authored
Merge pull request #4274 from qingwangrh/3448_iommu_improvement
block_with_iommu: improve test case
2 parents a00d324 + f5c0b58 commit 26f3e2e

File tree

2 files changed

+29
-14
lines changed

2 files changed

+29
-14
lines changed

qemu/tests/block_with_iommu.py

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import re
2+
import time
23

34
from virttest import cpu, error_context
45

@@ -57,14 +58,29 @@ def verify_iommu_enabled():
5758
test.cancel("This case only support Intel platform.")
5859

5960
vm = env.get_vm(params["main_vm"])
60-
vm.verify_alive()
61-
session = vm.wait_for_login(timeout=360)
62-
verify_iommu_enabled()
61+
logger = test.log
62+
try:
63+
logger.debug("Test Start")
64+
vm.verify_alive()
65+
session = vm.wait_for_login(timeout=360)
66+
verify_iommu_enabled()
67+
time.sleep(30)
68+
logger.debug("Execute IO CMD")
69+
session.cmd(params.get("dd_cmd"))
6370

64-
session.cmd(params.get("dd_cmd"))
65-
66-
if params.get("reload_kernel_cmd"):
67-
reload_kernel(session)
68-
69-
session = vm.reboot(session, timeout=360)
70-
session.cmd(params.get("dd_cmd"))
71+
if params.get("reload_kernel_cmd"):
72+
logger.debug("reload_kernel")
73+
reload_kernel(session)
74+
logger.debug("Before reboot")
75+
session = vm.reboot(session, timeout=180)
76+
logger.debug("Execute IO CMD after reboot")
77+
session.cmd(params.get("dd_cmd"))
78+
logger.debug("Test over")
79+
finally:
80+
logger.debug("Destroy VM ...")
81+
vm.monitors = []
82+
vm.destroy(gracefully=False)
83+
logger.debug("Destroy VM End")
84+
params["enable_guest_iommu"] = "no"
85+
env.unregister_vm(params["main_vm"])
86+
logger.debug("Finally block over ")

qemu/tests/cfg/block_with_iommu.cfg

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,14 @@
88
enable_guest_iommu = yes
99
virtio_dev_ats = on
1010
machine_type_extra_params = "kernel-irqchip=split"
11+
clone_master = yes
12+
master_images_clone = image1
13+
remove_image_image1 = yes
1114
variants:
1215
- verify_enabled:
1316
only Linux
1417
no RHEL.7
1518
no Host_RHEL.m7
16-
only virtio_scsi
1719
virtio_dev_disable_legacy = on
1820
virtio_dev_disable_modern = off
1921
check_key_words = "DMAR: IOMMU enabled;"
@@ -22,9 +24,6 @@
2224
variants:
2325
- @default:
2426
- reload_kernel:
25-
clone_master = yes
26-
master_images_clone = image1
27-
remove_image_image1 = yes
2827
force_reset_go_down_check = shell
2928
reload_kernel_cmd = 'kexec -l /boot/%s --initrd=/boot/%s --command-line="%s"'
3029
cmd_get_kernel_ver = uname -r

0 commit comments

Comments
 (0)