Bob Morley wrote: > It appears that our current unit test run excludes all of the "base" unit > testers. Two reasons I have found ... > > 1) basetests.xml was coded as a test-case but attempted to have multiple > junit-test-suite elements in it (it is only allow to have one). Changing > this to a test-group would ensure that they are loaded. > > 2) ComponentConfig.getAllComponents was not including the "base" component. > Tracked this down to framework/component-load.xml not including it. My > guess is that there is probably a reason for this; but I don't know what it > could be. > > This may also be the reason why the code coverage metrics are inaccurate > when you run from the top. I have executed on my dev machine w/o code > coverage, and the tests all passed increasing the # from 216 to 269. > > If there is no known reason, I would like to submit these two changes as a > patch.
Stuff in framework/base is loaded automatically by framework/start, by reading foo.properties file. The reason the base metrics are invalid when run-tests is run, is not because no test cases are run in base, but because there are 2 classloaders, both with cobertura active, and at shutdown, both classloaders try to write to the same file, and corruption ensues. I haven't felt the need to track it down, because base has bare tests that give coverage. Plus, actually fixing it would require me ripping framework/start, base/src config/component/container logic into pieces.
