On May 11, 2010, at 2:40 AM, Forrest Xia wrote:

> Hi,
> 
> I spent some time on reenabling G 2.2 branch testsuite to work. After 
> comparing 2.2 branch with 2.1 branch, I would propose to revert back to the 
> 2.1 configs, that is using maven-maven-plugin to run tests in child 
> processes. The benefit is we can use testsuite as a unit to run children test 
> cases while just start/stop geronimo server instance only one time, this will 
> save time and disk space for testsuite execution.

Aren't there a bunch of command tests that check that the start/stop server 
commands work?  How will this work with the single start stop?

I would much rather move 2.2 towards what we're doing in trunk than revert back 
to what is in 2.1 I think that since the failsafe plugin exists and we know 
about it we should use it.  Using standard maven plugins is almost always a 
better idea than trying to come up with something ourselves.

The only objection I can think of to using failsafe is that the server will be 
started and stopped too often.  I wonder if we could get around this by having 
a geronimo-maven-plugin mojo that starts a server if one is not already 
running.  We'd put this in the pre-integration-test phase of every it and put 
nothing in the post-integration-test phase.  I think that, being in a child 
process, the server would get killed when maven exits.  We could also turn off 
the server in the testsuite pom post-integration-test phase.

I'm rather mystified as to what happened with the 2.2 testsuite.  I thought I 
remembered it running when I released 2.2, although I always got failures on my 
machine.  It is certainly not running now.  It looks like I updated a comment 
to suggest running with -Pit,all-subprojects although this will not start the 
server before executing the tests.

So, I'm against moving back to the 2.1 way of running the testsuite unless we 
really can't get anything else to work. 

thanks
david jencks

> 
> Another concern is whether this change support maven-release-plugin to update 
> pom version when doing a new release. I think it should be doable via 
> -Pall-subprojects, since it is validated in 2.1.5 release.
> 
> Having "testsuite/console-testsuite/basic" as a sample, attached the proposed 
> pom files for review and discussion.
> 
> With this change, we can use testsuite like this:
> <!--
>     NOTE: Override the following on the cmdline to only run specific 
>           testsuite buckets.
> 
>           To run all tests against the default Jetty assembly -
>             mvn clean install
> 
>           To run all tests against the pre-installed assembly -
>             mvn clean install -DgeronimoHome=<Path to Geronimo Home>
>           
>           To only run one of testsuites -
>             cd console-testsuite
>             mvn clean install
> 
>           To only run console-testsuite/advanced -
>             cd console-testsuite/advanced
>             mvn clean install -Pstandalone
> 
>           To run console-testsuite/advanced against an already running server-
>             cd console-testsuite/advanced
>             mvn clean install -Pchild
>               or
>             mvn integration-test -Pchild
>     -->
> 
> If this is an acceptable change, I will update all testsuite poms and commit 
> it to 2.2 branch at jira https://issues.apache.org/jira/browse/GERONIMO-5015. 
> So let me know your thoughts about it.
> 
> BTW, I think this change could be also applicable to G 3.0 testsuite.
> 
> Forrest
> <testsuite-2.2.1-SNAPSHOT.pom><console-testsuite-2.2.1-SNAPSHOT.pom><basic-2.2.1-SNAPSHOT.pom>

Reply via email to