Thu, 24 Feb 2011 08:40:49 -0800
7018753: tools/javac/varargs/warning/Warn5.java times out on slow machines
Summary: Use a single file manager for all JavacTasks
Reviewed-by: jjg, mcimadamore
1.1 --- a/test/tools/javac/varargs/6199075/T6199075.java Wed Feb 23 10:34:45 2011 -0800 1.2 +++ b/test/tools/javac/varargs/6199075/T6199075.java Thu Feb 24 08:40:49 2011 -0800 1.3 @@ -37,6 +37,7 @@ 1.4 import com.sun.tools.classfile.Code_attribute; 1.5 import com.sun.tools.classfile.ConstantPool.*; 1.6 import com.sun.tools.classfile.Method; 1.7 +import com.sun.tools.javac.api.JavacTool; 1.8 import com.sun.tools.javac.util.List; 1.9 1.10 import java.io.File; 1.11 @@ -47,6 +48,7 @@ 1.12 import javax.tools.JavaCompiler; 1.13 import javax.tools.JavaFileObject; 1.14 import javax.tools.SimpleJavaFileObject; 1.15 +import javax.tools.StandardJavaFileManager; 1.16 import javax.tools.ToolProvider; 1.17 1.18 public class T6199075 { 1.19 @@ -157,11 +159,14 @@ 1.20 System.out.println("Bytecode checks made: " + bytecodeCheckCount); 1.21 } 1.22 1.23 + // Create a single file manager and reuse it for each compile to save time. 1.24 + StandardJavaFileManager fm = JavacTool.create().getStandardFileManager(null, null, null); 1.25 + 1.26 void compileAndCheck(VarargsMethod m1, VarargsMethod m2, TypeKind actual, ArgumentsArity argsArity) throws Exception { 1.27 final JavaCompiler tool = ToolProvider.getSystemJavaCompiler(); 1.28 JavaSource source = new JavaSource(m1, m2, actual, argsArity); 1.29 ErrorChecker ec = new ErrorChecker(); 1.30 - JavacTask ct = (JavacTask)tool.getTask(null, null, ec, 1.31 + JavacTask ct = (JavacTask)tool.getTask(null, fm, ec, 1.32 null, null, Arrays.asList(source)); 1.33 ct.generate(); 1.34 check(source, ec, m1, m2, actual, argsArity);
2.1 --- a/test/tools/javac/varargs/warning/Warn4.java Wed Feb 23 10:34:45 2011 -0800 2.2 +++ b/test/tools/javac/varargs/warning/Warn4.java Thu Feb 24 08:40:49 2011 -0800 2.3 @@ -29,6 +29,7 @@ 2.4 * @run main Warn4 2.5 */ 2.6 import com.sun.source.util.JavacTask; 2.7 +import com.sun.tools.javac.api.JavacTool; 2.8 import java.net.URI; 2.9 import java.util.Arrays; 2.10 import java.util.Set; 2.11 @@ -37,6 +38,7 @@ 2.12 import javax.tools.JavaCompiler; 2.13 import javax.tools.JavaFileObject; 2.14 import javax.tools.SimpleJavaFileObject; 2.15 +import javax.tools.StandardJavaFileManager; 2.16 import javax.tools.ToolProvider; 2.17 2.18 public class Warn4 { 2.19 @@ -187,12 +189,15 @@ 2.20 } 2.21 } 2.22 2.23 + // Create a single file manager and reuse it for each compile to save time. 2.24 + static StandardJavaFileManager fm = JavacTool.create().getStandardFileManager(null, null, null); 2.25 + 2.26 static void test(SourceLevel sourceLevel, TrustMe trustMe, SuppressLevel suppressLevelClient, 2.27 SuppressLevel suppressLevelDecl, ModifierKind modKind, Signature vararg_meth, Signature client_meth) throws Exception { 2.28 final JavaCompiler tool = ToolProvider.getSystemJavaCompiler(); 2.29 JavaSource source = new JavaSource(trustMe, suppressLevelClient, suppressLevelDecl, modKind, vararg_meth, client_meth); 2.30 DiagnosticChecker dc = new DiagnosticChecker(); 2.31 - JavacTask ct = (JavacTask)tool.getTask(null, null, dc, 2.32 + JavacTask ct = (JavacTask)tool.getTask(null, fm, dc, 2.33 Arrays.asList("-Xlint:unchecked", "-source", sourceLevel.sourceKey), 2.34 null, Arrays.asList(source)); 2.35 ct.generate(); //to get mandatory notes
3.1 --- a/test/tools/javac/varargs/warning/Warn5.java Wed Feb 23 10:34:45 2011 -0800 3.2 +++ b/test/tools/javac/varargs/warning/Warn5.java Thu Feb 24 08:40:49 2011 -0800 3.3 @@ -29,6 +29,7 @@ 3.4 * @run main Warn5 3.5 */ 3.6 import com.sun.source.util.JavacTask; 3.7 +import com.sun.tools.javac.api.JavacTool; 3.8 import java.net.URI; 3.9 import java.util.ArrayList; 3.10 import java.util.Arrays; 3.11 @@ -36,6 +37,7 @@ 3.12 import javax.tools.JavaCompiler; 3.13 import javax.tools.JavaFileObject; 3.14 import javax.tools.SimpleJavaFileObject; 3.15 +import javax.tools.StandardJavaFileManager; 3.16 import javax.tools.ToolProvider; 3.17 3.18 public class Warn5 { 3.19 @@ -207,12 +209,15 @@ 3.20 } 3.21 } 3.22 3.23 + // Create a single file manager and reuse it for each compile to save time. 3.24 + static StandardJavaFileManager fm = JavacTool.create().getStandardFileManager(null, null, null); 3.25 + 3.26 static void test(SourceLevel sourceLevel, XlintOption xlint, TrustMe trustMe, SuppressLevel suppressLevel, 3.27 ModifierKind modKind, MethodKind methKind, SignatureKind sig, BodyKind body) throws Exception { 3.28 final JavaCompiler tool = ToolProvider.getSystemJavaCompiler(); 3.29 JavaSource source = new JavaSource(trustMe, suppressLevel, modKind, methKind, sig, body); 3.30 DiagnosticChecker dc = new DiagnosticChecker(); 3.31 - JavacTask ct = (JavacTask)tool.getTask(null, null, dc, 3.32 + JavacTask ct = (JavacTask)tool.getTask(null, fm, dc, 3.33 Arrays.asList(xlint.getXlintOption(), "-source", sourceLevel.sourceKey), null, Arrays.asList(source)); 3.34 ct.analyze(); 3.35 check(sourceLevel, dc, source, xlint, trustMe,