[GNC-dev] Two steps forward (Maybe three back)
Stephen M. Butler
kg7je at arrl.net
Sun Jan 20 23:58:02 EST 2019
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 <kg7je at 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
--
Stephen M Butler, PMP, PSM
Stephen.M.Butler51 at gmail.com
kg7je at arrl.net
253-350-0166
-------------------------------------------
GnuPG Fingerprint: 8A25 9726 D439 758D D846 E5D4 282A 5477 0385 81D8
More information about the gnucash-devel
mailing list