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. Reporting -------------- 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. Cheers Prasad
