test/tools/javac/6440583/T6440583.java

Wed, 23 Jan 2013 20:57:40 +0000

author
vromero
date
Wed, 23 Jan 2013 20:57:40 +0000
changeset 1520
5c956be64b9e
parent 554
9d9f26857129
child 2525
2eb010b6cb22
permissions
-rw-r--r--

8006694: temporarily workaround combo tests are causing time out in several platforms
Reviewed-by: jjg
Contributed-by: maurizio.cimadamore@oracle.com

     1 /*
     2  * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     8  *
     9  * This code is distributed in the hope that it will be useful, but WITHOUT
    10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    12  * version 2 for more details (a copy is included in the LICENSE file that
    13  * accompanied this code).
    14  *
    15  * You should have received a copy of the GNU General Public License version
    16  * 2 along with this work; if not, write to the Free Software Foundation,
    17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    18  *
    19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    20  * or visit www.oracle.com if you need additional information or have any
    21  * questions.
    22  */
    24 /*
    25  * @test
    26  * @bug 6440583
    27  * @summary better error recovery
    28  */
    30 import java.io.*;
    31 import java.util.*;
    32 import javax.tools.*;
    33 import com.sun.source.tree.*;
    34 import com.sun.source.util.*;
    35 import com.sun.tools.javac.api.*;
    36 import com.sun.tools.javac.tree.JCTree.*;
    38 public class T6440583 {
    39     public static void main(String... args) throws Exception {
    40         String testSrc = System.getProperty("test.src", ".");
    41         String testClasses = System.getProperty("test.classes", ".");
    42         JavacTool tool = JavacTool.create();
    43         StandardJavaFileManager fm = tool.getStandardFileManager(null, null, null);
    44         Iterable<? extends JavaFileObject> files =
    45             fm.getJavaFileObjectsFromFiles(Arrays.asList(new File(testSrc, "A.java")));
    46         JavacTask task = tool.getTask(null, fm, null, null, null, files);
    48         Iterable<? extends Tree> trees = task.parse();
    50         TreeScanner<Boolean,Void> checker = new TreeScanner<Boolean,Void>() {
    51             public Boolean visitErroneous(ErroneousTree tree, Void ignore) {
    52                 JCErroneous etree = (JCErroneous) tree;
    53                 List<? extends Tree> errs = etree.getErrorTrees();
    54                 System.err.println("errs: " + errs);
    55                 if (errs == null || errs.size() == 0)
    56                     throw new AssertionError("no error trees found");
    57                 found = true;
    58                 return true;
    59             }
    60         };
    62         for (Tree tree: trees)
    63             checker.scan(tree, null);
    65         if (!found)
    66             throw new AssertionError("no ErroneousTree nodes found");
    67     }
    69     private static boolean found;
    70 }

mercurial