Yeah, that was a poor design on my part. Better to have two cases, the trivial one with 0 and another with some other number > 2. And it can lose the utterly pointless tests that list insertions increase the list length.
Regards, John Ralls > On Jan 22, 2026, at 05:44, Stefan Koch <[email protected]> wrote: > > Thank you. > > I think the g_test_init is necessary mainly for the > g_test_log_set_fatal_handler and/or the g_log_set_handler. So, I think I will > need it even after I replace the glib random numbers. > > I personally don't like random numbers inside a test anyway. Does it make > sense to use a fixed number in the range instead? > > > On Thu, Jan 22, 2026 at 12:15 AM John Ralls <[email protected] > <mailto:[email protected]>> wrote: >> Stefan, >> >> You write that you had to use TEST_F as if it was a bad thing. Using >> fixtures is a *good* thing. >> I think that the message handling is separate from g_test and doesn’t >> require g_test_init, but your custom main() also inits QOF and the logging >> system so I guess you’re stuck with it. >> >> I made some comments on your commit. >> >> Regards, >> John Ralls >> >> >>> On Jan 21, 2026, at 11:53, Stefan Koch <[email protected] >>> <mailto:[email protected]>> wrote: >>> >>> (Thank you for merging my first commit test-qofid.cpp). >>> >>> I am moving on to adding more coverage, in particular I thought in the >>> qofinstance would be a good low level next step. >>> >>> This is currently in part of the glib based test for test-oqf. I am >>> proposing removing it from there and making it a stand alone google test. >>> I like the stand alone test because it allows me just to run this one and >>> see the coverage of just this test. (That removes other tests from >>> providing accidental coverage.) >>> >>> I also like full coverage since it is easy to check for 100% coverage, but >>> hard to check if the coverage moved from 88% to 85% when running tests. I >>> cannot get 100% coverage since there are some lines that are unreachable >>> when the other subsystems are correct. I thought I saw some setup in lcov >>> that allows marking of lines to not be covered, but I have not investigated >>> that further. >>> >>> There were some issues that I had to work out: >>> 1. I had to use the google TEST_F so that I could have a class to replace >>> the setup and teardown from glib testing. >>> 2. I had to create a main() that overrides the default google one, that >>> allows the setting g_test_init which is still needed since the qofinstance >>> still makes use of the glib error handling. >>> 3. I replaced the g_assert functions with the equivalent google test calls. >>> 4. I replaced the g_test_message with a local call that does printf. >>> >>> The I have not added extra coverage. I wanted to verify that this approach >>> is what is desired here, or if this is too to change, and not worth your >>> time reviewing. >>> >>> The commit can be seen here: >>> https://github.com/stefan-koch-micro/gnucash/commit/fc5742e12d8007f86929450080750a14bec3ec43#diff-dcd2eece63e17b3ec55c96a3eab8a60c4582884a2d01b47b1c4940c1c0594bf0 >>> I have not made a pull request as this is a partial implementation. If the >>> approach is OK, I will add more/full coverage and then make a merge >>> request. (Or even do more of the test-qof set before making the request.) >>> _______________________________________________ >>> gnucash-devel mailing list >>> [email protected] <mailto:[email protected]> >>> https://lists.gnucash.org/mailman/listinfo/gnucash-devel >>
_______________________________________________ gnucash-devel mailing list [email protected] https://lists.gnucash.org/mailman/listinfo/gnucash-devel
