Bryan Pendleton <[email protected]> writes: > Hi all, > > While discussing DERBY-6164 with Ahsan, we noticed that the > IndexStatisticsDaemonImpl class is listed in our coverage reports > as being substantially under-tested: > > http://dbtg.foundry.sun.com/derby/test/coverage/_files/6d.html > > Does anyone know if the coverage report is accurate here? Is this > class in fact being tested, and the coverage report is in error?
I don't know if it's accurate. It sounds reasonable that some of these methods, like those that handle unexpected exception, don't get exercised unless something unexpected happens. Other parts of the report look less reasonable. Like the part that updateIndexStatsMinion() doesn't get run at all. I think that method is used by SYSCS_UTIL.SYSCS_UPDATE_STATISTICS too, and I'm pretty sure there are test cases for that system procedure. Might be worth checking by adding a println() statement to the method and seeing if anything gets printed when running AutomaticIndexStatisticsTest or AutomaticIndexStatisticsMultiTest. > Or is this class a good candidate for adding additional tests to > improve our test coverage? If the coverage report is correct, I'd say it's definitely worth trying to improve it. It's worth keeping in mind that tests for the index statistics daemon are very timing sensitive, since they don't have direct control over when the daemon thread actually runs. It took a while before the current tests ran without generating noise in the nightly tests, so it likely that adding more tests for this code will involve spending much time tracking down intermittent timing bugs in the tests. Thanks, -- Knut Anders
