On 08/08/2012 06:06 AM, Yu Mingfei wrote:
Hi Chris:

Thanks very much.These functions can work well with normal rename.

But I found a bug when I use a symbol name such as "#".:-(
It needs to be escaped, then operation with this symbol directly are
failed.

I can use an especial parameter to avoid it in testcases,
but I have not found how to avoid in function vm_rename().:-)

Just like follow(an idea, I have tested it, and it is ok.^^):

+import logging
+from autotest.client.shared import utils, error
+from autotest.client.virt import libvirt_vm, libvirt_xml
+
+def run_virsh_rename_domain(test, params, env):
+ """
+ Rename a domain to different type.
+ """
+ vm_name = params.get("main_vm")
+ vm = env.get_vm(params["main_vm"])
+ new_name = params.get("new_name", "test")
+ logging.info("Test rename %s to %s.", vm_name, new_name)
+
+ libvirt_xml.vm_rename(vm_name, new_name)
+ vm.name = new_name
_+ if params.get("escape_name", "no"):
+ new_name = "\" + new_name
+ vm.name = new_name_
+ logging.info(vm.get_xml())
+ if vm.start():
+ logging.info("Start new guest %s succeed.", new_name)
+ vm.destroy()
+
+ libvirt_xml.vm_rename(new_name, vm_name)
+ vm.name = vm_name
+ logging.info(vm.get_xml())
+ if vm.start():
+ logging.info("Back up to old guest %s succeed.", vm_name)
diff --git a/client/virt/subtests.cfg.sample
b/client/virt/subtests.cfg.sample
index 534529f..13c22e6 100644
--- a/client/virt/subtests.cfg.sample
+++ b/client/virt/subtests.cfg.sample
@@ -310,6 +310,11 @@ variants:
libvirtd = "off"
status_error = "yes"

+ - virsh_rename_domain:
+ type = virsh_rename_domain
+ new_name = "#"
+ start_vm = "no"
_+ escape_name = yes_
+
- virsh_domname:
type = virsh_domname
kill_vm = yes
-- 1.7.4.1


Good catch, yes that '#' problem is not ever going to be fixed. Sounds like some validation is needed. Probably the easiest way is to just test against string.letters, string.digits, plus "-_.".

--
Chris Evich, RHCA, RHCE, RHCDS, RHCSS
Quality Assurance Engineer
e-mail: cevich + `@' + redhat.com o: 1-888-RED-HAT1 x44214

_______________________________________________
Autotest-kernel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/autotest-kernel

Reply via email to