< prev index next >
test/hotspot/jtreg/testlibrary/jittester/src/jdk/test/lib/jittester/JavaCodeGenerator.java
Print this page
rev 53171 : 8158646: [jittester] generated tests may not compile by javac
Reviewed-by: duke
*** 32,42 ****
*/
public class JavaCodeGenerator extends TestsGenerator {
private static final String DEFAULT_SUFFIX = "java_tests";
JavaCodeGenerator() {
! this(DEFAULT_SUFFIX, JavaCodeGenerator::generatePrerunAction, "");
}
JavaCodeGenerator(String prefix, Function<String, String[]> preRunActions, String jtDriverOptions) {
super(prefix, preRunActions, jtDriverOptions);
}
--- 32,42 ----
*/
public class JavaCodeGenerator extends TestsGenerator {
private static final String DEFAULT_SUFFIX = "java_tests";
JavaCodeGenerator() {
! this(DEFAULT_SUFFIX, JavaCodeGenerator::generatePrerunAction, "-Xcomp");
}
JavaCodeGenerator(String prefix, Function<String, String[]> preRunActions, String jtDriverOptions) {
super(prefix, preRunActions, jtDriverOptions);
}
*** 62,78 ****
ensureExisting(generatorDir);
writeFile(generatorDir, mainClassName + ".java", code.toString());
}
private void compileJavaFile(String mainClassName) {
! String classPath = getRoot().resolve(generatorDir)
! .toAbsolutePath()
! .toString();
! ProcessBuilder pb = new ProcessBuilder(JAVAC, "-cp", classPath,
generatorDir.resolve(mainClassName + ".java").toString());
try {
! runProcess(pb, generatorDir.resolve(mainClassName).toString());
} catch (IOException | InterruptedException e) {
throw new Error("Can't compile sources ", e);
}
}
--- 62,81 ----
ensureExisting(generatorDir);
writeFile(generatorDir, mainClassName + ".java", code.toString());
}
private void compileJavaFile(String mainClassName) {
! String classPath = tmpDir.toString();
! ProcessBuilder pb = new ProcessBuilder(JAVAC,
! "-d", classPath,
! "-cp", classPath,
generatorDir.resolve(mainClassName + ".java").toString());
try {
! int r = runProcess(pb, tmpDir.resolve(mainClassName + ".javac").toString());
! if (r != 0) {
! throw new Error("Can't compile sources, exit code = " + r);
! }
} catch (IOException | InterruptedException e) {
throw new Error("Can't compile sources ", e);
}
}
< prev index next >