>> What happened here, is I had tested an earlier version of this change,
>> and everything worked(localized tests in base, and full system tests).
>> I then changed the commit, and got excited about committing
>> everything, so didn't go thru a full test cycle.
>>
>> Ideally, going forward, to help solve this, we need to have full
>> coverage of base; using cobertura, you can see what lines are being
>> run. I am currently getting the conversion system to something close
>> to 100%. If it had more coverage, this problem would have been
>> discovered with the simple tests.
>
> I think I'm missing something here... how does this relate to a failure to
> run tests?
I guess you didn't read the first paragraph I wrote.
It doesn't. But in this particular case, if the original code *was*
tested, both the line, *and* all branch points, then the test cases
would have failed when I changed the code. This is only applicable
for this particular bug that I introduced.
==
if (foo || bar || baz > 1) {
==
cobertura is smart enough to see that the line is covered, yes, but
that the bar and baz parts are not.
> Another small and insignificant detail to consider is that: 100% coverage
> does not mean 100% bug-free, unless perhaps you are a marketing professional.
Never said that 100% coverage means you've handled all cases. But if
you do *not* have 100% coverage, you *know*, beyond a shadow of a
doubt, that there are things not being tested.