Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Follow setup instructions in TOMEE-3140. Then run:
./runtests --ee91 -c -j --web tomee-plume com.sun.ts.tests.websocket.ee.jakarta.websocket.session.WSClient#setTimeout1Test
At the time this issue was filed, the test failed with the following in target/logs/javatest.log
04-11-2021 21:40:29: [WebSocketCommonClient] Test cleanup OK 04-11-2021 21:40:30: TRACE: SLEPT FOR: 1000 04-11-2021 21:40:30: TRACE: in custom vehicle so call on EETest. 04-11-2021 21:40:30: TRACE: *** in EETest.run(argv,p) 04-11-2021 21:40:30: TRACE: TESTCLASS=com.sun.ts.tests.websocket.ee.jakarta.websocket.session.WSClient 04-11-2021 21:40:30: TRACE: ** IN getRunMethod: testClass=com.sun.ts.tests.websocket.ee.jakarta.websocket.session.WSClient 04-11-2021 21:40:30: TRACE: ** IN getRunMethod: testname=setTimeout1Test 04-11-2021 21:40:30: TRACE: ** GOT RUN METHOD! 04-11-2021 21:40:30: TRACE: **runmethod=setTimeout1Test 04-11-2021 21:40:30: TRACE: ABOUT TO GET SETUP METHOD! 04-11-2021 21:40:30: TRACE: No setupMethod annotation present 04-11-2021 21:40:30: TRACE: getSetupMethod - checking for testcase specific setup method: setTimeout1Test_setup 04-11-2021 21:40:30: TRACE: getSetupMethod - checking for default class specific setup method 04-11-2021 21:40:30: TRACE: GOT SETUP METHOD! 04-11-2021 21:40:30: TRACE: No cleanupMethod annotation present 04-11-2021 21:40:30: TRACE: getCleanupMethod - checking for testcase specific cleanup method: setTimeout1Test_cleanup 04-11-2021 21:40:30: TRACE: getCleanupMethod - checking for default class specific cleanup method 04-11-2021 21:40:30: TRACE: GOT CLEANUP METHOD! 04-11-2021 21:40:30: TRACE: ABOUT TO INVOKE SETUP METHOD! 04-11-2021 21:40:30: TRACE: setup method WebSocketCommonClient 04-11-2021 21:40:30: [WebSocketCommonClient] Test setup OK 04-11-2021 21:40:30: TRACE: INVOKED SETUP METHOD! 04-11-2021 21:40:30: TRACE: ABOUT TO INVOKE EETEST RUN METHOD! getMaxIdleTimeout returned default value on client side =0 TCKTestServer got String message: testName=setTimeout1Test ========In setMaxIdleTimeout1Test: TCKTestServer received String:testName=setTimeout1Test ==From WSTestServer onClose(Session)== java.lang.IllegalStateException: Message will not be sent because the WebSocket session has been closed at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMessagePart(WsRemoteEndpointImplBase.java:439) at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:311) at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:251) at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendString(WsRemoteEndpointImplBase.java:192) at org.apache.tomcat.websocket.WsRemoteEndpointBasic.sendText(WsRemoteEndpointBasic.java:37) at com.sun.ts.tests.websocket.ee.jakarta.websocket.session.WSTestServer.onClose(WSTestServer.java:149) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tomcat.websocket.pojo.PojoEndpointBase.onClose(PojoEndpointBase.java:103) at org.apache.tomcat.websocket.WsSession.fireEndpointOnClose(WsSession.java:556) at org.apache.tomcat.websocket.WsSession.onClose(WsSession.java:534) at org.apache.tomcat.websocket.WsFrameBase.processDataControl(WsFrameBase.java:367) at org.apache.tomcat.websocket.WsFrameBase.processData(WsFrameBase.java:296) at org.apache.tomcat.websocket.WsFrameBase.processInputBuffer(WsFrameBase.java:133) at org.apache.tomcat.websocket.server.WsFrameServer.onDataAvailable(WsFrameServer.java:85) at org.apache.tomcat.websocket.server.WsFrameServer.doOnDataAvailable(WsFrameServer.java:183) at org.apache.tomcat.websocket.server.WsFrameServer.notifyDataAvailable(WsFrameServer.java:162) at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.upgradeDispatch(WsHttpUpgradeHandler.java:156) at org.apache.coyote.http11.upgrade.UpgradeProcessorInternal.dispatch(UpgradeProcessorInternal.java:60) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:59) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:870) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1696) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) TCKBasicEndpoint OnOpen========TCKTestServer opened========session from Server is open=TRUE========TCKTestServer received String: testName=setTimeout1Test========TCKTestServer default timeout: 0TCKBasicEndpoint OnClose CloseCode=CLOSED_ABNORMALLYTCKBasicEndpoint OnClose ReasonPhrase=The WebSocket session [0] idle timeout expiredTCKBasicEndpoint OnOpen========TCKTestServer opened========session from Server is open=TRUE========TCKTestServer received String: testName=setTimeout1Test========TCKTestServer default timeout: 0========TCKTestServer second message after sleep 40 secondTCKBasicEndpoint OnClose CloseCode=CLOSED_ABNORMALLYTCKBasicEndpoint OnClose ReasonPhrase=The WebSocket session [1] idle timeout expiredTCKBasicEndpoint OnOpen========TCKTestServer opened========session from Server is open=TRUE========TCKTestServer received String: testName=setTimeout1Test========TCKTestServer default timeout: 0========TCKTestServer second message after sleep 40 secondTCKBasicEndpoint OnClose CloseCode=CLOSED_ABNORMALLYTCKBasicEndpoint OnClose ReasonPhrase=The WebSocket session [2] idle timeout expired [MessageValidator] Scanning for search string: 'TCKBasicEndpoint OnOpen' starting at index location: 0 [MessageValidator] Found search string: 'TCKBasicEndpoint OnOpen' at index '0 [MessageValidator] Scanning for search string: 'TCKTestServer opened' starting at index location: 23 [MessageValidator] Found search string: 'TCKTestServer opened' at index '31 Test failed due to message sent and/or received after timeout from client side [MessageValidator] Scanning for search string: 'session from Server is open=TRUE' starting at index location: 51 [MessageValidator] Found search string: 'session from Server is open=TRUE' at index '59 [MessageValidator] Scanning for search string: 'TCKTestServer received String: testName=setTimeout1Test' starting at index location: 91 [MessageValidator] Found search string: 'TCKTestServer received String: testName=setTimeout1Test' at index '99 com.sun.ts.lib.harness.EETest$Fault: Test failed with incorrect response 04-11-2021 21:40:50: ERROR: Test failed with incorrect response at com.sun.ts.tests.websocket.ee.jakarta.websocket.session.WSClient.setTimeout1Test(WSClient.java:1385) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.sun.ts.lib.harness.EETest.run(EETest.java:596) at com.sun.ts.lib.harness.ServiceEETest.run(ServiceEETest.java:115) at com.sun.ts.lib.harness.EETest.getPropsReady(EETest.java:486) at com.sun.ts.lib.harness.ServiceEETest.run(ServiceEETest.java:209) at com.sun.ts.tests.websocket.common.client.WebSocketCommonClient.run(WebSocketCommonClient.java:570) at com.sun.ts.tests.websocket.ee.jakarta.websocket.session.WSClient.main(WSClient.java:59) 04-11-2021 21:40:50: ERROR: Test case throws exception: com.sun.ts.lib.harness.EETest$Fault: Test failed with incorrect response 04-11-2021 21:40:50: ERROR: Exception at: 04-11-2021 21:40:50: ERROR: com.sun.ts.lib.harness.EETest$Fault: Test failed with incorrect response at com.sun.ts.tests.websocket.ee.jakarta.websocket.session.WSClient.setTimeout1Test(WSClient.java:1385) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.sun.ts.lib.harness.EETest.run(EETest.java:596) at com.sun.ts.lib.harness.ServiceEETest.run(ServiceEETest.java:115) at com.sun.ts.lib.harness.EETest.getPropsReady(EETest.java:486) at com.sun.ts.lib.harness.ServiceEETest.run(ServiceEETest.java:209) at com.sun.ts.tests.websocket.common.client.WebSocketCommonClient.run(WebSocketCommonClient.java:570) at com.sun.ts.tests.websocket.ee.jakarta.websocket.session.WSClient.main(WSClient.java:59) 04-11-2021 21:40:50: [WebSocketCommonClient] Test cleanup OK 04-11-2021 21:40:51: TRACE: SLEPT FOR: 1000 STATUS:Failed.Test case throws exception: com.sun.ts.lib.harness.EETest$Fault: Test failed with incorrect response Failed. Test case throws exception: com.sun.ts.lib.harness.EETest$Fault: Test failed with incorrect response ******************************************************************************** Finished Test: FAILED........com/sun/ts/tests/websocket/ee/jakarta/websocket/session/WSClient.java#setTimeout1Test
For tips on debugging/fixing tests, see https://github.com/apache/tomee-tck/blob/master/DEBUGGING.adoc
If you have any thoughts about what the test is expecting/testing, please add them to the comments.