Author: markt Date: Mon Sep 21 16:03:19 2015 New Revision: 1704341 URL: http://svn.apache.org/viewvc?rev=1704341&view=rev Log: Fix possible incorrect test failure that depends on the ordering of server side threads.
Modified: tomcat/trunk/test/org/apache/coyote/http2/TestHttp2Section_6_9.java Modified: tomcat/trunk/test/org/apache/coyote/http2/TestHttp2Section_6_9.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/coyote/http2/TestHttp2Section_6_9.java?rev=1704341&r1=1704340&r2=1704341&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/coyote/http2/TestHttp2Section_6_9.java (original) +++ tomcat/trunk/test/org/apache/coyote/http2/TestHttp2Section_6_9.java Mon Sep 21 16:03:19 2015 @@ -243,17 +243,27 @@ public class TestHttp2Section_6_9 extend // Now use a settings frame to restore the size of the flow control // window. sendSettings(0, false, new SettingValue(4, 64 * 1024 - 1)); - // Ack - parser.readFrame(true); - Assert.assertEquals("0-Settings-Ack\n", output.getTrace()); - output.clearTrace(); - // Stream remainder of stream 3 body + // Settings ack and stream 3 body are written from different threads. + // Order depends on server side timing. Handle both possibilities. parser.readFrame(true); - Assert.assertEquals( - "3-Body-4096\n" + - "3-EndOfStream\n", output.getTrace()); - output.clearTrace(); + String trace = output.getTrace(); + String settingsAck = "0-Settings-Ack\n"; + String endOfStreamThree = "3-Body-4096\n3-EndOfStream\n"; + + if (settingsAck.equals(trace)) { + // Ack the end of stream 3 + output.clearTrace(); + parser.readFrame(true); + Assert.assertEquals(endOfStreamThree, output.getTrace()); + } else { + // End of stream 3 thenack + Assert.assertEquals(endOfStreamThree, output.getTrace()); + output.clearTrace(); + parser.readFrame(true); + Assert.assertEquals(settingsAck, output.getTrace()); + } + output.clearTrace(); } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org