gnucash/test-templates
Geert Janssens 84b2428192 Tests: harmonize test initialization
In particular, use qof_init instead of g_type_init. The former
calls the latter by default. Also our current engine code is
heavily dependent on gobject, so it makes sense to initialize it
as early on as possible. Having once central place to do so
will make it easier to fix this if ever we move away from gobject.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22943 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-05-03 12:03:53 +00:00
..
make-testfile Fix make-testfile to count references in UI files 2012-07-02 21:24:07 +00:00
Makefile.am [Bug 666329] Empty database after a little while 2012-01-07 00:53:43 +00:00
Makefile.decl Update Makefile.decl to a newer version that works with MinGW 2012-12-01 22:41:49 +00:00
README Provide glib unit testing template files to make it easier to add unit testing to modules 2011-01-14 22:03:56 +00:00
test-module.c Tests: harmonize test initialization 2013-05-03 12:03:53 +00:00
test-suite.c Re-indentation of source code. 2011-10-17 19:07:41 +00:00
testmain.c Re-indentation of source code. 2011-10-17 19:07:41 +00:00

Unit Test Templates

This directory contains three template files for setting up GLib
g_test operated unit tests in a test directory. If your module
directory doesn't already have one, create a test subdirectory and add
it to configure.ac.

If there is already a test directory with make check tests in it, copy
the contents of the Makefile.am in this directory to the existing
Makefile.am; otherwise, copy the Makefile.am to your test directory.

Copy test-module.c and test-suite.c to your test directory and rename
them appropriately. You will very likely want several copies of
test-suite.c, one corresponding to each c file in the module directory
that you're testing.

Edit the test module file to call the (renamed) test_suite_module() in
each test-suite file. Add tests and fixtures as needed to the
test-suite files and add them to the (renamed) test_suite_module()
function.

Edit Makefile.am according to the comments in the file.

Run autogen.sh and configure. "make check" will run all tests; "make
test" will run only the GLib unit tests not guarded by conditionals
(see test-suite.c).

See http://www.mail-archive.com/gtk-devel-list@gnome.org/msg06994.html
and http://library.gnome.org/devel/glib/stable/glib-Testing.html
for detailed documentation.