mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Check balances in account & split compare functions.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@5713 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
6820436bdb
commit
41bd71c4ad
@ -420,7 +420,7 @@ test_mode (const char *db_name, const char *mode,
|
||||
add_random_transactions_to_session (session,
|
||||
get_random_int_in_range (10, 20));
|
||||
|
||||
if (!save_db_file (session, db_name, mode))
|
||||
if (!save_db_file (session, db_name, "single-update"))
|
||||
return FALSE;
|
||||
|
||||
session_db = gnc_session_new ();
|
||||
|
@ -448,6 +448,104 @@ xaccAccountEqual(Account *aa, Account *ab, gboolean check_guids)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!gnc_numeric_equal (aa->starting_balance, ab->starting_balance))
|
||||
{
|
||||
char *str_a;
|
||||
char *str_b;
|
||||
|
||||
str_a = gnc_numeric_to_string (aa->starting_balance);
|
||||
str_b = gnc_numeric_to_string (ab->starting_balance);
|
||||
|
||||
PWARN ("starting balances differ: %s vs %s", str_a, str_b);
|
||||
|
||||
g_free (str_a);
|
||||
g_free (str_b);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!gnc_numeric_equal (aa->starting_cleared_balance,
|
||||
ab->starting_cleared_balance))
|
||||
{
|
||||
char *str_a;
|
||||
char *str_b;
|
||||
|
||||
str_a = gnc_numeric_to_string (aa->starting_cleared_balance);
|
||||
str_b = gnc_numeric_to_string (ab->starting_cleared_balance);
|
||||
|
||||
PWARN ("starting cleared balances differ: %s vs %s", str_a, str_b);
|
||||
|
||||
g_free (str_a);
|
||||
g_free (str_b);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!gnc_numeric_equal (aa->starting_reconciled_balance,
|
||||
ab->starting_reconciled_balance))
|
||||
{
|
||||
char *str_a;
|
||||
char *str_b;
|
||||
|
||||
str_a = gnc_numeric_to_string (aa->starting_reconciled_balance);
|
||||
str_b = gnc_numeric_to_string (ab->starting_reconciled_balance);
|
||||
|
||||
PWARN ("starting reconciled balances differ: %s vs %s", str_a, str_b);
|
||||
|
||||
g_free (str_a);
|
||||
g_free (str_b);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!gnc_numeric_equal (aa->balance, ab->balance))
|
||||
{
|
||||
char *str_a;
|
||||
char *str_b;
|
||||
|
||||
str_a = gnc_numeric_to_string (aa->balance);
|
||||
str_b = gnc_numeric_to_string (ab->balance);
|
||||
|
||||
PWARN ("balances differ: %s vs %s", str_a, str_b);
|
||||
|
||||
g_free (str_a);
|
||||
g_free (str_b);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!gnc_numeric_equal (aa->cleared_balance, ab->cleared_balance))
|
||||
{
|
||||
char *str_a;
|
||||
char *str_b;
|
||||
|
||||
str_a = gnc_numeric_to_string (aa->cleared_balance);
|
||||
str_b = gnc_numeric_to_string (ab->cleared_balance);
|
||||
|
||||
PWARN ("cleared balances differ: %s vs %s", str_a, str_b);
|
||||
|
||||
g_free (str_a);
|
||||
g_free (str_b);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!gnc_numeric_equal (aa->reconciled_balance, ab->reconciled_balance))
|
||||
{
|
||||
char *str_a;
|
||||
char *str_b;
|
||||
|
||||
str_a = gnc_numeric_to_string (aa->reconciled_balance);
|
||||
str_b = gnc_numeric_to_string (ab->reconciled_balance);
|
||||
|
||||
PWARN ("reconciled balances differ: %s vs %s", str_a, str_b);
|
||||
|
||||
g_free (str_a);
|
||||
g_free (str_b);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* no parent; always compare downwards. */
|
||||
|
||||
{
|
||||
|
@ -313,6 +313,54 @@ xaccSplitEqual(const Split *sa, const Split *sb,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!gnc_numeric_equal (sa->balance, sb->balance))
|
||||
{
|
||||
char *str_a;
|
||||
char *str_b;
|
||||
|
||||
str_a = gnc_numeric_to_string (sa->balance);
|
||||
str_b = gnc_numeric_to_string (sb->balance);
|
||||
|
||||
PWARN ("balances differ: %s vs %s", str_a, str_b);
|
||||
|
||||
g_free (str_a);
|
||||
g_free (str_b);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!gnc_numeric_equal (sa->cleared_balance, sb->cleared_balance))
|
||||
{
|
||||
char *str_a;
|
||||
char *str_b;
|
||||
|
||||
str_a = gnc_numeric_to_string (sa->cleared_balance);
|
||||
str_b = gnc_numeric_to_string (sb->cleared_balance);
|
||||
|
||||
PWARN ("cleared balances differ: %s vs %s", str_a, str_b);
|
||||
|
||||
g_free (str_a);
|
||||
g_free (str_b);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!gnc_numeric_equal (sa->reconciled_balance, sb->reconciled_balance))
|
||||
{
|
||||
char *str_a;
|
||||
char *str_b;
|
||||
|
||||
str_a = gnc_numeric_to_string (sa->reconciled_balance);
|
||||
str_b = gnc_numeric_to_string (sb->reconciled_balance);
|
||||
|
||||
PWARN ("reconciled balances differ: %s vs %s", str_a, str_b);
|
||||
|
||||
g_free (str_a);
|
||||
g_free (str_b);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!xaccTransEqual(sa->parent, sb->parent, check_guids, check_txn_splits))
|
||||
{
|
||||
PWARN ("transactions differ");
|
||||
|
Loading…
Reference in New Issue
Block a user