[Libvirt-cim] [PATCH] [TEST] #3 Fix ElementCapabilities/03_forward_errs.py with provider's updated err message

Guo Lian Yun yunguol at cn.ibm.com
Wed Mar 11 03:01:36 UTC 2009


libvirt-cim-bounces at redhat.com wrote on 2009-03-11 04:08:36:

> >> > >  > 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.
> >>
> 
> This is because exp_desc is defined outside of main().  main() doesn't 
> own the exp_desc variable, so it's unable to modify it.
> 
> Instead of defining exp_desc and exp_rc at the top of the file, define 
> both in main().
> 
> Or, you can do something like the following:
> 
> cs_exp_desc = exp_desc
> 
> 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"
> 
> try_assoc(instance_cs, cs, exp_rc, cs_exp_desc, options)
> 
> Whichever is fine.

  I submit a patch like the second option before, and deepti
  suggested that it's not a good idea to call the try_assoc() twice.
  I will submit a new patch with define the exp_rc and exp_desc inside 
  of main().

  Thanks!
> 
> -- 
> Kaitlin Rupert
> IBM Linux Technology Center
> kaitlin at linux.vnet.ibm.com
> 
> _______________________________________________
> Libvirt-cim mailing list
> Libvirt-cim at redhat.com
> https://www.redhat.com/mailman/listinfo/libvirt-cim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvirt-cim/attachments/20090311/b9261d38/attachment.htm>


More information about the Libvirt-cim mailing list