
Guo Lian Yun wrote:
libvirt-cim-bounces@redhat.com wrote on 2009-03-09 14:24:42:
# HG changeset patch # User Guolian Yun <yunguol@cn.ibm.com> # Date 1236567513 25200 # Node ID e601bc0ba234dae371ec38b8289b5827d12f2910 # Parent 087aaba2658940bbc8718aa55cbcd6150f7cac23 [TEST] #3 Fix ElementCapabilities/03_forward_errs.py with
yunguol@cn.ibm.com wrote: provider's updated err message
Updates from 2 to 3: Get correct CS Name instead of hard code of "Xen_ComputerSystem"
Updates from 1 to 2: Use a variable to assign revision value to be calculated for
comparison
Also fix the line to meet 80 length
Tested for KVM/LXC with current sources and rpm
Signed-off-by: Guolian Yun<yunguol@cn.ibm.com>
diff -r 087aaba26589 -r e601bc0ba234 suites/libvirt-
cim/cimtest/ElementCapabilities/03_forward_errs.py
--- a/suites/libvirt- cim/cimtest/ElementCapabilities/03_forward_errs.py Thu Mar 05 22: 04:39 2009 -0800 +++ b/suites/libvirt- cim/cimtest/ElementCapabilities/03_forward_errs.py Sun Mar 08 19: 58:33 2009 -0700 @@ -27,10 +27,11 @@ from XenKvmLib import enumclass from XenKvmLib.classes import get_typed_class from CimTest.Globals import logger, CIM_USER, CIM_PASS, CIM_NS -from XenKvmLib.const import do_main +from XenKvmLib.const import do_main, get_provider_version from CimTest.ReturnCodes import PASS, FAIL
sup_types = ['Xen', 'XenFV', 'KVM', 'LXC'] +libvirt_ec_changes = 815
exp_rc = 6 #CIM_ERR_NOT_FOUND exp_desc = "No such instance" @@ -42,23 +43,24 @@ status = FAIL rc = -1 names = [] - + ec = get_typed_class(options.virt, "ElementCapabilities") try: - names = conn.AssociatorNames(ref, AssocClass = get_typed_class(options.virt, "ElementCapabilities")) + names = conn.AssociatorNames(ref, AssocClass = ec) rc = 0 except pywbem.CIMError, (rc, desc): if rc == exp_rc and desc.find(exp_desc) >= 0: logger.info("Got expected rc code and error string") status = PASS else: - logger.error("Unexpected rc code %s and description % s\n", rc, desc) + logger.error("Unexpected rc code %s and description %s\n", rc, + desc) except Exception, details: logger.error("Unknown exception happened") logger.error(details)
if rc == 0: - logger.error("ElementCapabilities associator should NOT return excepted \ - result with a wrong key name and value of % s input", ref_class) + logger.error("ElementCapabilities associator should NOT" + \ + " return records with a wrong key name and value")
Remove the + sign here, using slash is enough to continue the string.
status = FAIL
return status @@ -73,7 +75,8 @@ cs = get_typed_class(options.virt, "ComputerSystem")
instanceref = CIMInstanceName(hs, - keybindings = {"Name" :
+ keybindings = {"Name" : "wrong", + "CreationClassName" : "wrong"}) rc = try_assoc(instanceref, hs, exp_rc, exp_desc, options)
if rc != PASS: @@ -81,8 +84,16 @@ return status
instance_cs = CIMInstanceName(cs, - keybindings = {"Name" : "wrong", "CreationClassName" : "Xen_ComputerSystem"}) - rc = try_assoc(instance_cs, cs, exp_rc, exp_desc, options) + keybindings = {"Name" : "wrong", + "CreationClassName" : cs}) + + curr_cim_rev, changeset = get_provider_version(options.virt,
"wrong", "CreationClassName" : "wrong"}) options.ip)
+ if curr_cim_rev >= libvirt_ec_changes: + cs_exp_desc = "Referenced domain `wrong' does not exist:" + \ + " Domain not found"
Remove the "+" sign here. Only slash is enough. Also, instead of calling try_assoc twice you can do the following:
if curr_cim_rev >= libvirt_ec_changes: exp_desc = "Referenced domain `wrong' does not exist:" \ " Domain not found"
I tried to do this in the first patch, but it reports error as follows:
ERROR - UnboundLocalError : local variable 'exp_desc' referenced before assignment Traceback (most recent call last): File "./lib/XenKvmLib/const.py", line 141, in do_try File "03_forward_errs.py", line 80, in main rc = try_assoc(instanceref, hs, exp_rc, exp_desc, options) UnboundLocalError: local variable 'exp_desc' referenced before assignment ERROR - None
The error is coming from line no 80 and not from the control stmt added. Let me check this.
So I define a new variable of cs_exp_desc to cover this and call try_assco twice.
try_assoc(instance_cs, cs, exp_rc, exp_desc, options) Since exp_desc will be changed only when curr_cim_rev >= libvirt_ec_changes.
+ try_assoc(instance_cs, cs, exp_rc, cs_exp_desc, options) + else: + rc = try_assoc(instance_cs, cs, exp_rc, exp_desc, options) if rc != PASS: status = FAIL return status
_______________________________________________ Libvirt-cim mailing list Libvirt-cim@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-cim
-- Thanks and Regards, Deepti B. Kalakeri IBM Linux Technology Center deeptik@linux.vnet.ibm.com
_______________________________________________ Libvirt-cim mailing list Libvirt-cim@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-cim
_______________________________________________ Libvirt-cim mailing list Libvirt-cim@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-cim
-- Thanks and Regards, Deepti B. Kalakeri IBM Linux Technology Center deeptik@linux.vnet.ibm.com