On Mon, Nov 25, 2013 at 08:40:41AM -0700, Don Dugger wrote: > On Mon, Nov 25, 2013 at 10:45:38AM +0000, Daniel P. Berrange wrote: > > On Sun, Nov 24, 2013 at 10:46:13AM -0600, Doug Goldstein wrote: > > > On Sat, Nov 23, 2013 at 3:15 PM, Don Dugger <n0ano@xxxxxxxxx> wrote: > > > > > > > > This Python interface code is returning a -1 on errors for the > > > > `baselineCPU' API. Since this API is supposed to return a pointer > > > > the error return value should really be VIR_PY_NONE. > ... > > > > > > > > > > ACK. This is correct. But it obviously changes our API so I'm not > > > really sure how we should handle this, (e.g. document the API as is as > > > note that its broken or fix it). > > > > The implicit expectation with python APIs is that they all raise an > > exception if the libvirt call fails. So ACK to this bug fix & we > > should put it in maint branches. > > Much as I hate to raise the issue this assumption is true for pointer > APIs but APIs that return an integer don't raise an exception, they > just return -1. Obviously, changing this behavior would be way too > invasive but documenting this behavior should be done somewhere. What APIs in particular ? Any API which results in a libvirt error being set should be translated into an exception in the python. This is done whether they're APIs returning NULL pointers or -1 ints. If there are other exceptions to the rule they must be fixed too. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list