[GSOC] Data model unit testing

John Ralls jralls at ceridwen.us
Sat Apr 2 16:00:36 EDT 2011


On Apr 2, 2011, at 11:57 AM, Christian Stimming wrote:

> Here's the exact inside/outside result:
> 
> Am Freitag, 1. April 2011 schrieb John Ralls:
>> Groups with no outside users are QofGobject
> 
> That's a header that contains only macros, and those macros are indeed in use 
> throughout gnucash, e.g. QOF_GOBJECT_IMPL.

That would be qof-gobject.h. There's also qofgobj.[ch], which exports four functions, qof_gobject_init(), qof_gobject_shutdown(), qof_gobject_register(QofType, GobjectClass*), and qof_gobject_register_instance (QofBook*, QofType, GObject*). There aren't any references to those functions outside of those two files.

As for qof-gobject.h, exactly one of its macros (QOF_GOBJECT_IMPL) is used 6 times in engine (and 4 of those are in tests) and once in qofbook.h. QOF_GOBJECT_GET_TYPE and QOF_GOBJECT_FINALIZE are used once each in qofinstance.c. The remainder are unused anywhere. In any case they're not candidates for unit tests regardless.

(QOF_GOBJECT_IMPL might be be useful to slightly reduce the drudgery of refactoring all of the modules to be proper Qof-derived GObject objects. As I've said before, I think that it would be more productive to refactor them into a proper OO language, but that proposal hasn't received the general acclamation that I'd hoped for.)

Regards,
John Ralls


More information about the gnucash-devel mailing list