< prev index next >

test/java/io/FilePermission/ReadFileOnPath.java

Print this page




  40 import java.util.List;
  41 
  42 public class ReadFileOnPath {
  43 
  44     private static final Path SRC_DIR    = Paths.get(System.getProperty("test.src"));
  45     private static final Path HERE_DIR   = Paths.get(".");
  46     private static final Path MODS_DIR   = Paths.get("modules");
  47 
  48     public static void main(String args[]) throws Exception {
  49         CompilerUtils.compile(SRC_DIR.resolve("m"), MODS_DIR.resolve("m"));
  50         Files.write(MODS_DIR.resolve("m/base"), "base".getBytes());
  51         Files.write(MODS_DIR.resolve("m/p/child"), "child".getBytes());
  52         JarUtils.createJarFile(HERE_DIR.resolve("old.jar"),
  53                 MODS_DIR.resolve("m"),
  54                 "base", "p/App.class", "p/child");
  55         JarUtils.createJarFile(HERE_DIR.resolve("new.jar"),
  56                 MODS_DIR.resolve("m"),
  57                 "module-info.class", "base", "p/App.class", "p/child");
  58 
  59         // exploded module
  60         test("--module-path", "modules", "-m", "m/p.App", "SS+++++");
  61 
  62         // module in jar
  63         test("--module-path", "new.jar", "-m", "m/p.App", "SSSS++0");
  64 
  65         // exploded classpath
  66         test("-cp", "modules/m", "p.App", "SS+++++");
  67 
  68         // classpath in jar
  69         test("-cp", "old.jar", "p.App", "SSSS++0");
  70     }
  71 
  72     static void test(String... args) throws Exception {
  73         List<String> cmds = new ArrayList<>();
  74         cmds.add("-Djava.security.manager");
  75         cmds.addAll(Arrays.asList(args));
  76         cmds.addAll(List.of(
  77                 "x", "modules/m", "modules/m/base", "modules/m/p/child",
  78                 "-", "child", "/base", "../base"));
  79         ProcessTools.executeTestJvm(cmds.toArray(new String[cmds.size()]))
  80                 .shouldHaveExitValue(0);


  40 import java.util.List;
  41 
  42 public class ReadFileOnPath {
  43 
  44     private static final Path SRC_DIR    = Paths.get(System.getProperty("test.src"));
  45     private static final Path HERE_DIR   = Paths.get(".");
  46     private static final Path MODS_DIR   = Paths.get("modules");
  47 
  48     public static void main(String args[]) throws Exception {
  49         CompilerUtils.compile(SRC_DIR.resolve("m"), MODS_DIR.resolve("m"));
  50         Files.write(MODS_DIR.resolve("m/base"), "base".getBytes());
  51         Files.write(MODS_DIR.resolve("m/p/child"), "child".getBytes());
  52         JarUtils.createJarFile(HERE_DIR.resolve("old.jar"),
  53                 MODS_DIR.resolve("m"),
  54                 "base", "p/App.class", "p/child");
  55         JarUtils.createJarFile(HERE_DIR.resolve("new.jar"),
  56                 MODS_DIR.resolve("m"),
  57                 "module-info.class", "base", "p/App.class", "p/child");
  58 
  59         // exploded module
  60         test("--module-path", "modules", "-m", "m/p.App", "SS++++0");
  61 
  62         // module in jar
  63         test("--module-path", "new.jar", "-m", "m/p.App", "SSSS++0");
  64 
  65         // exploded classpath
  66         test("-cp", "modules/m", "p.App", "SS+++++");
  67 
  68         // classpath in jar
  69         test("-cp", "old.jar", "p.App", "SSSS++0");
  70     }
  71 
  72     static void test(String... args) throws Exception {
  73         List<String> cmds = new ArrayList<>();
  74         cmds.add("-Djava.security.manager");
  75         cmds.addAll(Arrays.asList(args));
  76         cmds.addAll(List.of(
  77                 "x", "modules/m", "modules/m/base", "modules/m/p/child",
  78                 "-", "child", "/base", "../base"));
  79         ProcessTools.executeTestJvm(cmds.toArray(new String[cmds.size()]))
  80                 .shouldHaveExitValue(0);
< prev index next >