geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Prasad Kashyap" <>
Subject Testsuite and maven-maven-plugin
Date Thu, 28 Sep 2006 03:40:12 GMT
Let me try to articulate my vision of the multi-module setup under
testsuite. If my understanding is off base, please feel free to show
me the bigger picture.

- testsuite/
| - - - console-testsuite/
|      |
|      | - - - pom.xml
|      |
|      | - - - src/test/java/...
| - - - webcontainer-testsuite/
|      |
|      | - - - pom.xml
|      |
|      | - - - src/test/java/...
| - - - ejbcontainer-testsuite/
|      |
|      | - - - pom.xml
|      |
|      | - - - src/test/java/...

Custom packaging or lifecycle phase bindings
The geronimo-maven-plugin (g-m-p) goals like start/stop server,
deploy/undeploy modules will be executed in each of these pom.xmls.
The start-server and deploy-module goals will be bound to some early
phase in the lifecycle, say "validate" (example only) using the
@phase. The stop-server and undeploy-module goals will be bound to a
later phase, say "install". The tests will be executed in the "test"
phase in between the modules deploy and undeploy.

In each *-testsuite,  multiple modules can be deployed and a subset of
tests can be run against them. Eg: ATest runs on module1, BTest runs
on module2 and module3, CTest runs on module3 etc.

Exception handling
Only the exceptions from start-server and stop-server goals should
stop the test run completely. Failures from deploy-modules and
undeploy-modules should be logged and the  test should continue.
Failures from TestNG testcases should be logged and ignored. Tests
should continue.

Cleanup will done by the stop-server goal at the end. The start-server
configuration in each *-testsuite should have the <refresh> set to
true. This will ensure that each suite will start with a clean slate.

The goals in g-m-p already support multiple reporting mechanisms
(SurefireReporter already implemented). The TestNG testcases will be
logged and reported by surefire anyway. So we have one reporting story
in place.  Similar to the way g-m-p goals handles other reporter
implementations, we have to write a goal that will handle the TestNG
test exceptions for other reporters too.

I'd appreciate your comments.


View raw message