On Tue, Nov 27, 2007 at 12:28:26PM -0700, Dan Smith wrote:
This refactors all of the necessary functions in libvirt-cim for the
new
API. Things only got cleaner, I think. I also found a substantial number
of memory leaks in the process, which are fundamentally fixed by the new
API which I think is a validation of it as "the right thing to do". All
required changes should have been easily spotted by the compiler, but some
testing would be good.
Tip: To find the leaks, note every time we convert a variable from
char * to const char * and don't remove a subsequent free() call :)
Hum, for normal code we usually rely on valgrind to find leaks in
the code, for example by instrumenting test program using the code
as part of soem regression tests, but with the way CIM providers are
used it looks harder to do this.
Or would it be possible to design a minimal C(++) program loading
the /usr/lib*/cmpi/ shared libraries exercising them locally ?
Maybe this exists already, an in general how can we design regression
tests for libvirt-cim sounds something worth spending time on :-)
Ideas, opinion, or tools pointer anyone ?
Daniel
--
Red Hat Virtualization group
http://redhat.com/virtualization/
Daniel Veillard | virtualization library
http://libvirt.org/
veillard(a)redhat.com | libxml GNOME XML XSLT toolkit
http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine
http://rpmfind.net/