Testsuite: org.apache.tomcat.websocket.TestWsRemoteEndpoint Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.91 sec ------------- Standard Error ----------------- 09-Apr-2024 14:30:44.584 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testWriterZeroLengthAnnotation] 09-Apr-2024 14:30:45.879 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio2-127.0.0.1-auto-1"] 09-Apr-2024 14:30:45.961 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Tomcat] 09-Apr-2024 14:30:45.963 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.89-dev] 09-Apr-2024 14:30:46.168 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio2-127.0.0.1-auto-1-42979"] 09-Apr-2024 14:30:46.321 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio2-127.0.0.1-auto-1-42979"] 09-Apr-2024 14:30:46.325 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Tomcat] 09-Apr-2024 14:30:46.340 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio2-127.0.0.1-auto-1-42979"] 09-Apr-2024 14:30:46.342 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio2-127.0.0.1-auto-1-42979"] 09-Apr-2024 14:30:46.354 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testWriterAnnotation] 09-Apr-2024 14:30:46.375 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio2-127.0.0.1-auto-2"] 09-Apr-2024 14:30:46.408 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Tomcat] 09-Apr-2024 14:30:46.408 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.89-dev] 09-Apr-2024 14:30:46.440 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio2-127.0.0.1-auto-2-36955"] 09-Apr-2024 14:30:46.547 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio2-127.0.0.1-auto-2-36955"] 09-Apr-2024 14:30:46.548 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Tomcat] 09-Apr-2024 14:30:46.556 WARNING [main] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ROOT] appears to have started a thread named [http-nio2-127.0.0.1-auto-2-exec-5] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread: app//org.apache.tomcat.websocket.WsRemoteEndpointImplBase.endMessage(WsRemoteEndpointImplBase.java:437) app//org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:332) app//org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:249) app//org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendPartialString(WsRemoteEndpointImplBase.java:222) app//org.apache.tomcat.websocket.WsRemoteEndpointBasic.sendText(WsRemoteEndpointBasic.java:48) app//org.apache.tomcat.websocket.TesterEchoServer$Async.echoTextMessage(TesterEchoServer.java:67) java.base@17.0.7/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) java.base@17.0.7/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) java.base@17.0.7/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.base@17.0.7/java.lang.reflect.Method.invoke(Method.java:568) app//org.apache.tomcat.websocket.pojo.PojoMessageHandlerPartialBase.onMessage(PojoMessageHandlerPartialBase.java:67) app//org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:387) app//org.apache.tomcat.websocket.server.WsFrameServer.sendMessageText(WsFrameServer.java:130) app//org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:484) app//org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:284) app//org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:130) app//org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:85) app//org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:184) app//org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:164) app//org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:152) app//org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:60) app//org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:57) app//org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928) app//org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1734) app//org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) app//org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1321) app//org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:645) app//org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:621) java.base@17.0.7/sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:129) java.base@17.0.7/sun.nio.ch.Invoker$2.run(Invoker.java:221) java.base@17.0.7/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:113) app//org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) app//org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) app//org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) java.base@17.0.7/java.lang.Thread.run(Thread.java:833) 09-Apr-2024 14:30:46.558 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio2-127.0.0.1-auto-2-36955"] 09-Apr-2024 14:30:46.659 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio2-127.0.0.1-auto-2-36955"] 09-Apr-2024 14:30:46.664 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testWriterProgrammatic] 09-Apr-2024 14:30:46.668 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio2-127.0.0.1-auto-3"] 09-Apr-2024 14:30:46.680 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Tomcat] 09-Apr-2024 14:30:46.680 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.89-dev] 09-Apr-2024 14:30:46.694 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio2-127.0.0.1-auto-3-38105"] 09-Apr-2024 14:30:46.759 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio2-127.0.0.1-auto-3-38105"] 09-Apr-2024 14:30:46.759 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Tomcat] 09-Apr-2024 14:30:46.765 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio2-127.0.0.1-auto-3-38105"] 09-Apr-2024 14:30:46.766 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio2-127.0.0.1-auto-3-38105"] 09-Apr-2024 14:30:46.770 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testStreamProgrammatic] 09-Apr-2024 14:30:46.772 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio2-127.0.0.1-auto-4"] 09-Apr-2024 14:30:46.785 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Tomcat] 09-Apr-2024 14:30:46.786 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.89-dev] 09-Apr-2024 14:30:46.792 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio2-127.0.0.1-auto-4-45977"] 09-Apr-2024 14:30:46.812 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio2-127.0.0.1-auto-4-45977"] 09-Apr-2024 14:30:46.812 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Tomcat] 09-Apr-2024 14:30:46.815 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio2-127.0.0.1-auto-4-45977"] 09-Apr-2024 14:30:46.816 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio2-127.0.0.1-auto-4-45977"] 09-Apr-2024 14:30:46.821 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testWriterErrorProgrammatic] 09-Apr-2024 14:30:46.822 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio2-127.0.0.1-auto-5"] 09-Apr-2024 14:30:46.830 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Tomcat] 09-Apr-2024 14:30:46.830 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.89-dev] 09-Apr-2024 14:30:46.835 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio2-127.0.0.1-auto-5-45947"] 09-Apr-2024 14:30:46.841 SEVERE [http-nio2-127.0.0.1-auto-5-exec-3] org.apache.tomcat.websocket.pojo.PojoEndpointBase.onError No error handling configured for [org.apache.tomcat.websocket.TesterEchoServer$WriterError] and the following error occurred java.lang.RuntimeException at org.apache.tomcat.websocket.TesterEchoServer$WriterError.echoTextMessage(TesterEchoServer.java:200) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.apache.tomcat.websocket.pojo.PojoMessageHandlerWholeBase.onMessage(PojoMessageHandlerWholeBase.java:101) at org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:390) at org.apache.tomcat.websocket.server.WsFrameServer.sendMessageText(WsFrameServer.java:130) at org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:484) at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:284) at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:130) at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:85) at org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:184) at org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:164) at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:152) at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:60) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:57) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928) at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1734) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1321) at org.apache.tomcat.util.net.Nio2Endpoint.setSocketOptions(Nio2Endpoint.java:341) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2Acceptor.completed(Nio2Endpoint.java:481) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2Acceptor.completed(Nio2Endpoint.java:417) at java.base/sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:129) at java.base/sun.nio.ch.Invoker$2.run(Invoker.java:221) at java.base/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:113) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:833) 09-Apr-2024 14:30:46.843 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio2-127.0.0.1-auto-5-45947"] 09-Apr-2024 14:30:46.844 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Tomcat] 09-Apr-2024 14:30:46.846 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio2-127.0.0.1-auto-5-45947"] 09-Apr-2024 14:30:46.847 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio2-127.0.0.1-auto-5-45947"] 09-Apr-2024 14:30:46.851 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testWriterZeroLengthProgrammatic] 09-Apr-2024 14:30:46.853 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio2-127.0.0.1-auto-6"] 09-Apr-2024 14:30:46.855 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Tomcat] 09-Apr-2024 14:30:46.855 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.89-dev] 09-Apr-2024 14:30:46.861 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio2-127.0.0.1-auto-6-46701"] 09-Apr-2024 14:30:46.869 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio2-127.0.0.1-auto-6-46701"] 09-Apr-2024 14:30:46.872 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Tomcat] 09-Apr-2024 14:30:46.874 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio2-127.0.0.1-auto-6-46701"] 09-Apr-2024 14:30:46.875 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio2-127.0.0.1-auto-6-46701"] 09-Apr-2024 14:30:46.882 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testStreamAnnotation] 09-Apr-2024 14:30:46.883 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio2-127.0.0.1-auto-7"] 09-Apr-2024 14:30:46.889 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Tomcat] 09-Apr-2024 14:30:46.889 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.89-dev] 09-Apr-2024 14:30:46.893 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio2-127.0.0.1-auto-7-46595"] 09-Apr-2024 14:30:46.910 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio2-127.0.0.1-auto-7-46595"] 09-Apr-2024 14:30:46.918 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Tomcat] 09-Apr-2024 14:30:46.926 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio2-127.0.0.1-auto-7-46595"] 09-Apr-2024 14:30:46.928 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio2-127.0.0.1-auto-7-46595"] 09-Apr-2024 14:30:46.931 INFO [main] org.apache.catalina.startup.LoggingBaseTest.setUp Starting test case [testWriterErrorAnnotation] 09-Apr-2024 14:30:46.933 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio2-127.0.0.1-auto-8"] 09-Apr-2024 14:30:46.942 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Tomcat] 09-Apr-2024 14:30:46.942 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.89-dev] 09-Apr-2024 14:30:46.948 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio2-127.0.0.1-auto-8-34877"] 09-Apr-2024 14:30:46.955 SEVERE [http-nio2-127.0.0.1-auto-8-exec-3] org.apache.tomcat.websocket.pojo.PojoEndpointBase.onError No error handling configured for [org.apache.tomcat.websocket.TesterEchoServer$WriterError] and the following error occurred java.lang.RuntimeException at org.apache.tomcat.websocket.TesterEchoServer$WriterError.echoTextMessage(TesterEchoServer.java:200) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.apache.tomcat.websocket.pojo.PojoMessageHandlerWholeBase.onMessage(PojoMessageHandlerWholeBase.java:101) at org.apache.tomcat.websocket.WsFrameBase.sendMessageText(WsFrameBase.java:390) at org.apache.tomcat.websocket.server.WsFrameServer.sendMessageText(WsFrameServer.java:130) at org.apache.tomcat.websocket.WsFrameBase.processDataText(WsFrameBase.java:484) at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:284) at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:130) at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:85) at org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:184) at org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:164) at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:152) at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:60) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:57) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928) at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1734) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1321) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:645) at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:621) at java.base/sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:129) at java.base/sun.nio.ch.Invoker$2.run(Invoker.java:221) at java.base/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:113) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:833) 09-Apr-2024 14:30:46.957 INFO [main] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio2-127.0.0.1-auto-8-34877"] 09-Apr-2024 14:30:46.958 INFO [main] org.apache.catalina.core.StandardService.stopInternal Stopping service [Tomcat] 09-Apr-2024 14:30:46.959 INFO [main] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio2-127.0.0.1-auto-8-34877"] 09-Apr-2024 14:30:46.960 INFO [main] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio2-127.0.0.1-auto-8-34877"] ------------- ---------------- --------------- Testcase: testWriterZeroLengthAnnotation took 2.194 sec Testcase: testWriterAnnotation took 0.309 sec Testcase: testWriterProgrammatic took 0.105 sec Testcase: testStreamProgrammatic took 0.052 sec Testcase: testWriterErrorProgrammatic took 0.029 sec Testcase: testWriterZeroLengthProgrammatic took 0.026 sec Testcase: testStreamAnnotation took 0.054 sec Testcase: testWriterErrorAnnotation took 0.033 sec