8215449: Several tests failing when jtreg run with -vmoption:--illegal-access=deny
Reviewed-by: redestad, mchung, jjg
This commit is contained in:
parent
bbfc4b7956
commit
888057a89f
@ -32,6 +32,7 @@ import java.util.concurrent.CountDownLatch;
|
|||||||
* @test
|
* @test
|
||||||
* @bug 8213942
|
* @bug 8213942
|
||||||
* @summary URLStreamHandler initialization race
|
* @summary URLStreamHandler initialization race
|
||||||
|
* @modules java.base/java.net:open
|
||||||
* @run main/othervm RacyHandler
|
* @run main/othervm RacyHandler
|
||||||
* @run main/othervm RacyHandler
|
* @run main/othervm RacyHandler
|
||||||
* @run main/othervm RacyHandler
|
* @run main/othervm RacyHandler
|
||||||
@ -110,4 +111,4 @@ public class RacyHandler {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -156,6 +156,7 @@ public class LocaleProvidersRun {
|
|||||||
launcher.addToolArg("-cp")
|
launcher.addToolArg("-cp")
|
||||||
.addToolArg(Utils.TEST_CLASS_PATH)
|
.addToolArg(Utils.TEST_CLASS_PATH)
|
||||||
.addToolArg("-Djava.locale.providers=" + prefList)
|
.addToolArg("-Djava.locale.providers=" + prefList)
|
||||||
|
.addToolArg("--add-exports=java.base/sun.util.locale.provider=ALL-UNNAMED")
|
||||||
.addToolArg("LocaleProviders")
|
.addToolArg("LocaleProviders")
|
||||||
.addToolArg(methodName)
|
.addToolArg(methodName)
|
||||||
.addToolArg(param1)
|
.addToolArg(param1)
|
||||||
|
@ -26,8 +26,11 @@
|
|||||||
* @bug 8207954
|
* @bug 8207954
|
||||||
* @summary Verify that CreateSymbols can handle classfiles from the current release.
|
* @summary Verify that CreateSymbols can handle classfiles from the current release.
|
||||||
* @library /tools/lib /tools/javac/lib
|
* @library /tools/lib /tools/javac/lib
|
||||||
* @modules jdk.compiler/com.sun.tools.javac.api
|
* @modules jdk.compiler/com.sun.tools.javac.api:+open
|
||||||
* jdk.compiler/com.sun.tools.javac.main
|
* jdk.compiler/com.sun.tools.javac.main
|
||||||
|
* jdk.compiler/com.sun.tools.javac.jvm:+open
|
||||||
|
* jdk.compiler/com.sun.tools.javac.util:+open
|
||||||
|
* jdk.jdeps/com.sun.tools.classfile:+open
|
||||||
* @build toolbox.ToolBox toolbox.JavacTask toolbox.Task
|
* @build toolbox.ToolBox toolbox.JavacTask toolbox.Task
|
||||||
* @run main CanHandleClassFilesTest
|
* @run main CanHandleClassFilesTest
|
||||||
*/
|
*/
|
||||||
@ -36,6 +39,7 @@ import java.io.Writer;
|
|||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
import javax.tools.StandardLocation;
|
import javax.tools.StandardLocation;
|
||||||
|
|
||||||
@ -93,8 +97,16 @@ public class CanHandleClassFilesTest {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// open the non-exported packages needed by CreateSymbols to its module
|
||||||
|
Module targetModule = cl.getUnnamedModule();
|
||||||
|
Stream.of("jdk.compiler/com.sun.tools.javac.api",
|
||||||
|
"jdk.compiler/com.sun.tools.javac.jvm",
|
||||||
|
"jdk.compiler/com.sun.tools.javac.util",
|
||||||
|
"jdk.jdeps/com.sun.tools.classfile")
|
||||||
|
.forEach(p -> open(p, targetModule));
|
||||||
|
|
||||||
var createSymbolsClass = Class.forName("build.tools.symbolgenerator.CreateSymbols", false, cl);
|
var createSymbolsClass = Class.forName("build.tools.symbolgenerator.CreateSymbols", false, cl);
|
||||||
var main = createSymbolsClass.getDeclaredMethod("main", String[].class);
|
var main = createSymbolsClass.getMethod("main", String[].class);
|
||||||
var symbols = targetDir.resolve("symbols");
|
var symbols = targetDir.resolve("symbols");
|
||||||
|
|
||||||
try (Writer w = Files.newBufferedWriter(symbols)) {}
|
try (Writer w = Files.newBufferedWriter(symbols)) {}
|
||||||
@ -112,4 +124,11 @@ public class CanHandleClassFilesTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void open(String moduleAndPackage, Module target) {
|
||||||
|
String[] s = moduleAndPackage.split("/");
|
||||||
|
var moduleName = s[0];
|
||||||
|
var packageName = s[1];
|
||||||
|
ModuleLayer.boot().findModule(moduleName).orElseThrow().addOpens(packageName, target);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user