gnucash maint: Bug 771617 - Build fails because test test-report-utilities is sensitive to time of day/timezone

Geert Janssens gjanssens at code.gnucash.org
Mon Oct 3 11:41:34 EDT 2016


Updated	 via  https://github.com/Gnucash/gnucash/commit/c605e441 (commit)
	from  https://github.com/Gnucash/gnucash/commit/127adb4a (commit)



commit c605e4415ff7bf0493bc1f3b0c4af1d67436ea42
Author: Geert Janssens <janssens-geert at telenet.be>
Date:   Mon Oct 3 17:41:11 2016 +0200

    Bug 771617 - Build fails because test test-report-utilities is sensitive to time of day/timezone
    
    This commit makes the test work in all timezones from -11 to +10. Timezone +11 still fails, but that's the compromise we have made in the rest of gnucash as well.

diff --git a/src/report/report-system/test/test-report-utilities.scm b/src/report/report-system/test/test-report-utilities.scm
index d130e45..959c8b9 100644
--- a/src/report/report-system/test/test-report-utilities.scm
+++ b/src/report/report-system/test/test-report-utilities.scm
@@ -18,19 +18,31 @@
 
 (define (test-account-get-trans-type-splits-interval)
   (let ((env (create-test-env))
-	(end-date (gnc:date->timepair (localtime (current-time)))))
+	(end-date-tp (gnc:date->timepair (localtime (current-time)))))
     (let* ((accounts (env-create-account-structure-alist env (list "Assets"
 								   (list (cons 'type ACCT-TYPE-ASSET))
 								   (list "Bank Account")
 								   (list "Wallet"))))
 	   (bank-account (cdr (assoc "Bank Account" accounts)))
-	   (wallet (cdr (assoc "Wallet" accounts))))
-
-      (env-create-daily-transactions env (decdate end-date (NDayDelta 10)) end-date bank-account wallet)
+	   (wallet (cdr (assoc "Wallet" accounts)))
+	   (start-date-tp (decdate end-date-tp (NDayDelta 10)))
+	   (q-start-date-tp (decdate end-date-tp (NDayDelta 5)))
+	   (q-start-date (gnc:timepair->date q-start-date-tp))
+	   (q-end-date (gnc:timepair->date end-date-tp)))
+
+      (env-create-daily-transactions env start-date-tp end-date-tp bank-account wallet)
+
+      ; Ensure the query interval is as inclusive as possible to deal with timezone differences
+      (set-tm:hour q-end-date 23)
+      (set-tm:min  q-end-date 59)
+      (set-tm:sec  q-end-date 59)
+      (set-tm:hour q-start-date 00)
+      (set-tm:min  q-start-date 00)
+      (set-tm:sec  q-start-date 01)
 
       (let ((splits (gnc:account-get-trans-type-splits-interval (list bank-account wallet)
 							      ACCT-TYPE-ASSET
-							      (decdate end-date (NDayDelta 5))
-							      end-date)))
-	;; 8 is the right number (4 days, two splits per tx)
-	(and (equal? 8 (length splits)))))))
+							      (gnc:date->timepair q-start-date)
+							      (gnc:date->timepair q-end-date))))
+	;; 10 is the right number (5 days, two splits per tx)
+	(and (equal? 10 (length splits)))))))



Summary of changes:
 .../report-system/test/test-report-utilities.scm   | 28 +++++++++++++++-------
 1 file changed, 20 insertions(+), 8 deletions(-)



More information about the gnucash-changes mailing list