Asankha C. Perera wrote:
The unit test should always pass.. else more commits may go on adding to
the already broken build. Else we must selectively remove the tests that
we do not consider as critical for the release as Glen suggests. The
build must not be broken, and even if it happens, it shouldn't be for
more than a day at most..
Agreed. A little more commentary:
There is the core system (Axis2), and then there is stuff built around
and on top of that (Sandesha, Rampart, etc - and I would put JAXWS into
this category, though that might be naive). The unit tests in the core
system *should* completely exercise all the functionality that the
higher layers depend on... *without* having to actually use those higher
layers as the tests themselves.
In other words - if something that gets changed in Axis2 passes the
Axis2 build tests, but breaks Rampart, then either a) Rampart was
incorrectly using an Axis2 component, or b) the Axis2 tests were missing
something. In either case the unit tests should be vetted each time
this happens with any of our higher-level partners.
The way to keep this all happening is with Continuum/Gump/etc - there
should be a "core" build which is as fast as possible, and which ONLY
runs the unit tests for the core (remember, those tests should be
fleshed out whenever it's discovered that some other component relies
upon functionality for which there is not yet a unit test). That's the
standard "developer build". Then there is the "integration build" which
tests the newly built Axis2 in context with everything else - this is
where Sandesha, Rampart, etc. etc. all get tested. I would think JAXWS
would go in that bucket too, but maybe not?
When something breaks the integration build, we decide how to deal,
usually by fixing the external component or by adding a new unit test to
Axis2.
Does that sound about right to folks?
--Glen
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]