1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
|
//
// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.
// The ASF licenses this file to You under the Apache License, Version 2.0
// (the "License"); you may not use this file except in compliance with
// the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Policy file with minimal set of permissions to run unit test for
// AssertFailureTest with ThreadDump permissions.
// The test harness sets up four variables used by this policy file
//
// derbyTesting.codejar - URL to the jar files when they are in the classpath
// derbyTesting.codeclasses - URL to the classes directory when it is in the classpath
//
// Only one of derbyTesting.codejar and derbyTesting.codeclasses will be valid, the
// other will be set to a bogus URL like file://unused
//
// derbyTesting.codedir - File location of either derbyTesting.codejar or derbyTesting.codeclasses.
// Only required due to a BUG (see below for more info).
//
// derbyTesting.jaxpjar - URL to the jar file containing the JAXP implementation
// for XML-based tests (ex. lang/XMLBindingTest.java).
//
// derbyTesting.serverhost - Host name or ip where network server is started
// derbyTesting.clienthost - specifies the clients ip address/hostName.
// when testing with networkserver on a remote host, this needs to be passed in
// with the NetworkServerControl start command
//
// Permissions for the tests (derbyTesting.jar)
//
grant codeBase "${derbyTesting.testjar}derbyTesting.jar" {
// Allow tests to install and uninstall the security manager and
// to refresh the policy
permission java.util.PropertyPermission "java.security.policy", "read,write";
permission java.lang.RuntimePermission "setSecurityManager";
permission java.security.SecurityPermission "getPolicy";
// derbyTesting.junit.TestConfiguration... modifies System properties
permission java.util.PropertyPermission "*", "read,write";
//needs to run "doAsPrivileged"
permission javax.security.auth.AuthPermission "doAsPrivileged";
};
//
// Permissions for running the test on the class files
//
grant codeBase "${derbyTesting.codeclasses}" {
// Allow tests to install and uninstall the security manager and
// to refresh the policy
permission java.util.PropertyPermission "java.security.policy", "read,write";
permission java.lang.RuntimePermission "setSecurityManager";
permission java.security.SecurityPermission "getPolicy";
// derbyTesting.junit.TestConfiguration... modifies System properties
permission java.util.PropertyPermission "*", "read,write";
//These are the ones that matters:
//-----------------------------------------------------------------------------
permission java.lang.RuntimePermission "getStackTrace";
permission java.lang.RuntimePermission "modifyThreadGroup";
//-----------------------------------------------------------------------------
};
grant codeBase "${derbyTesting.junit}" {
// This permission is needed when running the tests using ant 1.7
permission java.io.FilePermission "${user.dir}${/}*", "write";
};
// Ant's junit runner requires setOut to redirect the System output streams
// to the forked JVM used when running junit tests inside Ant. Ant requires
// forking the JVM if you want to run tests in a different directory than the
// current one.
grant codeBase "${derbyTesting.antjunit}" {
permission java.lang.RuntimePermission "setIO";
// This permission is needed when running the tests using ant 1.7
permission java.io.FilePermission "${user.dir}${/}*", "write";
};
grant codeBase "${derbyTesting.codejar}derby.jar" {
//These are the ones that matters:
//-----------------------------------------------------------------------------
permission java.lang.RuntimePermission "getStackTrace";
permission java.lang.RuntimePermission "modifyThreadGroup";
//-----------------------------------------------------------------------------
// getProtectionDomain is an optional permission needed for printing classpath
// information to derby.log
permission java.lang.RuntimePermission "getProtectionDomain";
};
grant codeBase "${derbyTesting.codejar}derbyclient.jar" {
//These are the ones that matters:
//-----------------------------------------------------------------------------
permission java.lang.RuntimePermission "getStackTrace";
permission java.lang.RuntimePermission "modifyThreadGroup";
//-----------------------------------------------------------------------------
};
|