On 11/11/06, Noel J. Bergman <[EMAIL PROTECTED]> wrote:
> We should run the unit tests every time we build using ant, that is > the official way to build James.
Sorry my bad, I expressed myself badly. 1/ Ant is the *only* sanctioned way to build James 2/ we should run the unit tests every time we build with ant
Since when? And ant is the only way I build JAMES, so you're talking about adding 8 minutes to every build, instead of a few seconds. As Bernd said, independent of me, doing that will cause people --- including me --- to abort the tests, and won't provide the desired results.
Agreed, therfore we need to solve *that* problem, not abandon the use of the tests.
Bernd suggested it specifically because he felt that Committers are not running the tests before committing changes. I don't actually think that has been a significant problem. Perhaps Bernd's suggestion was inspired by the recent change I made for which the unit test failed. In that case, I was testing the fix via other means than junit, and the unit test itself was in error; it took several times more time to fix the unit test than to fix JAMES.
Welcome to test driven development :-(
And keep in mind Bernd's comment that he thinks that most of the guys are using an IDE, and so they would still able to do all of their builds without running the unit tests, anyway. Only if they run ant will they be "forced" to test. So it is a selective penalty without any real value.
I agree.
> If running the tests is a problem because of the time taken, then we > should solve that problem first. Fine. Show me tests that run in a few seconds instead of 8 minutes, and we can talk about adding them to the build cycle.
Sounds perfectly reasonable, and pretty much where I was trying to go with this.
> One way to achieve this would be to break james out into many small > library "projects" So now we want to complicate the environment further to fix a spectre.
No, it doesn't complicate things, it separates out concerns and allows people to focus on packages which have a single clear responsibility. James is a collection of such things, mostly we don't need to build the whole thing over and over.
I think that we would be better off focusing on real things. In the meantime, I suggest that we do add the unit tests to the dist target, and ask ourselves (social contract) to run the unit tests before committing.
Seems like a fine compromise. d. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
