On Fri, Jun 1, 2012 at 3:39 AM, guyanhua <[email protected]> wrote:
>
> Adding two params (default raise_error = True, extra_param = "")in virsh_cmd
> function,
> which can satisfy the basic use and test the virsh command through diff
> params.
> Besides, I modified the virsh_hostname function to satisfy more requirements.
>
> Signed-off-by: Gu Yanhua <[email protected]>
> ---
> client/virt/libvirt_vm.py | 19 ++++++++++++-------
> 1 files changed, 12 insertions(+), 7 deletions(-)
>
> diff --git a/client/virt/libvirt_vm.py b/client/virt/libvirt_vm.py
> index eda5e8e..2734a6c 100644
> --- a/client/virt/libvirt_vm.py
> +++ b/client/virt/libvirt_vm.py
> @@ -86,7 +86,7 @@ def service_libvirtd_control(action):
> raise error.TestError("Unknown action: %s" % action)
>
>
> -def virsh_cmd(cmd, uri = ""):
> +def virsh_cmd(cmd, uri = "",raise_error = True, extra_param = ""):
here you can pass ignore_status=False, to match the structure of utils.run.
> """
> Append cmd to 'virsh' and execute, optionally return full results.
>
> @@ -100,10 +100,15 @@ def virsh_cmd(cmd, uri = ""):
> uri_arg = ""
> if uri:
> uri_arg = "-c " + uri
> - cmd = "%s %s %s" % (VIRSH_EXEC, uri_arg, cmd)
> - cmd_result = utils.run(cmd, verbose=DEBUG)
> - return cmd_result.stdout.strip()
> -
> + cmd = "%s %s %s %s" % (VIRSH_EXEC, uri_arg, cmd, extra_param)
> + cmd_result = utils.run(cmd, verbose=DEBUG, raise_error=raise_error)
Here, just pass ignore_status value
> + logging.info("command:%s", cmd)
> + logging.debug("stdout: %s", cmd_result.stdout.strip())
> + logging.debug("exit_status: %s", cmd_result.exit_status)
> + if raise_error:
this if can be reversed
if ignore_status:
return cmd_result.exit_status, cmd_result.stdout.strip()
else:
return cmd_result.stdout.strip()
To be honest, I'm not a huge fan of functions that return different
things depending on input, really. I'd return the tuple (exit status,
stdout) anyway in both cases, even it being 0, it's less of a surprise
for the API users.
> + return cmd_result.stdout.strip()
> + else:
> + return cmd_result.exit_status, cmd_result.stdout.strip()
>
> def virsh_uri(uri = ""):
> """
> @@ -112,11 +117,11 @@ def virsh_uri(uri = ""):
> return virsh_cmd("uri", uri)
>
>
> -def virsh_hostname(uri = ""):
> +def virsh_hostname(uri = "", raise_error = True, extra_param = ""):
> """
> Return the hypervisor hostname.
> """
> - return virsh_cmd("hostname", uri)
> + return virsh_cmd("hostname", uri, raise_error, extra_param)
return virsh_cmd("hostname", uri, ignore_status, extra_param)
_______________________________________________
Autotest mailing list
[email protected]
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest