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 nightly build
https://download.eclipse.org/ee4j/jakartaee-tck/8.0.1/nightly/websockettck-1.1_latest.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
The WebSocket tests use a lot of pauses. The default pause time is 5s which means the elapsed time for the WebSocket tests is very high. It is recommended you set this to the minimum (1s) unless something in your environment means a longer wait is required.
ws_wait=1
set JAVA_HOME
Run ant gui
Accept the defaults and then run the tests
Expected results
A default 9.0.x build without any configuration triggers 20 test failures
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