Running
Download latest nightly build
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
httphttps://download.eclipse.org/ee4j/jakartaee-tck/8.0.1/nightly/websockettckjakartaee8/promoted/websocket-tck-1.1_latest.1.zip
Extract to WEBSOCKET_TCK_HOME
...
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
...
Currently investigating 39 failing tests.
1 Faulty test
(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
9 failures due to concurrent messages
- com/sun/ts/tests/websocket/ee/javax/websocket/remoteendpoint/async/*
- Need to raise a spec issue
...
- (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