test/langtools/tools/javac/RawStringLiteralLangAPI.java
author darcy
Thu, 13 Dec 2018 19:06:11 +0100
changeset 53023 6879069d9d94
parent 51940 dade6dd87bb4
permissions -rw-r--r--
8205626: Start of release updates for JDK 13 8205393: Add SourceVersion.RELEASE_13 8205394: Add source 13 and target 13 to javac 8205645: Bump maximum recognized class file version to 57 for JDK 13 8214825: Update preview language features for start of JDK 13 Reviewed-by: erikj, alanb, mchung, mcimadamore, dholmes, smarks, jjg
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
51713
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
     1
/*
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
     2
 * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
     4
 *
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
     7
 * published by the Free Software Foundation.
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
     8
 *
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    13
 * accompanied this code).
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    14
 *
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    18
 *
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    21
 * questions.
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    22
 */
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    23
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    24
/*
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    25
 * @test
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    26
 * @summary Unit tests for Raw String Literal language changes
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    27
 * @library /tools/lib
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    28
 * @modules jdk.compiler/com.sun.tools.javac.api
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    29
 *          jdk.compiler/com.sun.tools.javac.main
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    30
 * @build toolbox.ToolBox toolbox.JavacTask
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    31
 * @run main RawStringLiteralLangAPI
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    32
 */
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    33
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    34
import toolbox.JavacTask;
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    35
import toolbox.JavaTask;
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    36
import toolbox.Task;
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    37
import toolbox.ToolBox;
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    38
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    39
public class RawStringLiteralLangAPI {
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    40
    private static ToolBox TOOLBOX = new ToolBox();
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    41
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    42
    public static void main(String... args) {
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    43
        test1();
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    44
        test2();
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    45
        test3();
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    46
        test4();
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    47
    }
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    48
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    49
    /*
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    50
     * Check that correct/incorrect syntax is properly detected
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    51
     */
51940
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    52
    enum Test {
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    53
        t0(false, "`*`*`"),
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    54
        t1(false, "`\\u2022`\\u2022`"),
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    55
        t2(false, "``*`*`"),
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    56
        t3(false, "``\\u2022`\\u2022`"),
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    57
        t4(false, "`*`*``"),
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    58
        t5(false, "`\\u2022`\\u2022``"),
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    59
        t6(true, "``*`*``"),
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    60
        t7(true, "``\\u2022`\\u2022``"),
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    61
        t8(true, "`*``*`"),
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    62
        t9(true, "`\\u2022``\\u2022`"),
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    63
        ;
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    64
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    65
        Test(boolean pass, String string) {
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    66
            this.pass = pass;
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    67
            this.string = string;
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    68
        }
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    69
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    70
        boolean pass;
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    71
        String string;
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    72
    }
51713
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    73
    static void test1() {
51940
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    74
        for (Test t : Test.values()) {
51713
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    75
            String code =
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    76
                    "public class RawStringLiteralTest {\n" +
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    77
                            "    public static void main(String... args) {\n" +
51940
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    78
                            "        String xxx = " + t.string + ";\n" +
51713
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    79
                            "    }\n" +
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    80
                            "}\n";
51940
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    81
            if (t.pass) {
51713
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    82
                compPass(code);
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    83
            } else {
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    84
                compFail(code);
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    85
            }
51940
dade6dd87bb4 8211080: RawStringLiteralLangAPI.java test times out by default
jlaskey
parents: 51713
diff changeset
    86
        }
51713
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    87
    }
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    88
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    89
    /*
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    90
     * Check that misuse of \u0060 is properly detected
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    91
     */
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    92
    static void test2() {
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    93
        compFail("public class BadDelimiter {\n" +
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    94
                "    public static void main(String... args) {\n" +
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    95
                "        String xxx = \\u0060`abc`;\n" +
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    96
                "    }\n" +
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    97
                "}\n");
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    98
    }
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
    99
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   100
    /*
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   101
     * Check edge cases of raw string literal as last token
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   102
     */
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   103
    static void test3() {
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   104
        compFail("public class RawStringLiteralTest {\n" +
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   105
                "    public static void main(String... args) {\n" +
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   106
                "        String xxx = `abc`");
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   107
        compFail("public class RawStringLiteralTest {\n" +
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   108
                "    public static void main(String... args) {\n" +
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   109
                "        String xxx = `abc");
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   110
        compFail("public class RawStringLiteralTest {\n" +
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   111
                "    public static void main(String... args) {\n" +
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   112
                "        String xxx = `abc\u0000");
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   113
    }
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   114
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   115
    /*
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   116
     * Check line terminator translation
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   117
     */
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   118
    static void test4() {
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   119
        String[] terminators = new String[] { "\n", "\r\n", "\r" };
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   120
        for (String terminator : terminators) {
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   121
            String code = "public class LineTerminatorTest {" + terminator +
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   122
                          "    public static void main(String... args) {" + terminator +
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   123
                          "        String s =" + terminator +
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   124
                          "`" + terminator +
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   125
                          "abc" + terminator +
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   126
                          "`;" + terminator +
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   127
                          "        System.out.println(s.equals(\"\\nabc\\n\"));" + terminator +
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   128
                          "    }" + terminator +
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   129
                          "}" + terminator;
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   130
            new JavacTask(TOOLBOX)
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   131
                    .sources(code)
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   132
                    .classpath(".")
53023
6879069d9d94 8205626: Start of release updates for JDK 13
darcy
parents: 51940
diff changeset
   133
                    .options("--enable-preview", "-source", "13")
51713
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   134
                    .run();
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   135
            String output = new JavaTask(TOOLBOX)
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   136
                    .vmOptions("--enable-preview")
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   137
                    .classpath(".")
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   138
                    .classArgs("LineTerminatorTest")
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   139
                    .run()
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   140
                    .writeAll()
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   141
                    .getOutput(Task.OutputKind.STDOUT);
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   142
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   143
            if (!output.contains("true")) {
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   144
                throw new RuntimeException("Error detected");
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   145
            }
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   146
        }
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   147
    }
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   148
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   149
    /*
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   150
     * Test source for successful compile.
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   151
     */
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   152
    static void compPass(String source) {
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   153
        String output = new JavacTask(TOOLBOX)
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   154
                .sources(source)
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   155
                .classpath(".")
53023
6879069d9d94 8205626: Start of release updates for JDK 13
darcy
parents: 51940
diff changeset
   156
                .options("--enable-preview", "-source", "13", "-encoding", "utf8")
51713
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   157
                .run()
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   158
                .writeAll()
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   159
                .getOutput(Task.OutputKind.DIRECT);
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   160
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   161
        if (output.contains("compiler.err")) {
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   162
            throw new RuntimeException("Error detected");
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   163
        }
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   164
    }
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   165
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   166
    /*
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   167
     * Test source for unsuccessful compile and specific error.
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   168
     */
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   169
    static void compFail(String source)  {
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   170
        String errors = new JavacTask(TOOLBOX)
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   171
                .sources(source)
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   172
                .classpath(".")
53023
6879069d9d94 8205626: Start of release updates for JDK 13
darcy
parents: 51940
diff changeset
   173
                .options("-XDrawDiagnostics", "--enable-preview", "-source", "13", "-encoding", "utf8")
51713
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   174
                .run(Task.Expect.FAIL)
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   175
                .writeAll()
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   176
                .getOutput(Task.OutputKind.DIRECT);
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   177
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   178
        if (!errors.contains("compiler.err")) {
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   179
            throw new RuntimeException("No error detected");
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   180
        }
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   181
    }
d424675a9743 8206981: Compiler support for Raw String Literals
jlaskey
parents:
diff changeset
   182
}