As a last test, add the following, which will help determining which
part of qof_print_date_buff is playing up.
I think it should output ('locale 4)...
modified gnucash/report/standard-reports/transaction.scm
(add-if (column-uses? 'date)
(vector (_ "Date")
(lambda (split transaction-row?)
+ (gnc:pk 'locale (qof-date-format-get))
(if transaction-row?
(gnc:make-html-table-cell/markup
"date-cell"
On 21/1/19 12:58 pm, Stephen M. Butler wrote:
On 1/20/19 8:07 PM, Christopher Lam wrote:
There's no reason why the dates can't be changed.
The reason dates straggling 1.1.1970 was chosen was because 1.1.1970
corresponds to time 0 in time64, and I felt that having a few negative
time64 numbers would be interesting to test sorting.
However this is a weird weirdness -- the test output shows that the
transactions were sorted correctly - 31/12/69, 31/12/69, 01/01/70,
02/01/70, 02/10/70 (in d/m/y); it's just the display that is incorrect.
Moreover the display has to go through qof_print_date which takes a
time64 and returns a string.
I'd be keen to know Stephen's build and try debug this.
Here are my steps (I have a Projects folder in which is a GnuCash folder):
cd ~/Projects/GnuCash
git clone https://github.com/Gnucash/gnucash
cd gnucash
git checkout 3.4
cp -r ../debian .
(contents of above folder are available here:
https://drive.google.com/open?id=1VJmtb-Fx00PQna4yQoYm49C88Bi0hneI )
fakeroot debian/rules clean
sudo mk0buikd-deps -ir debian/control
DEB-BUILD-OPTIONS=nocheck dpkg-build-package -rfakeroot -b -uc
(This did build the files located here:
https://drive.google.com/open?id=1fV_fURy6c77e7gf6S41lTacM7dFyy7VD )
Stephen can you modify transaction.scm as follows and let us know the
test output? (Beware the parentheses!)
modified gnucash/report/standard-reports/transaction.scm
@@ -1119,7 +1119,8 @@ be excluded from periodic reporting.")
(if transaction-row?
(gnc:make-html-table-cell/markup
"date-cell"
- (qof-print-date
(xaccTransGetDate (xaccSplitGetParent split))))
+ (let ((date (xaccTransGetDate
(xaccSplitGetParent split))))
+ (gnc:pk 'date date
'qof-print-date (qof-print-date date))))
""))))
(add-if (column-uses? 'reconciled-date)
Hmm. I was back on v3.4 with this test. I'll try again with maint
checked out.
d0.0005 t1.824: ('date 1576407540 'qof-print-date 12/15/19)
[pass] line:647, test: dual amount column, with original currency headers
[pass] line:651, test: dual amount column, grand totals available
[fail] line:654, test: dual amount column, first transaction correct
transaction.scm/display options
-> expected: ("01/03/18" "$103 income" "Root.Asset.Bank" "$103.00"
"$103.00")
-> obtained: ("01/03/19" "$103 income" "Root.Asset.Bank" "$103.00"
"$103.00")
d0.1090 t1.933: ('date -46860 'qof-print-date 12/31/69)
On 21/1/19 7:00 am, John Ralls wrote:
On Jan 20, 2019, at 1:24 PM, Stephen M. Butler <kg...@arrl.net> wrote:
Started clean this morning by recloning the git repository. Made much
further progress but ended up with some test failures. Here are my
steps:
1. sudo rm -rf gnucash
2. git clone https://github.com/Gnucash/gnucash
3. cd gnucash
4. git checkout -b debian
5. cp -r ../debian .
Here is the contents of that directory -- copied to Google
Drive:
https://drive.google.com/open?id=1VJmtb-Fx00PQna4yQoYm49C88Bi0hneI
6. git add debian
7. git commit
Done on my "debian" branch
8. fakeroot debian/rules clean
9. sudo mk-build-deps -ir debian/control
10. dpkg-buildpackage -rfakeroot -b -uc
Note: This usually failed right up front. This time went for
nearly 10
minutes.
End testing: Jan 20 12:49 PST
+ exit 2
debian/rules:68: recipe for target 'override_dh_auto_test' failed
make[1]: *** [override_dh_auto_test] Error 2
make[1]: Leaving directory '/home/steve/Projects/GnuCash/gnucash'
debian/rules:23: recipe for target 'build' failed
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit
status 2
Here are the contents of ./.build/Testing/Temporary/*
https://drive.google.com/open?id=1_0gRAd-ymP1cEYM3pyPnvzeHI7-SSWMS
The file you want to look at for test failures is LastTest.log. You
can search for "Test Failed".
This time the test failure is in
gnucash/report/standard-reports/test/test-transaction.scm:
[pass] line:654, test: dual amount column, first transaction correct
[fail] line:678, test: dates are sorted
transaction.scm/sorting options
-> expected: ("12/31/69" "12/31/69" "01/01/70" "02/01/70" "02/10/70")
-> obtained: ("12/31/70" "12/31/70" "01/01/70" "02/01/70" "02/10/70")
[pass] line:684, test: sort by number
That suggests that for some reason Guile on your system can't handle
dates before 1/1/1970. That's strange, but probably not important to
many GnuCash users.
Chris Lam, any reason not to change that test to use later dates?
Regards,
John Ralls
_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel