< 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,11 +32,11 @@
*/
public class JavaCodeGenerator extends TestsGenerator {
private static final String DEFAULT_SUFFIX = "java_tests";
JavaCodeGenerator() {
- this(DEFAULT_SUFFIX, JavaCodeGenerator::generatePrerunAction, "");
+ this(DEFAULT_SUFFIX, JavaCodeGenerator::generatePrerunAction, "-Xcomp");
}
JavaCodeGenerator(String prefix, Function<String, String[]> preRunActions, String jtDriverOptions) {
super(prefix, preRunActions, jtDriverOptions);
}
@@ -62,17 +62,20 @@
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,
+ String classPath = tmpDir.toString();
+ ProcessBuilder pb = new ProcessBuilder(JAVAC,
+ "-d", classPath,
+ "-cp", classPath,
generatorDir.resolve(mainClassName + ".java").toString());
try {
- runProcess(pb, generatorDir.resolve(mainClassName).toString());
+ 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 >