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

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

grant {
  // 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 ".", "read,write,delete";
  permission java.io.FilePermission ".${/}-", "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";

  // test needs to use java to exec an rmiregistry
  permission java.io.FilePermission "${java.home}${/}bin${/}-", "execute";

  // test needs to communicate with this its registry
  permission java.net.SocketPermission "*:1024-", "connect,accept,listen";
};
