| // |
| // 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.testing}" { |
| // 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"; |
| |
| }; |
| |
| |
| 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.engine}" { |
| //These are the ones that matter: |
| //----------------------------------------------------------------------------- |
| 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.shared}" { |
| //These are the ones that matter: |
| //----------------------------------------------------------------------------- |
| 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.client}" { |
| //These are the ones that matter: |
| //----------------------------------------------------------------------------- |
| permission java.lang.RuntimePermission "getStackTrace"; |
| permission java.lang.RuntimePermission "modifyThreadGroup"; |
| //----------------------------------------------------------------------------- |
| }; |