Thank you, David, for sharing your thoughts here. See my response below. On Wed, May 12, 2010 at 6:18 AM, David Jencks <david_jen...@yahoo.com>wrote:
> > 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 might not make myself clear here. Here I say "testsuite as a unit to run children test cases while just start/stop geronimo server instance only one time" means that, for each testsuite, the server only needs to start/stop once if using maven-maven-plugin to run tests in a children process. That is, for the current set of testsuites, we only need to start/stop server nine times, since we have nine testsuites. > 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. > Yes, using failsafe plugin to run integration test is the right thing to do. Attached the updated poms I replace surefire with failsafe to run integration test. > The only objection I can think of to using failsafe is that the server will > be started and stopped too often. > Yes, as you pointed out, if we use the thing like gtrunk testsuite, it will cause too many times start/stop of server instance. This not only cost too much time, but also consume too much disk space. I did a calculation, the gtrunk way will cost *at least 4G* disk space for each run of testsuite(because it needs to expand a server assembly for each of test backets). If we ADD using maven-maven-plugin, it will save three fourth of time and disk space. > 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 think we could get around this by using maven-maven-plugin :-) > > 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. > Maybe I should not say "revert back", actually I think we should keep using maven-maven-plugin because of the benefit it brings as stated above. > > thanks > david jencks > > Please help review the updated poms and let me know if it is OK for you. Forrest
testsuite-2.2.1-SNAPSHOT.pom
Description: Binary data
commands-testsuite-2.2.1-SNAPSHOT.pom
Description: Binary data
deploy-2.2.1-SNAPSHOT.pom
Description: Binary data