[Libvirt-cim] [PATCH] [TEST] #3 Fix ElementCapabilities/03_forward_errs.py with provider's updated err message
Deepti B Kalakeri
deeptik at linux.vnet.ibm.com
Mon Mar 9 07:37:34 UTC 2009
Guo Lian Yun wrote:
>
> libvirt-cim-bounces at redhat.com wrote on 2009-03-09 14:24:42:
>
> >
> >
> > yunguol at cn.ibm.com wrote:
> > > # HG changeset patch
> > > # User Guolian Yun <yunguol at 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 at 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
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 at redhat.com
> > > https://www.redhat.com/mailman/listinfo/libvirt-cim
> > >
> >
> > --
> > Thanks and Regards,
> > Deepti B. Kalakeri
> > IBM Linux Technology Center
> > deeptik at linux.vnet.ibm.com
> >
> > _______________________________________________
> > Libvirt-cim mailing list
> > Libvirt-cim at redhat.com
> > https://www.redhat.com/mailman/listinfo/libvirt-cim
> ------------------------------------------------------------------------
>
> _______________________________________________
> Libvirt-cim mailing list
> Libvirt-cim at redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-cim
--
Thanks and Regards,
Deepti B. Kalakeri
IBM Linux Technology Center
deeptik at linux.vnet.ibm.com
More information about the Libvirt-cim
mailing list