Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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 buildthe Jakarta WebSocket 2.0 TCK

https://download.eclipse.org/ee4j/jakartaee-tck/8jakartaee9/promoted/websocket-tck-2.0.0.1/nightly/websockettck-1.1_latestzip

https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/staged-910/jakarta-websocket-tck-2.0.1.zip

Extract to WEBSOCKET_TCK_HOME

...

Accept the defaults and then run the tests

Expected results (Jakarta EE 9)

A default 10.0.x build (as of 10.0.5) running with the nightly 2.0.1 TCK build (as of 2020-05-13) triggers 10 test failures

2 unclear specification

3 faulty tests

triggers 0 test failures with the following JRE(s):

  • Adopt OpenJDK 11.0.9 b11 (TCK and Tomcat)

5 Tests 'fixed' by appropriate system property configuration (see above). No need for the server.xml changes.

  • 4 x extensions (TCK assumes invalid extensions are ignored)
    Consider making TCK smarter so it ignores other extensions the server may advertise. Better still, detect them first and then exclude them from this test.
    Need to discuss expected behaviour if an unknown extension is specified. Are these required or optional?
  • 1 x timeout related test expects more frequent expiration checks

Expected results (Java EE 8)

A default 9.0.x build without any configuration triggers 20 test failures

2 unclear specification

11 Faulty tests

...

  • 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