Login  Register

code ownership

Posted by Adam Heath-2 on Mar 15, 2010; 4:40am
URL: http://ofbiz.116.s1.nabble.com/code-ownership-tp1592922.html

So, with the recent threads we've participated in, I've decided to
announce a decision of mine.

Any class that I have added test cases that have gotten to 100%
coverage, I have decided to take ownership of.  Any change that is
done to such a class *must* have a test case that keeps the coverage
at 100%.  This doesn't mean that the code will automatically work
perfectly all the time.  But if something *is* added that makes the
coverage fall below 100%, it means the class is *not* fully tested,
and that is a big problem.

The classes that fall into this category are:

org.ofbiz.base.concurrent.TTLCachedObject
org.ofbiz.base.json.JSONWriter
org.ofbiz.base.lang.ComparableRange
org.ofbiz.base.util.IndentingWriter
org.ofbiz.base.util.TimeDuration
org.ofbiz.base.util.collections.FlexibleMapAccessort
org.ofbiz.base.util.string.FlexibleStringExpander

The above also have 100% coverage in their tests.

The following classes are not fully covered, because of either
difficulty in throwing exceptions at the right place, or non-blocking
algorithms that are hard to write correct multi-threadeds tests for.
The numbers stand for line coverage/branch coverage.

org.ofbiz.base.concurrent.TTLObject(91%/94%)
org.ofbiz.base.conversion.Converters(89%/86%)
org.ofbiz.base.util.UtilObject(93%/100%)

org.ofbiz.base.util.ObjectType.simpleTypeConvert has full line
coverage.  The only thing not covered is a single branch, the one at
the end of the method that calls Debug.infoOn().

These additional 3 classes and method I am also going to take
ownership of.

While Converters has good coverage, the actual converter
implementations do not.  This is something I will be fixing in the
coming days.