diff --git a/libvirt/tests/cfg/virsh_cmd/domain/virsh_metadata.cfg b/libvirt/tests/cfg/virsh_cmd/domain/virsh_metadata.cfg index 210f6a971b..164c05a82a 100644 --- a/libvirt/tests/cfg/virsh_cmd/domain/virsh_metadata.cfg +++ b/libvirt/tests/cfg/virsh_cmd/domain/virsh_metadata.cfg @@ -31,9 +31,11 @@ variants: - config_current_option: metadata_set = "yes" + metadata_empty = "yes" metadata_option = "--config --current" - live_current_option: metadata_set = "yes" + metadata_empty = "yes" metadata_option = "--live --current" - invalid_option: metadata_option = "--xyz" diff --git a/libvirt/tests/src/virsh_cmd/domain/virsh_metadata.py b/libvirt/tests/src/virsh_cmd/domain/virsh_metadata.py index 16847ec1c3..900db89276 100644 --- a/libvirt/tests/src/virsh_cmd/domain/virsh_metadata.py +++ b/libvirt/tests/src/virsh_cmd/domain/virsh_metadata.py @@ -36,6 +36,7 @@ def run(test, params, env): virsh_dargs = {'debug': True, 'ignore_status': True} metadata_set = "yes" == params.get("metadata_set", "no") metadata_get = "yes" == params.get("metadata_get", "yes") + metadata_empty = "yes" == params.get("metadata_empty", "no") metadata_remove = "yes" == params.get("metadata_remove", "no") restart_libvirtd = "yes" == params.get("restart_libvirtd", "no") status_error = "yes" == params.get("status_error", "no") @@ -110,6 +111,10 @@ def get_metadata(metadata_option=""): **virsh_dargs) check_result(result, status_error) # Get metadata + # from libvirt 11.3.0, instead of return status error, libvirt will return an empty string if there is no metadata to be returned + if metadata_empty: + status_error = False + metadata_value = "" for option in metadata_option.split(): if option == "--config": vm.destroy() @@ -137,6 +142,6 @@ def get_metadata(metadata_option=""): check_result(result, status_error) # Get metadata again for option in metadata_option.split(): - check_result(get_metadata(metadata_option=option), True) + check_result(get_metadata(metadata_option=option), False, '') finally: vmxml.sync()