/*
 * 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";
};