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

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

grant {
    // permissions needed to move classes into separate codebase directories
    permission java.io.FilePermission
	"${test.classes}${/}-", "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";

    // needed because RMIClassLoader.getClassLoader now requires it
    permission java.lang.RuntimePermission "getClassLoader";
};
