Skip to content

Commit 18fe5cd

Browse files
committed
Automate case:
VIRT-300203 - Define&&Start vm with //disk/blockio[@discard_granularity] boundary values Description: For discard_grabularity=0, from libvirt-11.7.0, it exists in vm dumpxml. Signed-off-by: Meina Li <[email protected]>
1 parent 9aa7dea commit 18fe5cd

File tree

2 files changed

+13
-5
lines changed

2 files changed

+13
-5
lines changed

libvirt/tests/cfg/virtual_disks/virtual_disks_discard_granularity.cfg

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,18 +42,18 @@
4242
status_error_msg = "discard_granularity must be a multiple|discard_granularity must be 512"
4343
- boundary_vm_start:
4444
only coldplug..virtio
45-
define_error_msg = "Invalid value for attribute.*discard_granularity.*"
46-
expected_attribute = "no"
4745
variants:
4846
- value_zero:
4947
discard_granularity = '0'
5048
discard_granularity_in_unit = '0K'
5149
- value_minus:
5250
discard_granularity = '-1'
5351
define_error = "yes"
52+
define_error_msg = "Invalid value for attribute.*discard_granularity.*"
5453
- value_max:
5554
discard_granularity = '4294967296'
5655
define_error = "yes"
56+
define_error_msg = "Invalid value for attribute.*discard_granularity.*"
5757
- value_max_minus_one:
5858
discard_granularity = '4294967295'
5959
discard_granularity_in_unit = '1K'

libvirt/tests/src/virtual_disks/virtual_disks_discard_granularity.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,8 @@ def check_vm_dumpxml(params, test, expected_attribute=True):
163163
expected_discard_granularity = params.get("discard_granularity")
164164
if actual_discard_granularity != expected_discard_granularity:
165165
test.fail("actual discard_granularity: %s is not equal to expected: %s" % (actual_discard_granularity, expected_discard_granularity))
166+
else:
167+
test.log.debug("Get expected discard_granularity: %s" % actual_discard_granularity)
166168

167169

168170
def run(test, params, env):
@@ -207,7 +209,7 @@ def run(test, params, env):
207209
socket_path = params.get("socket_file")
208210
vsock_service_id = start_vhost_sock_service(vhost_source_file_path, socket_path)
209211
# For invalid discard granularity test, it need update value accordingly
210-
elif test_scenario in ["failure_vm_tart"]:
212+
elif test_scenario in ["failure_vm_start"]:
211213
params.update({'discard_granularity': params.get('invalid_discard_granularity')})
212214

213215
device_obj = create_customized_disk(params)
@@ -254,8 +256,14 @@ def run(test, params, env):
254256
debug=True, ignore_status=True)
255257
error_msg = params.get("error_msg")
256258
libvirt.check_result(result, error_msg)
257-
elif test_scenario in ["boundary_vm_tart"]:
258-
expected_attribute = "yes" == params.get("expected_attribute")
259+
elif test_scenario in ["boundary_vm_start"]:
260+
expected_attribute = "yes" == params.get("expected_attribute", "no")
261+
discard_granularity = params.get("discard_granularity")
262+
if discard_granularity == '0':
263+
if libvirt_version.version_compare(11, 7, 0):
264+
expected_attribute = True
265+
else:
266+
expected_attribute = False
259267
check_vm_dumpxml(params, test, expected_attribute)
260268
else:
261269
if not check_blockio_discard_granularity(vm, new_disk, discard_granularity_in_unit):

0 commit comments

Comments
 (0)