test/jdk/sun/tools/jcmd/JcmdOutputEncodingTest.java
changeset 57564 0a8436eda2fa
parent 55758 bbe9c361a477
child 58679 9c3209ff7550
equal deleted inserted replaced
57563:2116221e2dde 57564:0a8436eda2fa
    20  * or visit www.oracle.com if you need additional information or have any
    20  * or visit www.oracle.com if you need additional information or have any
    21  * questions.
    21  * questions.
    22  */
    22  */
    23 
    23 
    24 import java.util.Arrays;
    24 import java.util.Arrays;
       
    25 import java.nio.charset.Charset;
       
    26 import java.nio.charset.StandardCharsets;
    25 
    27 
    26 import jdk.test.lib.process.OutputAnalyzer;
    28 import jdk.test.lib.process.OutputAnalyzer;
    27 import jdk.test.lib.process.ProcessTools;
    29 import jdk.test.lib.process.ProcessTools;
    28 import jdk.test.lib.JDKToolLauncher;
    30 import jdk.test.lib.JDKToolLauncher;
    29 
    31 
    39     public static void main(String[] args) throws Exception {
    41     public static void main(String[] args) throws Exception {
    40         testThreadDump();
    42         testThreadDump();
    41     }
    43     }
    42 
    44 
    43     private static void testThreadDump() throws Exception {
    45     private static void testThreadDump() throws Exception {
    44         String markerName = "markerName" + "\u00e4\u0bb5".repeat(10_000);
    46         String marker = "markerName" + "\u00e4\u0bb5".repeat(60);
    45         Thread.currentThread().setName(markerName);
    47         Charset cs = StandardCharsets.UTF_8;
       
    48         Thread.currentThread().setName(marker);
    46 
    49 
    47         JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK("jcmd");
    50         JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK("jcmd");
       
    51         launcher.addVMArg("-Dfile.encoding=" + cs);
    48         launcher.addToolArg(Long.toString(ProcessTools.getProcessId()));
    52         launcher.addToolArg(Long.toString(ProcessTools.getProcessId()));
    49         launcher.addToolArg("Thread.print");
    53         launcher.addToolArg("Thread.print");
    50 
    54 
    51         ProcessBuilder processBuilder = new ProcessBuilder();
    55         ProcessBuilder processBuilder = new ProcessBuilder();
    52         processBuilder.command(launcher.getCommand());
    56         processBuilder.command(launcher.getCommand());
    53         OutputAnalyzer output = ProcessTools.executeProcess(processBuilder);
    57         OutputAnalyzer output = ProcessTools.executeProcess(processBuilder, null, cs);
    54         output.shouldHaveExitValue(0);
    58         output.shouldHaveExitValue(0);
    55         output.shouldContain(markerName);
    59         output.shouldContain(marker);
    56     }
    60     }
    57 }
    61 }