/*
 * security policy used by the test process
 */

grant codeBase "file:${java.home}/lib/ext/*" {
    permission java.security.AllPermission;
};

grant {
  // test must create a context loader for the current thread.
  permission java.lang.RuntimePermission "createClassLoader";
  permission java.lang.RuntimePermission "setContextClassLoader";

  // need to move some classes out of the test's classpath; specific to this test
  permission java.io.FilePermission "${test.classes}", "read,write,delete";
  permission java.io.FilePermission "${test.classes}${/}-", "read,write,delete";

  permission java.io.FilePermission ".${/}codebase", "read,write,delete";
  permission java.io.FilePermission ".${/}codebase${/}-", "read,write,delete";

  // used by TestLibrary to determine test environment 
  permission java.util.PropertyPermission "test.classes", "read";
  permission java.util.PropertyPermission "test.src", "read";
  permission java.util.PropertyPermission "user.dir", "read";
  permission java.util.PropertyPermission "java.home", "read";
};
