Running
Tomcat
Set the following system properties
- org.apache.tomcat.websocket.DISABLE_BUILTIN_EXTENSIONS=true
- org.apache.tomcat.websocket.ALLOW_UNSUPPORTED_EXTENSIONS=true
- org.apache.tomcat.websocket.DEFAULT_PROCESS_PERIOD=0
Make the following changes to server.xml
- add backgroundProcessorDelay="1" to the <Engine ... > element
Test Suite
Download latest promoted build
http://download.eclipse.org/ee4j/jakartaee-tck/jakartaee8/promoted/websocket-tck-1.1.1.zip
Extract to WEBSOCKET_TCK_HOME
Edit $WEBSOCKET_TCK_HOME/bin/ts.jte
You'll need to set the following properties (adjust the paths and values for your environment)
webServerHost=localhost
webServerPort=8080
securedWebServicePort=8443
websocket.api=/home/mark/repos/asf-public/tomcat/trunk/output/build/lib/websocket-api.jar
websocket.classes=/home/mark/repos/asf-public/tomcat/trunk/output/build/lib/tomcat-websocket.jar:/home/mark/repos/asf-public/tomcat/trunk/output/build/lib/servlet-api.jar:/home/mark/repos/asf-public/tomcat/trunk/output/build/lib/tomcat-util.jar:/home/mark/repos/asf-public/tomcat/trunk/output/build/lib/tomcat-api.jar:/home/mark/repos/asf-public/tomcat/trunk/output/build/bin/tomcat-juli.jar
Add the following to the command.testExecute property (to prevent entropy issues slowing the tests down)
-Djava.security.egd=file:/dev/./urandom
Do not reduce ws_wait below the default of 5s as it is likely to trigger test failures.
set JAVA_HOME
Run ant gui
Accept the defaults and then run the tests
Expected results (Java EE 8)
A default 9.0.x build (as of yyyy-mm-dd) without any configuration triggers 20 test failures
To be confirmed. Tomcat 9 was last tested with a nightly build of the WebSocket 1.1 TCK. It has yet to be tested with the 1.1.1 release of the TCK.
2 unclear specification
11 Faulty tests
- 1 x https://github.com/eclipse-ee4j/jakartaee-tck/issues/33 (batching)
- 2 x https://github.com/eclipse-ee4j/jakartaee-tck/issues/35 (batching)
- 8 x https://github.com/eclipse-ee4j/jakartaee-tck/issues/37 (async concurrency)
5 Tests 'fixed' by appropriate system property configuration (see above)
- 4 x extensions (TCK assumes invalid extensions are ignored)
- 1 x timeout related test expects more frequent expiration checks
2 Tests 'fixed' by appropriate server.xml configuration
- 2 x timeout related tests requiring even more frequent expiration checks
- Still see intermittent failures on these
A further 19 test failures caused by Tomcat bugs have been fixed
- 4 x Deployment failure didn't undeploy all WebSockets
- 4 x @PathParam not validated for correct type
- 6 x Throw DeploymentException rather than IAE
- 1 x Improve checking of multiple @OnMessage for the same type
- 4 x exception in encoder leading (incorrectly) to empty message