test/tools/javac/4846262/CheckEBCDICLocaleTest.java

Tue, 19 Feb 2013 17:53:16 +0000

author
vromero
date
Tue, 19 Feb 2013 17:53:16 +0000
changeset 1591
dc8b7aa7cef3
child 1637
2e21ecd7a5ad
permissions
-rw-r--r--

8006212: javac, convert jtreg tests from shell script to java
Reviewed-by: jjg

vromero@1591 1 /*
vromero@1591 2 * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
vromero@1591 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
vromero@1591 4 *
vromero@1591 5 * This code is free software; you can redistribute it and/or modify it
vromero@1591 6 * under the terms of the GNU General Public License version 2 only, as
vromero@1591 7 * published by the Free Software Foundation.
vromero@1591 8 *
vromero@1591 9 * This code is distributed in the hope that it will be useful, but WITHOUT
vromero@1591 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
vromero@1591 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
vromero@1591 12 * version 2 for more details (a copy is included in the LICENSE file that
vromero@1591 13 * accompanied this code).
vromero@1591 14 *
vromero@1591 15 * You should have received a copy of the GNU General Public License version
vromero@1591 16 * 2 along with this work; if not, write to the Free Software Foundation,
vromero@1591 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
vromero@1591 18 *
vromero@1591 19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
vromero@1591 20 * or visit www.oracle.com if you need additional information or have any
vromero@1591 21 * questions.
vromero@1591 22 */
vromero@1591 23
vromero@1591 24 /*
vromero@1591 25 * @test
vromero@1591 26 * @bug 4846262
vromero@1591 27 * @summary check that javac operates correctly in EBCDIC locale
vromero@1591 28 * @library /tools/javac/lib
vromero@1591 29 * @build ToolBox
vromero@1591 30 * @run main CheckEBCDICLocaleTest
vromero@1591 31 */
vromero@1591 32
vromero@1591 33 import java.io.File;
vromero@1591 34 import java.nio.file.Files;
vromero@1591 35 import java.nio.file.Paths;
vromero@1591 36 import java.util.Arrays;
vromero@1591 37 import com.sun.tools.javac.util.ArrayUtils;
vromero@1591 38
vromero@1591 39 //original test: test/tools/javac/4846262/Test.sh
vromero@1591 40 public class CheckEBCDICLocaleTest {
vromero@1591 41
vromero@1591 42 private static final String TestSrc =
vromero@1591 43 "public class Test {\n" +
vromero@1591 44 " public void test() {\n" +
vromero@1591 45 " abcdefg\n" +
vromero@1591 46 " }\n" +
vromero@1591 47 "}";
vromero@1591 48
vromero@1591 49 private static final String TestOut =
vromero@1591 50 "output/Test.java:3: error: not a statement\n" +
vromero@1591 51 " abcdefg\n" +
vromero@1591 52 " ^\n" +
vromero@1591 53 "output/Test.java:3: error: ';' expected\n" +
vromero@1591 54 " abcdefg\n" +
vromero@1591 55 " ^\n" +
vromero@1591 56 "2 errors\n";
vromero@1591 57
vromero@1591 58 public static void main(String[] args) throws Exception {
vromero@1591 59 new CheckEBCDICLocaleTest().test();
vromero@1591 60 }
vromero@1591 61
vromero@1591 62 public void test() throws Exception {
vromero@1591 63 String native2asciiBinary = Paths.get(
vromero@1591 64 System.getProperty("test.jdk"),"bin", "native2ascii").toString();
vromero@1591 65 String testVMOpts = System.getProperty("test.tool.vm.opts");
vromero@1591 66 String[] mainArgs = ToolBox.getJavacBin();
vromero@1591 67
vromero@1591 68 ToolBox.createJavaFileFromSource(TestSrc);
vromero@1591 69 Files.createDirectory(Paths.get("output"));
vromero@1591 70
vromero@1591 71 //"${TESTJAVA}${FS}bin${FS}native2ascii" ${TESTTOOLVMOPTS} -reverse -encoding IBM1047 ${TESTSRC}${FS}Test.java Test.java
vromero@1591 72 ToolBox.AnyToolArgs nativeCmdParams =
vromero@1591 73 new ToolBox.AnyToolArgs()
vromero@1591 74 .setAllArgs(native2asciiBinary, testVMOpts,
vromero@1591 75 "-reverse", "-encoding", "IBM1047",
vromero@1591 76 "Test.java", "output/Test.java");
vromero@1591 77 ToolBox.executeCommand(nativeCmdParams);
vromero@1591 78
vromero@1591 79 //"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} -J-Duser.language=en -J-Duser.region=US -J-Dfile.encoding=IBM1047 Test.java 2>Test.tmp
vromero@1591 80 ToolBox.AnyToolArgs javacParams =
vromero@1591 81 new ToolBox.AnyToolArgs(ToolBox.Expect.FAIL)
vromero@1591 82 .setAllArgs(ArrayUtils.concatOpen(mainArgs, "-J-Duser.language=en",
vromero@1591 83 "-J-Duser.region=US", "-J-Dfile.encoding=IBM1047",
vromero@1591 84 "output/Test.java"))
vromero@1591 85 .setErrOutput(new File("Test.tmp"));
vromero@1591 86 ToolBox.executeCommand(javacParams);
vromero@1591 87
vromero@1591 88 //"${TESTJAVA}${FS}bin${FS}native2ascii" ${TESTTOOLVMOPTS} -encoding IBM1047 Test.tmp Test.out
vromero@1591 89 nativeCmdParams.setAllArgs(native2asciiBinary, "-encoding", "IBM1047",
vromero@1591 90 "Test.tmp", "Test.out");
vromero@1591 91 ToolBox.executeCommand(nativeCmdParams);
vromero@1591 92
vromero@1591 93 //diff ${DIFFOPTS} -c "${TESTSRC}${FS}Test.out" Test.out
vromero@1591 94 ToolBox.compareLines(Paths.get("Test.out"),
vromero@1591 95 Arrays.asList(TestOut.split("\n")), null);
vromero@1591 96
vromero@1591 97 }
vromero@1591 98
vromero@1591 99 }

mercurial