libvirt-cim-bounces(a)redhat.com wrote on 2009-03-09 14:24:42:
yunguol(a)cn.ibm.com wrote:
> # HG changeset patch
> # User Guolian Yun <yunguol(a)cn.ibm.com>
> # Date 1236567513 25200
> # Node ID e601bc0ba234dae371ec38b8289b5827d12f2910
> # Parent 087aaba2658940bbc8718aa55cbcd6150f7cac23
> [TEST] #3 Fix ElementCapabilities/03_forward_errs.py with
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(a)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" :
"wrong", "CreationClassName" : "wrong"})
> + 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,
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
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(a)redhat.com
>
https://www.redhat.com/mailman/listinfo/libvirt-cim
>
--
Thanks and Regards,
Deepti B. Kalakeri
IBM Linux Technology Center
deeptik(a)linux.vnet.ibm.com
_______________________________________________
Libvirt-cim mailing list
Libvirt-cim(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvirt-cim