https://bz.apache.org/bugzilla/show_bug.cgi?id=63831

            Bug ID: 63831
           Summary: Tests in
                    org.apache.coyote.http2.TestHttp2InitialConnection
                    fail due to locale unwareness
           Product: Tomcat 8
           Version: 8.5.x-trunk
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Connectors
          Assignee: dev@tomcat.apache.org
          Reporter: micha...@apache.org
  Target Milestone: ----

Based on this discussion:
https://www.mail-archive.com/dev@tomcat.apache.org/msg136980.html

The tests fail for comparasion if the tester's locale isn't en_*:
>     [junit] 0-Ping-[0,0,0,0,0,0,0,1]
>     [junit] 1-HeadersStart
>     [junit] 1-Header-[:status]-[400]
>     [junit] 1-Header-[content-type]-[text/html;charset=utf-8]
>     [junit] 1-Header-[content-language]-[de]
>     [junit] 1-Header-[content-length]-[1127]
>     [junit] 1-Header-[date]-[Wed, 11 Nov 2015 19:18:42 GMT]
>     [junit] 1-HeadersEnd
>     [junit] 1-Body-1127
>     [junit] 1-EndOfStream
>     [junit]
>     [junit] 0-Settings-[3]-[200]
>     [junit] 0-Settings-End
>     [junit] 0-Settings-Ack
>     [junit] 0-Ping-[0,0,0,0,0,0,0,1]
>     [junit] 1-HeadersStart
>     [junit] 1-Header-[:status]-[400]
>     [junit] 1-Header-[content-type]-[text/html;charset=utf-8]
>     [junit] 1-Header-[content-language]-[de]
>     [junit] 1-Header-[content-length]-[1128]
>     [junit] 1-Header-[date]-[Wed, 11 Nov 2015 19:18:42 GMT]
>     [junit] 1-HeadersEnd
>     [junit] 1-Body-1128
>     [junit] 1-EndOfStream
>     [junit]
>     [junit] Length: 1127
>     [junit] Locale: de

as soon as your run:
> LC_ALL=C.UTF-8 ant test 
> -Dtest.entry=org.apache.coyote.http2.TestHttp2InitialConnection

all tests pass:
>     [junit] Length: 1127
>     [junit] Locale: en
>     [junit] 0-Settings-[3]-[200]
>     [junit] 0-Settings-End
>     [junit] 0-Settings-Ack
>     [junit] 0-Ping-[0,0,0,0,0,0,0,1]
>     [junit] 1-HeadersStart
>     [junit] 1-Header-[:status]-[400]
>     [junit] 1-Header-[content-type]-[text/html;charset=utf-8]
>     [junit] 1-Header-[content-language]-[en]
>     [junit] 1-Header-[content-length]-[1127]
>     [junit] 1-Header-[date]-[Wed, 11 Nov 2015 19:18:42 GMT]
>     [junit] 1-HeadersEnd
>     [junit] 1-Body-1127
>     [junit] 1-EndOfStream
>     [junit]
>     [junit] 0-Settings-[3]-[200]
>     [junit] 0-Settings-End
>     [junit] 0-Settings-Ack
>     [junit] 0-Ping-[0,0,0,0,0,0,0,1]
>     [junit] 1-HeadersStart
>     [junit] 1-Header-[:status]-[400]
>     [junit] 1-Header-[content-type]-[text/html;charset=utf-8]
>     [junit] 1-Header-[content-language]-[en]
>     [junit] 1-Header-[content-length]-[1127]
>     [junit] 1-Header-[date]-[Wed, 11 Nov 2015 19:18:42 GMT]
>     [junit] 1-HeadersEnd
>     [junit] 1-Body-1127
>     [junit] 1-EndOfStream
>     [junit]
>     [junit] Length: 1127
>     [junit] Locale: en

I assume the difference for English and German is solely:

> Description
> Beschreibung

Run the test in Spanish and the diff is even larger:

>     [junit] Length: 1127
>     [junit] Locale: es
>     [junit] 0-Settings-[3]-[200]
>     [junit] 0-Settings-End
>     [junit] 0-Settings-Ack
>     [junit] 0-Ping-[0,0,0,0,0,0,0,1]
>     [junit] 1-HeadersStart
>     [junit] 1-Header-[:status]-[400]
>     [junit] 1-Header-[content-type]-[text/html;charset=utf-8]
>     [junit] 1-Header-[content-language]-[es]
>     [junit] 1-Header-[content-length]-[1127]
>     [junit] 1-Header-[date]-[Wed, 11 Nov 2015 19:18:42 GMT]
>     [junit] 1-HeadersEnd
>     [junit] 1-Body-1127
>     [junit] 1-EndOfStream
>     [junit]
>     [junit] 0-Settings-[3]-[200]
>     [junit] 0-Settings-End
>     [junit] 0-Settings-Ack
>     [junit] 0-Ping-[0,0,0,0,0,0,0,1]
>     [junit] 1-HeadersStart
>     [junit] 1-Header-[:status]-[400]
>     [junit] 1-Header-[content-type]-[text/html;charset=utf-8]
>     [junit] 1-Header-[content-language]-[es]
>     [junit] 1-Header-[content-length]-[1002]
>     [junit] 1-Header-[date]-[Wed, 11 Nov 2015 19:18:42 GMT]
>     [junit] 1-HeadersEnd
>     [junit] 1-Body-1002
>     [junit] 1-EndOfStream
>     [junit]
>     [junit] Length: 1127
>     [junit] Locale: es

Following diff has been applied for testing:
> diff --git a/test/org/apache/coyote/http2/Http2TestBase.java 
> b/test/org/apache/coyote/http2/Http2TestBase.java
> index 7f08fcbd80..7da6aee605 100644
> --- a/test/org/apache/coyote/http2/Http2TestBase.java
> +++ b/test/org/apache/coyote/http2/Http2TestBase.java
> @@ -125,7 +125,12 @@ public abstract class Http2TestBase extends 
> TomcatBaseTest {
>          parser.readFrame(true);
>          parser.readFrame(true);
>          parser.readFrame(true);
> -
> +        System.out.println("0-Settings-[3]-[200]\n" +
> +                "0-Settings-End\n" +
> +                "0-Settings-Ack\n" +
> +                "0-Ping-[0,0,0,0,0,0,0,1]\n" +
> +                getSimpleResponseTrace(1));
> +        System.out.println(output.getTrace());
>          Assert.assertEquals("0-Settings-[3]-[200]\n" +
>                  "0-Settings-End\n" +
>                  "0-Settings-Ack\n" +
> diff --git a/test/org/apache/coyote/http2/TestHttp2InitialConnection.java 
> b/test/org/apache/coyote/http2/TestHttp2InitialConnection.java
> index c1c0702146..24ac3e38ee 100644
> --- a/test/org/apache/coyote/http2/TestHttp2InitialConnection.java
> +++ b/test/org/apache/coyote/http2/TestHttp2InitialConnection.java
> @@ -123,7 +123,9 @@ public class TestHttp2InitialConnection extends 
> Http2TestBase {
>                      .getBytes(StandardCharsets.UTF_8).length;
>              int len = 1073 + serverInfoLength + statusHeaderLength * 2;
>              String contentLength = String.valueOf(len);
> -            return getResponseBodyFrameTrace(streamId,
> +            System.out.println("Length: " + contentLength);
> +            System.out.println("Locale: " + sm.getLocale());
> +            return getResponseBodyFrameTrace(streamId,
>                      testData.getExpectedStatus(), "text/html;charset=utf-8",
>                      sm.getLocale().getLanguage(), contentLength, 
> contentLength);
>          } else {

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to