You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gnucash/libgnucash/engine/test
John Ralls ad7a51a6ef
Merge Chris Lam's 'acc-children-vector' into stable.
2 years ago
..
CMakeLists.txt Restore test-gnc-option 3 years ago
README
gtest-gnc-datetime.cpp Use gnc_time() instead of time() 3 years ago
gtest-gnc-euro.cpp [gtest-gnc-euro] add rounding test 2 years ago
gtest-gnc-int128.cpp Don't use Googletest internal API for unused decls. 2 years ago
gtest-gnc-numeric.cpp [gtest-gnc-numeric.cpp] test int64 limits for GncNumeric 2 years ago
gtest-gnc-option.cpp Fix GncOptionMultichoiceValue list tests 3 years ago
gtest-gnc-optiondb.cpp Restore test-gnc-option 3 years ago
gtest-gnc-rational.cpp
gtest-gnc-timezone.cpp
gtest-import-map.cpp Fix global array index out of range. 2 years ago
gtest-qofevent.cpp
gtest-qofquerycore.cpp Valgrind: fix "definitely lost" memory in test - test-qofquerycore 3 years ago
test-account-object.cpp [test] Properly destroy resources on end of tests 3 years ago
test-address.c Valgrind: fix "definitely lost" memory from get_random_string() - test-address 3 years ago
test-business.c
test-commodities.cpp [test-commodities.cpp] test stability of c_str names 2 years ago
test-customer.c Valgrind: fix "definitely lost" memory from get_random_string() - test-customer 3 years ago
test-employee.c Valgrind: fix "definitely lost" memory from get_random_string() - test-employee 3 years ago
test-engine-kvp-properties.c Change g_assert() -> g_assert_true() in tests 3 years ago
test-engine.c
test-gnc-date.c Update test-gnc-date.c 2 years ago
test-gnc-guid-old.cpp Change g_assert() -> g_assert_true() in tests 3 years ago
test-gnc-guid.cpp
test-gnc-uri-utils.c Doxygen - drop obvious cases of deprecated code 2 years ago
test-group-vs-book.cpp
test-guid.cpp Fix UAF in xaccFreeSplit. 2 years ago
test-job.c [test-job] plug leaks 3 years ago
test-kvp-frame.cpp
test-kvp-value.cpp Valgrind: fix "Invalid read" - test-kvp-value 3 years ago
test-load-engine.c
test-lots.cpp [test] Properly destroy resources on end of tests 3 years ago
test-numeric.cpp Make the GncNumeric string constructtor work for long decimal numbers. 3 years ago
test-object.c
test-qof-string-cache.c Change g_assert() -> g_assert_true() in tests 3 years ago
test-qof.c
test-qofbackend.c
test-qofbook.c Fix UAF in xaccFreeSplit. 2 years ago
test-qofinstance.cpp Change g_assert() -> g_assert_true() in tests 3 years ago
test-qofobject.c Fix UAF in xaccFreeSplit. 2 years ago
test-qofsession-old.cpp Change g_assert() -> g_assert_true() in tests 3 years ago
test-qofsession.cpp [test-qofsession] plugs Account* leak 3 years ago
test-query.cpp [test] Properly destroy resources on end of tests 3 years ago
test-querynew.c
test-recurrence.c
test-split-vs-account.cpp [AccountP.hpp] .h -> .hpp, remove extern "C" {} wrapper 2 years ago
test-transaction-reversal.cpp
test-transaction-voiding.cpp
test-vendor.c Valgrind: fix "definitely lost" memory from get_random_string() - test-vendor 3 years ago
utest-Account.cpp Merge Chris Lam's 'acc-children-vector' into stable. 2 years ago
utest-Budget.c Change g_assert() -> g_assert_true() in tests 3 years ago
utest-Entry.c Change g_assert() -> g_assert_true() in tests 3 years ago
utest-Invoice.c use xaccAccountGetSplitsSize 2 years ago
utest-Split.cpp [SplitP.hpp] rename to .hpp 2 years ago
utest-Transaction.cpp [Transaction|Split.cpp] Remove Reg2 unused functions 2 years ago
utest-gnc-pricedb.c Bug 799143 - FTBFS on 32bit architectures 2 years ago

README


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."