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

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
  • No labels