[jboss-as7-dev] Testsuite grouping: Splitting to many modules, or something different?
Jason T. Greene
jason.greene at redhat.com
Fri Dec 2 11:15:21 EST 2011
On 12/1/11 11:47 PM, Ondřej Žižka wrote:
> Hi everyone interested,
>
> there are these motivations for grouping the tests:
>
> 1) Splitting tests by functional area, e.g. jms, jacorb, cmp.
> 2) Splitting tests by purpose, e.g. smoke, basic, stress etc.
> 3) Running tests with different configs.
> 4) Running various groups of tests.
>
> 4) can be done using e.g.
> -Dtest=org.jboss.as.test.integration.ejb.*TestCase.java (provided -Dtest
> works fine), so I'll drop it from further considerations).
>
> 1-3) is currently done by a combination of modules and Surefire executions.
> The problem with the later is that a failure in one execution prevents
> the successive from running.
>
> Here are options how that can be solved:
>
> *A) Naive solution: Keep status quo, keep tests in the first execution
> in a good condition.*
> Pros: * We already have it.
> Cons: * It will fail now and then, and people would need an extra run
> for the other group, using various params.
>
> *B) Megalomanic solution: Make every combination a maven module.*
> Pros:
> * Avaliable right away.
> Cons:
> * Will result in many modules - e.g. smoke-web, smoke-full, basic-web,
> basic-full, ...
I don't think we need MxN modules that accounts for [2/3]. That can just
be an optional property that allows the entire testsuite to use a
different configuration. Note that the default only runs "full" against
things that need full, so the default runs fully test the default. You
only theoretically need one extra run to verify the entire full config,
and it's something you don't have to do very often (can just be a
one-off hudson run near a release).
IMO If we have multiple modules it should just be one per functional
area (approximation of a subsystem). That's it. We don't even need one
for every subsystem, and even if we did we only have 20 subsystems.
The real advantage is that its just clean organization, clean layout and
it's common maven behavior. Yes there is some copying of pom.xml files,
but that's just boilerplate, and you can script updates like we already
have to do.
Also note, that I'm not arguing for 20 modules right now. What I am
saying is that we can take the 3 or so that require full and make them
modules right now, and then later, over time migrate when needed.
--
Jason T. Greene
JBoss AS Lead / EAP Platform Architect
JBoss, a division of Red Hat
More information about the jboss-as7-dev
mailing list