THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
Running
Tomcat
setenv.[sh|bat]
Set the following system properties
- -Dorg.apache.catalina.STRICT_SERVLET_COMPLIANCE=true
- -Dorg.apache.tomcat.util.http.ServerCookie.FWD_SLASH_IS_SEPARATOR=false
- -Duser.language=en
- -Duser.country=US
context.xml
Make the following changes:
...
<CookieProcessor className="org.apache.tomcat.util.http.LegacyCookieProcessor" alwaysAddExpires="true" forwardSlashIsSeparator="false" />
...
</Context>
tomcat-users.xml
Make the following changes:
<user username="CN=CTS, OU=Java Software, O=Sun Microsystems Inc., L=Burlington, ST=MA, C=US" roles="Administrator"/>
<user username="j2ee" password="j2ee" roles="Administrator,Employee" />
<user username="javajoe" password="javajoe" roles="VP,Manager" />
server.xml
Enable h2c on port 8080, and add some trailer headers
...
Client certificate tests: see below
Test Suite
Download latest nightly build
...
Accept the defaults and then run the tests
Expected results
A default 9.0.x build with the above configuration triggers 10 test failures
...
- 1 x signature test as Tomcat has added a missing \@Deprecated annotation
- 1 x default context path test as Tomcat configuration always overrides this
6 8 TCK bugs
- 1 x case sensitive HTTP header checks
- 5 * com/sun/ts/tests/servlet/spec/security/denyUncovered/* use URLs which don't match the WAR name; it needs to be renamed from servlet_sec_denyUncovered_web.war to servlet_sec_denyUncovered.war (there is a proprietary descriptor to rectify the mapping on deployment for Glassfish, but it is not portable)
...
- 2 * com/sun/ts/tests/servlet/spec/security/secbasic/client.java#test7[_anno]
- Assertion is explained in the common class: https://github.com/eclipse-ee4j/jakartaee-tck/blob/master/src/com/sun/ts/tests/common/jspservletsec/SecBasicClient.java#L340
- I am not aware of this special behavior being mentioned anywhere
- https://github.com/eclipse-ee4j/jakartaee-tck/issues/44
Note the configuration above also works around 3 additional TCK bugs
- 2 x cookie tests assume server is running in en_US locale (fixed by setenv.sh changes that start Tomcat in that locale)
- 1 x missing endorsedLib configuration (fixed by command.testExecute change above)
...