Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8159039

sun/net/httpclient/hpack/HeaderTableTest.java fails on some locales

XMLWordPrintable

    • b123

      sun/net/httpclient/hpack/HeaderTableTest.java has the following assertion:

         @Test
          public void testToString() {
              HeaderTable table = new HeaderTable(0);
              {
                  table.setMaxSize(2048);
                  assertEquals("entries: 0; used 0/2048 (0.0%)", table.toString());
              }

       ... but theHeaderTable has the following toString implementation:

           @Override
          public String toString() {
              double used = maxSize == 0 ? 0 : 100 * (((double) size) / maxSize);
              return format("entries: %d; used %s/%s (%.1f%%)", dynamicTable.size(),
                      size, maxSize, used);
          }

       ... which is locale dependent.

      The test should be relaxed, or the toString implementation should use Locale.ROOT.

      Note: assertEquals(ACTUAL, EXPECTED), rather than assertEquals(EXPECTED, ACTUAL), but this is probably not worth changing as it occurs consistently in the test.

      STDOUT:
      new java.util.Random(1465315389025)
      [TestNG] Running:
        java/net/httpclient/http2/HpackDriver.java

      test sun.net.httpclient.hpack.HeaderTableTest.constructorSetsMaxSize(): success
      test sun.net.httpclient.hpack.HeaderTableTest.entryPutAfterStaticArea(): success
      test sun.net.httpclient.hpack.HeaderTableTest.fifo(): success
      test sun.net.httpclient.hpack.HeaderTableTest.indexOf(): success
      test sun.net.httpclient.hpack.HeaderTableTest.indexOutsideStaticRange(): success
      test sun.net.httpclient.hpack.HeaderTableTest.length(): success
      test sun.net.httpclient.hpack.HeaderTableTest.lowerIndexPriority(): success
      test sun.net.httpclient.hpack.HeaderTableTest.lowerIndexPriority2(): success
      test sun.net.httpclient.hpack.HeaderTableTest.negativeIndex(): success
      test sun.net.httpclient.hpack.HeaderTableTest.negativeMaximumSize(): success
      test sun.net.httpclient.hpack.HeaderTableTest.stateString(): success
      test sun.net.httpclient.hpack.HeaderTableTest.staticData(): success
      test sun.net.httpclient.hpack.HeaderTableTest.staticTableHasZeroSize(): success
      test sun.net.httpclient.hpack.HeaderTableTest.testToString(): failure
      java.lang.AssertionError: expected [entries: 0; used 0/2048 (0,0%)] but found [entries: 0; used 0/2048 (0.0%)]
      at org.testng.Assert.fail(Assert.java:94)
      at org.testng.Assert.failNotEquals(Assert.java:494)
      at org.testng.Assert.assertEquals(Assert.java:123)
      at org.testng.Assert.assertEquals(Assert.java:176)
      at org.testng.Assert.assertEquals(Assert.java:186)
      at sun.net.httpclient.hpack.HeaderTableTest.testToString(java.httpclient@9-internal/HeaderTableTest.java:323)
      at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@9-internal/Native Method)
      at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@9-internal/NativeMethodAccessorImpl.java:62)
      at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@9-internal/DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(java.base@9-internal/Method.java:531)
      at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
      at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
      at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
      at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
      at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
      at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
      at org.testng.TestRunner.privateRun(TestRunner.java:767)
      at org.testng.TestRunner.run(TestRunner.java:617)
      at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
      at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
      at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
      at org.testng.SuiteRunner.run(SuiteRunner.java:240)
      at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
      at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
      at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
      at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
      at org.testng.TestNG.run(TestNG.java:1057)
      at com.sun.javatest.regtest.TestNGAction$TestNGRunner.main(TestNGAction.java:220)
      at com.sun.javatest.regtest.TestNGAction$TestNGRunner.main(TestNGAction.java:184)
      at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(java.base@9-internal/Native Method)
      at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(java.base@9-internal/NativeMethodAccessorImpl.java:62)
      at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@9-internal/DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(java.base@9-internal/Method.java:531)
      at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:110)
      at java.lang.Thread.run(java.base@9-internal/Thread.java:843)
      test sun.net.httpclient.hpack.HeaderTableTest.zeroIndex(): success
      test sun.net.httpclient.hpack.HeaderTableTest.zeroMaximumSize(): success

      ===============================================
      java/net/httpclient/http2/HpackDriver.java
      Total tests run: 16, Failures: 1, Skips: 0
      ===============================================

            prappo Pavel Rappo (Inactive)
            chegar Chris Hegarty
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: