From 33d0d777cd8db4f75f367d4097756f9431d96b4c Mon Sep 17 00:00:00 2001 From: Dave Peticolas Date: Tue, 9 Oct 2001 08:43:38 +0000 Subject: [PATCH] Fix bug getting trans void date. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@5477 57a11ea4-9604-0410-9ed3-97b8803252fd --- src/engine/Transaction.c | 2 +- src/engine/test/test-transaction-voiding.c | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/engine/Transaction.c b/src/engine/Transaction.c index 79f86b9f0f..ce5eeb5046 100644 --- a/src/engine/Transaction.c +++ b/src/engine/Transaction.c @@ -2762,7 +2762,7 @@ xaccTransGetVoidTime(Transaction *tr) Timespec void_time= {0,0}; g_return_val_if_fail(tr, void_time); - frame = xaccSplitGetSlots(tr); + frame = xaccTransGetSlots(tr); val = kvp_frame_get_slot(frame, void_time_str); diff --git a/src/engine/test/test-transaction-voiding.c b/src/engine/test/test-transaction-voiding.c index 3961f3d652..346a8e7103 100644 --- a/src/engine/test/test-transaction-voiding.c +++ b/src/engine/test/test-transaction-voiding.c @@ -17,6 +17,7 @@ #define print_gnc_numeric(num) fprintf(stderr, "%s\n", gnc_numeric_to_string(num)) + static void transaction_set_splits_to_accounts(Transaction *tr, Account *a1, Account *a2) { @@ -41,7 +42,9 @@ run_test (void) gnc_numeric old_amt, new_amt, new_kvp_amt, old_val, new_val, new_kvp_val; int rval; GNCSession *session; - + Timespec ts; + time_t now; + char *reason = "because I can"; session = gnc_session_new(); @@ -65,10 +68,17 @@ run_test (void) old_amt = xaccSplitGetAmount(xaccTransGetSplit(transaction, 0)); old_val = xaccSplitGetValue(xaccTransGetSplit(transaction, 1)); + now = time (NULL); - xaccTransVoid(transaction, reason); + ts = xaccTransGetVoidTime (transaction); + + /* figure at most 2 seconds difference */ + if ((ts.tv_sec < now) || ((ts.tv_sec - now) > 2)) + { + failure("bad void time"); + } if (!xaccTransGetVoidStatus(transaction)) { @@ -81,7 +91,7 @@ run_test (void) } new_amt = xaccSplitGetAmount(xaccTransGetSplit(transaction, 0)); - print_gnc_numeric(new_amt); + /* print_gnc_numeric(new_amt); */ if (!gnc_numeric_zero_p( new_amt)) {