This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/master by this push: new 20c1b43 Additional debug logging 20c1b43 is described below commit 20c1b439bc52c8817d7265cb65ce9fadd664ccac Author: Mark Thomas <ma...@apache.org> AuthorDate: Tue Aug 18 15:53:08 2020 +0100 Additional debug logging --- .../apache/coyote/http2/TestHttp2Section_5_1.java | 120 +++++++++++---------- .../tomcat/websocket/TestWebSocketFrameClient.java | 2 +- 2 files changed, 66 insertions(+), 56 deletions(-) diff --git a/test/org/apache/coyote/http2/TestHttp2Section_5_1.java b/test/org/apache/coyote/http2/TestHttp2Section_5_1.java index 163f99a..6583b8d 100644 --- a/test/org/apache/coyote/http2/TestHttp2Section_5_1.java +++ b/test/org/apache/coyote/http2/TestHttp2Section_5_1.java @@ -17,6 +17,8 @@ package org.apache.coyote.http2; import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.LogManager; import org.junit.Assert; import org.junit.Test; @@ -258,68 +260,76 @@ public class TestHttp2Section_5_1 extends Http2TestBase { @Test public void testExceedMaxActiveStreams02() throws Exception { - // http2Connect() - modified - enableHttp2(1); - configureAndStartWebApplication(); - openClientConnection(); - doHttpUpgrade(); - sendClientPreface(); + LogManager.getLogManager().getLogger("org.apache.coyote").setLevel(Level.ALL); + try { + // temporary debug logging to investigate intermittent CI failures - // validateHttp2InitialResponse() - modified - parser.readFrame(true); - parser.readFrame(true); - parser.readFrame(true); - parser.readFrame(true); - parser.readFrame(true); - Assert.assertEquals("0-Settings-[3]-[1]\n" + - "0-Settings-End\n" + - "0-Settings-Ack\n" + - "0-Ping-[0,0,0,0,0,0,0,1]\n" + - getSimpleResponseTrace(1) - , output.getTrace()); - output.clearTrace(); - - sendLargeGetRequest(3); - - sendSimpleGetRequest(5); + // http2Connect() - modified + enableHttp2(1); + configureAndStartWebApplication(); + openClientConnection(); + doHttpUpgrade(); + sendClientPreface(); - // Default connection window size is 64k-1. - // Initial request will have used 8k leaving 56k-1. - // Stream window will be 64k-1. - // Expecting - // 1 * headers - // 56k-1 of body (7 * ~8k) - // 1 * error - // for a total of 9 frames (could be in any order) - for (int i = 0; i < 9; i++) { + // validateHttp2InitialResponse() - modified + parser.readFrame(true); + parser.readFrame(true); + parser.readFrame(true); + parser.readFrame(true); parser.readFrame(true); - } - - Assert.assertTrue(output.getTrace(), - output.getTrace().contains("5-RST-[" + - Http2Error.REFUSED_STREAM.getCode() + "]")); - output.clearTrace(); - - // Connection window is zero. - // Stream window is 8k - // Reset stream 3 (client cancel) - sendRst(3, Http2Error.NO_ERROR.getCode()); - // Client reset triggers a write error which in turn triggers a server - // reset - parser.readFrame(true); - Assert.assertEquals("3-RST-[8]\n", output.getTrace()); - output.clearTrace(); + Assert.assertEquals("0-Settings-[3]-[1]\n" + + "0-Settings-End\n" + + "0-Settings-Ack\n" + + "0-Ping-[0,0,0,0,0,0,0,1]\n" + + getSimpleResponseTrace(1) + , output.getTrace()); + output.clearTrace(); + + sendLargeGetRequest(3); + + sendSimpleGetRequest(5); + + // Default connection window size is 64k-1. + // Initial request will have used 8k leaving 56k-1. + // Stream window will be 64k-1. + // Expecting + // 1 * headers + // 56k-1 of body (7 * ~8k) + // 1 * error + // for a total of 9 frames (could be in any order) + for (int i = 0; i < 9; i++) { + parser.readFrame(true); + } + + Assert.assertTrue(output.getTrace(), + output.getTrace().contains("5-RST-[" + + Http2Error.REFUSED_STREAM.getCode() + "]")); + output.clearTrace(); + + // Connection window is zero. + // Stream window is 8k + + // Reset stream 3 (client cancel) + sendRst(3, Http2Error.NO_ERROR.getCode()); + // Client reset triggers a write error which in turn triggers a server + // reset + parser.readFrame(true); + Assert.assertEquals("3-RST-[8]\n", output.getTrace()); + output.clearTrace(); - // Open up the connection window. - sendWindowUpdate(0, (1 << 31) - 2); + // Open up the connection window. + sendWindowUpdate(0, (1 << 31) - 2); - // Confirm another request can be sent once concurrency falls back below limit - sendSimpleGetRequest(7); - parser.readFrame(true); - parser.readFrame(true); - Assert.assertEquals(getSimpleResponseTrace(7), output.getTrace()); + // Confirm another request can be sent once concurrency falls back below limit + sendSimpleGetRequest(7); + parser.readFrame(true); + parser.readFrame(true); + Assert.assertEquals(getSimpleResponseTrace(7), output.getTrace()); + } finally { + LogManager.getLogManager().getLogger("org.apache.coyote").setLevel(Level.INFO); + } } diff --git a/test/org/apache/tomcat/websocket/TestWebSocketFrameClient.java b/test/org/apache/tomcat/websocket/TestWebSocketFrameClient.java index 2ee37dc..958c59b 100644 --- a/test/org/apache/tomcat/websocket/TestWebSocketFrameClient.java +++ b/test/org/apache/tomcat/websocket/TestWebSocketFrameClient.java @@ -125,7 +125,7 @@ public class TestWebSocketFrameClient extends WebSocketBaseTest { echoTester("/foo",null); echoTester("/foo/",null); } finally { - LogManager.getLogManager().getLogger("org.apache.coyote").setLevel(Level.ALL); + LogManager.getLogManager().getLogger("org.apache.coyote").setLevel(Level.INFO); LogManager.getLogManager().getLogger("org.apache.tomcat.util.net").setLevel(Level.INFO); } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org