geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <david_jen...@yahoo.com>
Subject Re: Reenable testsuite in G 2.2 branch
Date Tue, 11 May 2010 22:18:29 GMT

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>


Mime
View raw message