gnucash/libgnucash/engine/test
Christopher Lam 3d8a28898d [gnc-budget] gnc_budget_get_account_period_note returns a const
to harmonize with all other char getters
2022-11-19 10:35:49 +08:00
..
CMakeLists.txt [gtest-qofevent.cpp] comprehensive tests for qofevent 2022-11-05 09:25:24 +08:00
dummy.cpp
gtest-gnc-datetime.cpp Fix various typos 2022-04-08 14:12:50 -04:00
gtest-gnc-euro.cpp Move gnc-euro.[ch] to engine and unit test it. 2022-09-30 15:12:12 -07:00
gtest-gnc-int128.cpp Bug 796949 - Fix division and rounding of zero. 2019-05-11 23:23:59 +01:00
gtest-gnc-numeric.cpp Fix exception when converting to decimal values that reduce to N/1. 2020-11-07 16:22:18 -08:00
gtest-gnc-rational.cpp
gtest-gnc-timezone.cpp Bug 798150 - Error on report over time 2021-03-21 15:55:08 -07:00
gtest-import-map.cpp Bug 797945 - Imap bayes conversion runs many times 2020-09-18 16:13:26 +01:00
gtest-qofevent.cpp [gtest-qofevent.cpp] comprehensive tests for qofevent 2022-11-05 09:25:24 +08:00
gtest-qofquerycore.cpp Add a few unit tests for qofquerycore 2018-04-26 23:06:36 +02:00
README
test-account-object.cpp Move glib and gtk includes out of extern C for tests. 2021-02-16 13:23:48 -08:00
test-address.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
test-business.c Drop all gnc-module dependencies and includes from compilation units that no longer use it 2020-04-24 22:16:24 +02:00
test-commodities.cpp [test-commodities.cpp] add kvp setter/getter test 2021-08-31 23:16:42 +08:00
test-customer.c engine cosmetics - remove a few references to guile that are no longer relevant 2019-12-06 19:59:11 +01:00
test-employee.c engine cosmetics - remove a few references to guile that are no longer relevant 2019-12-06 19:59:11 +01:00
test-engine-kvp-properties.c Fix memory leak using qof_instance_get on a GncGUID 2018-09-09 22:50:05 +02:00
test-engine.c Enable gnc-uri test suite 2018-12-27 20:53:33 +01:00
test-gnc-date.c test_gnc_setlocale: use trailing whitespaces 2020-01-02 14:02:04 +01:00
test-gnc-guid-old.cpp Move glib and gtk includes out of extern C for tests. 2021-02-16 13:23:48 -08:00
test-gnc-guid.cpp Housekeeping - replace plenty of http links with https 2019-06-06 15:52:30 +02:00
test-gnc-uri-utils.c gnc-uri - refer to 'scheme' instead of 'protocol' as that's the more formal term used in uris 2018-12-27 22:33:17 +01:00
test-group-vs-book.cpp Move glib and gtk includes out of extern C for tests. 2021-02-16 13:23:48 -08:00
test-guid.cpp Move glib and gtk includes out of extern C for tests. 2021-02-16 13:23:48 -08:00
test-job.c
test-kvp-frame.cpp Housekeeping - replace plenty of http links with https 2019-06-06 15:52:30 +02:00
test-kvp-value.cpp Housekeeping - replace plenty of http links with https 2019-06-06 15:52:30 +02:00
test-load-engine.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
test-lots.cpp [test-lots.cpp] add kvp getter/setter changes 2021-08-31 23:16:43 +08:00
test-numeric.cpp Fix various typos 2022-09-06 10:44:29 -04:00
test-object.c Fix typos in libgnucash/ 2021-03-02 01:15:32 +01:00
test-qof-string-cache.c Use const return values for string cache 2021-07-11 18:54:49 +01:00
test-qof.c Bug 796989 - some date/time does not honor user locale (bis). 2019-02-19 09:49:56 -08:00
test-qofbackend.c
test-qofbook.c [test-qofbook] add tests for unknown features 2022-10-31 10:40:12 +08:00
test-qofinstance.cpp Move glib and gtk includes out of extern C for tests. 2021-02-16 13:23:48 -08:00
test-qofobject.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
test-qofsession-old.cpp Move glib and gtk includes out of extern C for tests. 2021-02-16 13:23:48 -08:00
test-qofsession.cpp Replace the three bool parameters to qof_session_begin to an enum. 2020-06-04 14:07:28 -07:00
test-query.cpp Move glib and gtk includes out of extern C for tests. 2021-02-16 13:23:48 -08:00
test-querynew.c Prevent gcc from searching config.h in the current directory 2017-10-26 14:05:17 +02:00
test-recurrence.c Bug 797666 - libgnucash/engine/test/test-recurrence.c: In function 'check_valid': 'result' may be used uninitialized 2020-04-05 12:06:02 -07:00
test-split-vs-account.cpp Move glib and gtk includes out of extern C for tests. 2021-02-16 13:23:48 -08:00
test-transaction-reversal.cpp Move glib and gtk includes out of extern C for tests. 2021-02-16 13:23:48 -08:00
test-transaction-voiding.cpp Move glib and gtk includes out of extern C for tests. 2021-02-16 13:23:48 -08:00
test-vendor.c
utest-Account.cpp [account.cpp] restore breadth-first search for 2 functions 2022-04-15 23:35:38 +08:00
utest-Budget.c [gnc-budget] gnc_budget_get_account_period_note returns a const 2022-11-19 10:35:49 +08:00
utest-Entry.c A more detailed revision of gncEntry and gncInvoice related rounding 2018-05-24 18:53:15 +02:00
utest-gnc-pricedb.c [utest-gnc-pricedb] add tests for gnc_price_list_equal 2021-10-18 22:25:21 +08:00
utest-Invoice.c tests xaccTransGetTxnType heuristics 2022-07-18 09:24:05 +08:00
utest-Split.cpp Fix test failure from Bug 798616 fix. 2022-09-20 09:09:34 -07:00
utest-Transaction.cpp tests xaccTransGetTxnType heuristics 2022-07-18 09:24:05 +08:00

This directory contains unit test cases to exercise basic 
GnuCash engine functions.

To run the tests, just do 'make check'


Notes on test of dirty/clean flag:
---------------------------------
This test is currently performed in part in
test-customer
test-employee
test-job
test-vendor

The test cases will check if the dirty flag is unset on creation
of an object and if the dirty flag is set when the object
is modified.

There used to be a test also to check if the dirty flag is
cleared again upon committing the change.
This test has been removed, because it can only be successful
if a backend is set up. That's because the 'dirty' flag is
supposed to be cleared by the backend only.

We are in the engine test code however. In here it's not possible
to load a backend without creating some circular dependencies
between gnucash modules.

Just for completeness, this was said on the dirty flag tests before
these test cases got moved to the engine:
"An object cannot be marked 'clean' unless it has actually
been saved to a file or sql db.  (Or, in the case of the file 
backend, the 'dirtiness' of the data has been duly noted, and
will be taken care of for the next file save. 
Until its saved, it lives in perpetual dirtiness.  Thus, the 
test cases need to specify a backend, then do the commit, 
then test the dirty flag.

Actually, the use of the dirty flag in gnucash is, at this time,
mildly ambiguous, and its semantics are not clearly defined."