Author: markt
Date: Thu Feb 7 21:34:35 2019
New Revision: 1853162
URL: http://svn.apache.org/viewvc?rev=1853162&view=rev
Log:
Follow on to r1853152
Modified:
tomcat/trunk/test/org/apache/coyote/http2/TestHttp2InitialConnection.java
Modified:
tomcat/trunk/test/org/apache/coyote/http2/TestHttp2InitialConnection.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/coyote/http2/TestHttp2InitialConnection.java?rev=1853162&r1=1853161&r2=1853162&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/coyote/http2/TestHttp2InitialConnection.java
(original)
+++ tomcat/trunk/test/org/apache/coyote/http2/TestHttp2InitialConnection.java
Thu Feb 7 21:34:35 2019
@@ -24,6 +24,10 @@ import java.util.List;
import org.junit.Assert;
import org.junit.Test;
+import org.apache.catalina.util.ServerInfo;
+import org.apache.catalina.valves.ErrorReportValve;
+import org.apache.tomcat.util.res.StringManager;
+
public class TestHttp2InitialConnection extends Http2TestBase {
private TestData testData;
@@ -57,7 +61,6 @@ public class TestHttp2InitialConnection
List<String> hostHeaders = new ArrayList<>(1);
testData = new TestData(hostHeaders, 400);
-
http2Connect();
}
@@ -101,8 +104,26 @@ public class TestHttp2InitialConnection
if (testData.getExpectedStatus() == 200) {
return super.getResponseBodyFrameTrace(streamId, body);
} else if (testData.getExpectedStatus() == 400) {
+ /*
+ * Need to be careful here. The test wants the exact content length
+ * in bytes.
+ * This will vary depending on where the test is run due to:
+ * - The length of the version string that appears once in the
error
+ * page
+ * - The status header uses a UTF-8 EM dash. When running in an IDE
+ * the UTF-8 properties files will be used directly rather than
+ * after native2ascii conversion.
+ *
+ * Note: The status header appears twice in the error page.
+ */
+ int serverInfoLength =
ServerInfo.getServerInfo().getBytes().length;
+ StringManager sm =
StringManager.getManager(ErrorReportValve.class);
+ int statusHeaderLength = sm.getString(
+ "errorReportValve.statusHeader", "", "").getBytes().length;
+ int len = 1073 + serverInfoLength + statusHeaderLength * 2;
+ String contentLength = String.valueOf(len);
return getResponseBodyFrameTrace(streamId,
testData.getExpectedStatus(),
- "text/html;charset=utf-8", "en", "1136", "1136");
+ "text/html;charset=utf-8", "en", contentLength,
contentLength);
} else {
Assert.fail();
// To keep the IDE happy
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]