On Tue, 3 Jan 2012 17:52:34 +0100, Kinkie wrote:
On Tue, Jan 3, 2012 at 3:32 AM, Amos Jeffries <[email protected]> wrote:
On 3/01/2012 10:11 a.m., Kinkie wrote:

Hi all,
   here's a new interim merge proposal for the StatHist refactoring
effort. This merge aims to close bug 3381 and advance a bit the
general StatHist refactoring effort.

What it does:
- change the type used for StatHist counters to uint64_t (parametric
as StatHist::bins_type)
- change the index for StatHist bins to unsigned
- bring stub_StatHist forward and actually use it, also to remove some
objects from tests

What crept in:
- an initial effort for a StatHist unit test.
- some src/Makefile.am cleanup




in StatHist.cc:
 * StatHist::findBin() - float type is quite inaccurate. Can you use double?

Yes. Thanks

 * StatHist::operator =() - rather than duplicating this code can you make
it inline?

I'm not sure I understand what you mean.

You have duplicate code in StatHist.cc and stub_StatHist.cc with notes about keeping them in sync. that is prime candidate for inlining that particular duplicated function. The whole point of having stub_* is to prevent an active version of the stubbed object being linked. If the stub code gets run the test is broken. So this method function should be inline if it needs defining when the stub object definitions are linked.


Please keep in mind that this code is currently in due to the need to
satisfy the squid3 mandatory coding guidelines (StatHist has default
constructor and destructor, so it must have assignment).


I know. That is irrelevant to this particular code duplication issue.


in testStatHist:
 * please define testStatHistEnum() or replace with a TODO.

At the cost of a bit of further creep-in, done. Here's a revised
patch, which on top of the previous one, also:
- actually uses the unit test
- delivers a complete default constructor for StatHist
- adds equality test for StatHist
- adds more stubs to the collection (stub_mem and stub_stmem) and uses them

Will review later.

Amos

Reply via email to