-
Notifications
You must be signed in to change notification settings - Fork 168
Design Doc: Container Test Suite
SiteMesh pushes the Servlet spec and container implementations to the limits. Unsurprisingly we often see different behaviors in different Servlet engines.
SiteMesh 2 had a thorough acceptance test suite that would deploy a web-app to a variety of Servlet engines and then use HTTP unit to verify they were serving up the response. It would output a report.
This test suite is pretty hairy and it’s big flaw was that you needed to have all the Servlet containers to hand to run it. This was hard to do and in many cases not feasible because of licensing costs or containers that were not publicly available.
Take a crowd-sourcing approach. We will provide an easy to run test suite, and allow end users / servlet container vendors to run against their containers, optionally publishing the results to a central location. For convenience, we will set up a small handful of the most popular open-source containers to run as part of the continuous integration server.
Unlike SM2, SM3 already has a set of Jetty based tests that cover a lot of the Servlet specifics that are run in process as part of the unit tests, which could be expanded to perform the same tests on Tomcat in process. This cuts down a lot of the work needed for this proposed test suite.
SM2 supports very old containers. SM3 will only target the more popular modern containers. Proposed list:
- Tomcat 5.5, 6.5
- Jetty 5.1, 6.1, 7
- Resin 3.1
- IBM WebSphereAS 7
- Oracle WebLogic Server 11g
- Google AppEngine
1. An easy to deploy .war file that can be dropped into the Servlet engine to test.
2. A standalone executable Jar that is provided with the URL of the Servlet engine and runs the HTTP based tests and reports results.
3. A centralized location where the results of tests can be posted and viewed.
4. A continuous integration environment that automatically deploys the tests to some core servers and posts the results.
- Not started.