changeset 39038:fcd3b93b265f

Merge
author ddehaven
date Wed, 15 Jun 2016 12:47:50 -0700
parents 0f3521828775 94e7f56f371c
children 9dea20ff2dee
files
diffstat 16 files changed, 92 insertions(+), 140 deletions(-) [+]
line wrap: on
line diff
--- a/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource.java	Wed Jun 15 09:24:05 2016 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/DriverResource.java	Wed Jun 15 12:47:50 2016 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -61,17 +61,25 @@
                 "Usage:  pack200 [-opt... | --option=value]... x.pack[.gz] y.jar",
                 "",
                 "Packing Options",
-                "  -g, --no-gzip                   output a plain *.pack file with no zipping",
-                "  --gzip                          (default) post-process the pack output with gzip",
-                "  -G, --strip-debug               remove debugging attributes while packing",
+                "  -r, --repack                    repack or normalize a jar, suitable for ",
+                "                                  signing with jarsigner",
+                "  -g, --no-gzip                   output a plain pack file, suitable to be",
+                "                                  compressed with a file compression utility",
+                "  --gzip                          (default) post compress the pack output",
+                "                                  with gzip",
+                "  -G, --strip-debug               remove debugging attributes (SourceFile,",
+                "                                  LineNumberTable, LocalVariableTable",
+                "                                  and LocalVariableTypeTable) while packing",
                 "  -O, --no-keep-file-order        do not transmit file ordering information",
                 "  --keep-file-order               (default) preserve input file ordering",
-                "  -S{N}, --segment-limit={N}      output segment limit (default N=1Mb)",
+                "  -S{N}, --segment-limit={N}      limit segment sizes (default unlimited)",
                 "  -E{N}, --effort={N}             packing effort (default N=5)",
-                "  -H{h}, --deflate-hint={h}       transmit deflate hint: true, false, or keep (default)",
+                "  -H{h}, --deflate-hint={h}       transmit deflate hint: true, false,",
+                "                                  or keep (default)",
                 "  -m{V}, --modification-time={V}  transmit modtimes: latest or keep (default)",
-                "  -P{F}, --pass-file={F}          transmit the given input element(s) uncompressed",
-                "  -U{a}, --unknown-attribute={a}  unknown attribute action: error, strip, or pass (default)",
+                "  -P{F}, --pass-file={F}          transmit the given input element(s) unchanged",
+                "  -U{a}, --unknown-attribute={a}  unknown attribute action: error, strip,",
+                "                                  or pass (default)",
                 "  -C{N}={L}, --class-attribute={N}={L}  (user-defined attribute)",
                 "  -F{N}={L}, --field-attribute={N}={L}  (user-defined attribute)",
                 "  -M{N}={L}, --method-attribute={N}={L} (user-defined attribute)",
@@ -79,7 +87,8 @@
                 "  -f{F}, --config-file={F}        read file F for Pack200.Packer properties",
                 "  -v, --verbose                   increase program verbosity",
                 "  -q, --quiet                     set verbosity to lowest level",
-                "  -l{F}, --log-file={F}           output to the given log file, or '-' for System.out",
+                "  -l{F}, --log-file={F}           output to the given log file, ",
+                "                                  or '-' for System.out",
                 "  -?, -h, --help                  print this message",
                 "  -V, --version                   print program version",
                 "  -J{X}                           pass option X to underlying Java VM",
@@ -92,18 +101,23 @@
                 "  Layout definitions (like RUH) are defined by JSR 200.",
                 "",
                 "Repacking mode updates the JAR file with a pack/unpack cycle:",
-                "    pack200 [-r|--repack] [-opt | --option=value]... [repackedy.jar] y.jar\n"
+                "    pack200 [-r|--repack] [-opt | --option=value]... [repackedy.jar] y.jar\n",
+                "",
+                "Exit Status:",
+                "  0 if successful, >0 if an error occurred"
             }
         },
         {UNPACK_HELP, new String[] {
                 "Usage:  unpack200 [-opt... | --option=value]... x.pack[.gz] y.jar\n",
                 "",
                 "Unpacking Options",
-                "  -H{h}, --deflate-hint={h}     override transmitted deflate hint: true, false, or keep (default)",
+                "  -H{h}, --deflate-hint={h}     override transmitted deflate hint:",
+                "                                true, false, or keep (default)",
                 "  -r, --remove-pack-file        remove input file after unpacking",
                 "  -v, --verbose                 increase program verbosity",
                 "  -q, --quiet                   set verbosity to lowest level",
-                "  -l{F}, --log-file={F}         output to the given log file, or '-' for System.out",
+                "  -l{F}, --log-file={F}         output to the given log file, or",
+                "                                '-' for System.out",
                 "  -?, -h, --help                print this message",
                 "  -V, --version                 print program version",
                 "  -J{X}                         pass option X to underlying Java VM"
--- a/jdk/src/java.httpclient/share/classes/java/net/http/SSLConnection.java	Wed Jun 15 09:24:05 2016 -0700
+++ b/jdk/src/java.httpclient/share/classes/java/net/http/SSLConnection.java	Wed Jun 15 12:47:50 2016 -0700
@@ -142,6 +142,9 @@
         // TODO: check for closure
         String s = "Receive) ";
         //debugPrint(s, r.buf);
+        if (r.result.bytesProduced() > 0) {
+            assert buf == r.buf;
+        }
         return r.result.bytesProduced();
     }
 
--- a/jdk/src/java.httpclient/share/classes/java/net/http/SSLDelegate.java	Wed Jun 15 09:24:05 2016 -0700
+++ b/jdk/src/java.httpclient/share/classes/java/net/http/SSLDelegate.java	Wed Jun 15 12:47:50 2016 -0700
@@ -344,8 +344,8 @@
         /* we wait until some user data arrives */
         int mark = dst.position();
         WrapperResult r = null;
-        assert dst.position() == 0;
-        while (dst.position() == 0) {
+        int pos = dst.position();
+        while (dst.position() == pos) {
             r = wrapper.recvAndUnwrap (dst);
             dst = (r.buf != dst) ? r.buf: dst;
             Status status = r.result.getStatus();
--- a/jdk/src/java.httpclient/share/classes/java/net/http/SSLTunnelConnection.java	Wed Jun 15 09:24:05 2016 -0700
+++ b/jdk/src/java.httpclient/share/classes/java/net/http/SSLTunnelConnection.java	Wed Jun 15 12:47:50 2016 -0700
@@ -150,6 +150,10 @@
         // TODO: check for closure
         String s = "Receive) ";
         //debugPrint(s, r.buf);
+        if (r.result.bytesProduced() > 0) {
+            assert buf == r.buf;
+        }
+
         return r.result.bytesProduced();
     }
 
--- a/jdk/src/jdk.pack200/share/native/unpack200/main.cpp	Wed Jun 15 09:24:05 2016 -0700
+++ b/jdk/src/jdk.pack200/share/native/unpack200/main.cpp	Wed Jun 15 12:47:50 2016 -0700
@@ -146,14 +146,18 @@
 #define USAGE_OPTIONS \
     "\n" \
     "Unpacking Options\n" \
-    "  -H{h}, --deflate-hint={h}     override transmitted deflate hint: true, false, or keep (default)\n" \
+    "  -H{h}, --deflate-hint={h}     override transmitted deflate hint:\n" \
+    "                                true, false, or keep (default)\n" \
     "  -r, --remove-pack-file        remove input file after unpacking\n" \
     "  -v, --verbose                 increase program verbosity\n" \
     "  -q, --quiet                   set verbosity to lowest level\n" \
-    "  -l{F}, --log-file={F}         output to the given log file, or '-' for standard output (default)\n" \
+    "  -l{F}, --log-file={F}         output to the given log file,\n" \
+    "                                or '-' for standard output (default)\n" \
     "  -?, -h, --help                print this message\n" \
     "  -V, --version                 print program version\n" \
-    "  -J{X}                         Java VM argument (ignored)\n"
+    "\n" \
+    "Exit Status:\n" \
+    "  0 if successful, >0 if an error occurred\n"
 
 static void usage(unpacker* u, const char* progname, bool full = false) {
   // WinMain does not set argv[0] to the progrname
--- a/jdk/test/java/lang/Class/GetModuleTest.java	Wed Jun 15 09:24:05 2016 -0700
+++ b/jdk/test/java/lang/Class/GetModuleTest.java	Wed Jun 15 12:47:50 2016 -0700
@@ -25,6 +25,7 @@
  * @test
  * @summary Exercise Class#getModule
  * @modules java.base/jdk.internal.org.objectweb.asm
+ *          java.base/jdk.internal.misc
  *          java.desktop
  * @run testng GetModuleTest
  */
@@ -35,7 +36,7 @@
 
 import jdk.internal.org.objectweb.asm.ClassWriter;
 import static jdk.internal.org.objectweb.asm.Opcodes.*;
-import sun.misc.Unsafe;
+import jdk.internal.misc.Unsafe;
 
 import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
--- a/jdk/test/java/lang/ClassLoader/EndorsedDirs.java	Wed Jun 15 09:24:05 2016 -0700
+++ b/jdk/test/java/lang/ClassLoader/EndorsedDirs.java	Wed Jun 15 12:47:50 2016 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -24,20 +24,23 @@
 /*
  * @test
  * @bug 8060206 8067366
+ * @library /lib/testlibrary
  * @summary Endorsed standards and override mechanism is removed
  */
 
-import java.io.*;
-import java.util.*;
-import java.util.concurrent.TimeUnit;
-import java.util.stream.Collectors;
+import jdk.testlibrary.ProcessTools;
+
+import java.util.stream.Stream;
 
 public class EndorsedDirs {
+    private static String TEST_CLASSES = System.getProperty("test.classes", ".");
+
     private static String[] VALUES = new String[] {
             null,
             "",
             "\"\""
     };
+
     public static void main(String... args) throws Exception {
         String value = System.getProperty("java.endorsed.dirs");
         System.out.format("java.endorsed.dirs = '%s'%n", value);
@@ -64,59 +67,20 @@
         start(2, "-Djava.endorsed.dirs=\"\"");
     }
 
-    static ProcessBuilder newProcessBuilder(int testParam, String... args) throws Exception {
-        List<String> commands = new ArrayList<>();
-        String java = System.getProperty("java.home") + "/bin/java";
-        commands.add(java);
-        for (String s : args) {
-            commands.add(s);
-        }
-        String cpath = System.getProperty("test.classes", ".");
-        commands.add("-cp");
-        commands.add(cpath);
-        commands.add("EndorsedDirs");
-        commands.add(String.valueOf(testParam));
-
-        System.out.println("Testing " + commands.stream().collect(Collectors.joining(" ")));
-        return new ProcessBuilder(commands);
+    static String[] launchOptions(int testParam, String... args) {
+        return Stream.concat(Stream.of(args),
+                             Stream.of("-cp", TEST_CLASSES, "EndorsedDirs",
+                                       String.valueOf(testParam)))
+                     .toArray(String[]::new);
     }
 
     static void start(int testParam, String... args) throws Exception {
-        start(newProcessBuilder(testParam, args), false);
+        ProcessTools.executeTestJava(launchOptions(testParam, args))
+                    .shouldHaveExitValue(0);
     }
 
     static void fatalError(int testParam, String... args) throws Exception {
-        start(newProcessBuilder(testParam, args), true);
-    }
-
-    static void start(ProcessBuilder pb, boolean fatalError) throws Exception {
-        final Process process = pb.start();
-        BufferedReader errorStream = new BufferedReader(
-                new InputStreamReader(process.getErrorStream()));
-        BufferedReader outStream = new BufferedReader(
-                new InputStreamReader(process.getInputStream()));
-        String errorLine;
-        StringBuilder errors = new StringBuilder();
-        String outLines;
-        while ((errorLine = errorStream.readLine()) != null) {
-            errors.append(errorLine).append("\n");
-        }
-        while ((outLines = outStream.readLine()) != null) {
-            System.out.println(outLines);
-        }
-        errorLine = errors.toString();
-        System.err.println(errorLine);
-        process.waitFor(1000, TimeUnit.MILLISECONDS);
-        int exitStatus = process.exitValue();
-        if (fatalError) {
-            if (exitStatus == 0) {
-                throw new RuntimeException("Expected fatal error");
-            }
-            if (!errorLine.contains("Could not create the Java Virtual Machine")) {
-                throw new RuntimeException(errorLine);
-            }
-        } else if (exitStatus != 0) {
-            throw new RuntimeException("Failed: " + errorLine);
-        }
+        ProcessTools.executeTestJava(launchOptions(testParam, args))
+                    .stderrShouldContain("Could not create the Java Virtual Machine");
     }
 }
--- a/jdk/test/java/lang/ClassLoader/ExtDirs.java	Wed Jun 15 09:24:05 2016 -0700
+++ b/jdk/test/java/lang/ClassLoader/ExtDirs.java	Wed Jun 15 12:47:50 2016 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -24,21 +24,24 @@
 /*
  * @test
  * @bug 8060206 8067366
+ * @library /lib/testlibrary
  * @summary Extension mechanism is removed
  */
 
-import java.io.*;
+import jdk.testlibrary.ProcessTools;
+
 import java.lang.Integer;
-import java.util.*;
-import java.util.concurrent.TimeUnit;
-import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 public class ExtDirs {
+    private static String TEST_CLASSES = System.getProperty("test.classes", ".");
+
     private static String[] VALUES = new String[] {
             null,
             "",
             "\"\""
     };
+
     public static void main(String... args) throws Exception {
         String value = System.getProperty("java.ext.dirs");
         System.out.format("java.ext.dirs = '%s'%n", value);
@@ -65,59 +68,20 @@
         start(2, "-Djava.ext.dirs=\"\"");
     }
 
-    static ProcessBuilder newProcessBuilder(int testParam, String... args) throws Exception {
-        List<String> commands = new ArrayList<>();
-        String java = System.getProperty("java.home") + "/bin/java";
-        commands.add(java);
-        for (String s : args) {
-            commands.add(s);
-        }
-        String cpath = System.getProperty("test.classes", ".");
-        commands.add("-cp");
-        commands.add(cpath);
-        commands.add("ExtDirs");
-        commands.add(String.valueOf(testParam));
-
-        System.out.println("Testing " + commands.stream().collect(Collectors.joining(" ")));
-        return new ProcessBuilder(commands);
+    static String[] launchOptions(int testParam, String... args) {
+        return Stream.concat(Stream.of(args),
+                             Stream.of("-cp", TEST_CLASSES, "ExtDirs",
+                                       String.valueOf(testParam)))
+                     .toArray(String[]::new);
     }
 
     static void start(int testParam, String... args) throws Exception {
-        start(newProcessBuilder(testParam, args), false);
+        ProcessTools.executeTestJava(launchOptions(testParam, args))
+                    .shouldHaveExitValue(0);
     }
 
     static void fatalError(int testParam, String... args) throws Exception {
-        start(newProcessBuilder(testParam, args), true);
-    }
-
-    static void start(ProcessBuilder pb, boolean fatalError) throws Exception {
-        final Process process = pb.start();
-        BufferedReader errorStream = new BufferedReader(
-                new InputStreamReader(process.getErrorStream()));
-        BufferedReader outStream = new BufferedReader(
-                new InputStreamReader(process.getInputStream()));
-        String errorLine;
-        StringBuilder errors = new StringBuilder();
-        String outLines;
-        while ((errorLine = errorStream.readLine()) != null) {
-            errors.append(errorLine).append("\n");
-        }
-        while ((outLines = outStream.readLine()) != null) {
-            System.out.println(outLines);
-        }
-        errorLine = errors.toString();
-        System.err.println(errorLine);
-        process.waitFor(1000, TimeUnit.MILLISECONDS);
-        int exitStatus = process.exitValue();
-        if (fatalError) {
-            if (exitStatus == 0) {
-                throw new RuntimeException("Expected fatal error");
-            }
-            if (!errorLine.contains("Could not create the Java Virtual Machine")) {
-                throw new RuntimeException(errorLine);
-            }
-        } else if (exitStatus != 0) {
-            throw new RuntimeException("Failed: " + errorLine);
-        }
+        ProcessTools.executeTestJava(launchOptions(testParam, args))
+                    .stderrShouldContain("Could not create the Java Virtual Machine");
     }
 }
--- a/jdk/test/java/lang/instrument/ManyMethodsBenchmarkAgent.java	Wed Jun 15 09:24:05 2016 -0700
+++ b/jdk/test/java/lang/instrument/ManyMethodsBenchmarkAgent.java	Wed Jun 15 12:47:50 2016 -0700
@@ -29,6 +29,7 @@
  *
  * @modules jdk.compiler
  *          java.instrument
+ *          jdk.zipfs
  * @run build ManyMethodsBenchmarkApp ManyMethodsBenchmarkAgent
  * @run shell MakeJAR3.sh ManyMethodsBenchmarkAgent 'Can-Retransform-Classes: true'
  * @run main/othervm -javaagent:ManyMethodsBenchmarkAgent.jar ManyMethodsBenchmarkApp
--- a/jdk/test/java/lang/instrument/PremainClass/NoPremainAgentTest.java	Wed Jun 15 09:24:05 2016 -0700
+++ b/jdk/test/java/lang/instrument/PremainClass/NoPremainAgentTest.java	Wed Jun 15 12:47:50 2016 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -31,6 +31,7 @@
  * @summary test when the agent's class is missing the premain() function.
  * @library /lib/testlibrary
  * @modules java.management
+ *          java.instrument
  * @run build jdk.testlibrary.* DummyMain
  * @run shell ../MakeJAR3.sh NoPremainAgent
  * @run main/othervm -XX:-CreateCoredumpOnCrash NoPremainAgentTest
--- a/jdk/test/java/lang/instrument/PremainClass/ZeroArgPremainAgentTest.java	Wed Jun 15 09:24:05 2016 -0700
+++ b/jdk/test/java/lang/instrument/PremainClass/ZeroArgPremainAgentTest.java	Wed Jun 15 12:47:50 2016 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -31,6 +31,7 @@
  * @summary test when the agent's class has a zero arg premain() function.
  * @library /lib/testlibrary
  * @modules java.management
+ *          java.instrument
  * @run build jdk.testlibrary.* DummyMain
  * @run shell ../MakeJAR3.sh ZeroArgPremainAgent
  * @run main/othervm -XX:-CreateCoredumpOnCrash ZeroArgPremainAgentTest
--- a/jdk/test/java/lang/instrument/RedefineMethodInBacktrace.sh	Wed Jun 15 09:24:05 2016 -0700
+++ b/jdk/test/java/lang/instrument/RedefineMethodInBacktrace.sh	Wed Jun 15 12:47:50 2016 -0700
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -27,7 +27,7 @@
 # @author Stefan Karlsson
 #
 # @modules java.instrument
-#          java.management
+#          jdk.management
 # @run shell MakeJAR3.sh RedefineMethodInBacktraceAgent 'Can-Redefine-Classes: true'
 # @run build RedefineMethodInBacktraceTarget RedefineMethodInBacktraceApp
 # @run shell RedefineMethodInBacktrace.sh
--- a/jdk/test/java/lang/invoke/PrivateInvokeTest.java	Wed Jun 15 09:24:05 2016 -0700
+++ b/jdk/test/java/lang/invoke/PrivateInvokeTest.java	Wed Jun 15 12:47:50 2016 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,8 +34,6 @@
 import java.lang.reflect.*;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 import org.junit.*;
 import static org.junit.Assert.*;
 
--- a/jdk/test/java/lang/reflect/Module/AddExportsTest.java	Wed Jun 15 09:24:05 2016 -0700
+++ b/jdk/test/java/lang/reflect/Module/AddExportsTest.java	Wed Jun 15 12:47:50 2016 -0700
@@ -23,6 +23,7 @@
 
 /**
  * @test
+ * @modules java.desktop
  * @run main/othervm -XaddExports:java.desktop/sun.awt=java.base AddExportsTest
  * @run main/othervm -XaddExports:java.desktop/sun.awt=ALL-UNNAMED AddExportsTest
  * @summary Test Module isExported methods with exports changed by -AddExportsTest
--- a/jdk/test/java/lang/reflect/Module/access/AccessTest.java	Wed Jun 15 09:24:05 2016 -0700
+++ b/jdk/test/java/lang/reflect/Module/access/AccessTest.java	Wed Jun 15 12:47:50 2016 -0700
@@ -35,7 +35,7 @@
 /**
  * @test
  * @library /lib/testlibrary
- * @modules java.compiler
+ * @modules jdk.compiler
  * @build AccessTest CompilerUtils jdk.testlibrary.*
  * @run testng AccessTest
  * @summary Driver for test that checks access to public members in exported
--- a/jdk/test/java/time/test/java/util/TestFormatter.java	Wed Jun 15 09:24:05 2016 -0700
+++ b/jdk/test/java/time/test/java/util/TestFormatter.java	Wed Jun 15 12:47:50 2016 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -47,7 +47,7 @@
 
 /* @test
  * @summary Unit test for j.u.Formatter threeten date/time support
- * @bug 8003680 8012638
+ * @bug 8003680 8043387 8012638
  */
 @Test
 public class TestFormatter {
@@ -235,10 +235,6 @@
         }
     }
 
-    private String toZoneIdStr(String expected) {
-        return expected.replaceAll("(?:GMT|UTC)(?<off>[+\\-]?[0-9]{2}:[0-9]{2})", "${off}");
-    }
-
     private String toZoneOffsetStr(String expected) {
         return expected.replaceAll("(?:GMT|UTC)(?<off>[+\\-]?[0-9]{2}:[0-9]{2})", "${off}")
                        .replaceAll("GMT|UTC|UT", "Z");
@@ -247,7 +243,7 @@
     private void testZoneId(Locale locale, ChronoZonedDateTime<?> zdt, Calendar cal) {
         String fmtStr = "z:[%tz] z:[%1$Tz] Z:[%1$tZ] Z:[%1$TZ]";
         printFmtStr(locale, fmtStr);
-        String expected = toZoneIdStr(test(fmtStr, locale, null, cal));
+        String expected = test(fmtStr, locale, null, cal);
         test(fmtStr, locale, expected, zdt);
         // get a new cal with fixed tz
         Calendar cal0 = Calendar.getInstance();
@@ -263,7 +259,7 @@
         // datetime + zid
         fmtStr = "c:[%tc] c:[%1$Tc]";
         printFmtStr(locale, fmtStr);
-        expected = toZoneIdStr(test(fmtStr, locale, null, cal));
+        expected = test(fmtStr, locale, null, cal);
         test(fmtStr, locale, expected, zdt);
     }