[ 
https://issues.apache.org/jira/browse/DERBY-3153?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rick Hillegas updated DERBY-3153:
---------------------------------

    Attachment: derby-3153-sampleFix-aa.diff

Attaching derby-3153-sampleFix-aa.diff. This adds some more permissions to the 
default test policy, derby_tests.policy. With those permissions, I am able to 
start up the junit tests under the ant harness under ant 1.7.0 and they start 
out running without errors. That is, I don't see any initial security 
exceptions.

I think this could be the basis of a fix for this bug. The additional 
permissions would need to be propagated to the other policy files used by the 
tests and, of course, some time would have to be spent verifying that the tests 
run cleanly.

> AccessControlException when running junit tests under the ant harness in ant 
> 1.7.0
> ----------------------------------------------------------------------------------
>
>                 Key: DERBY-3153
>                 URL: https://issues.apache.org/jira/browse/DERBY-3153
>             Project: Derby
>          Issue Type: Bug
>          Components: Test
>    Affects Versions: 10.4.0.0
>            Reporter: Rick Hillegas
>         Attachments: derby-3153-sampleFix-aa.diff
>
>
> The following AccessControlException occurs on junit tests run under the ant 
> harness if the ant version is 1.7.0:
>     [junit] Running 
> org.apache.derbyTesting.functionTests.tests.jdbcapi.AutoloadTest
>     [junit] Tests run: 3, Failures: 0, Errors: 1, Time elapsed: 1.029 sec
>     [junit] Exception in thread "main" java.security.AccessControlException: 
> access denied (java.io.FilePermission 
> /Users/rh161140/derby/mainline/trunk/junitvmwatcher520156310.properties write)
>     [junit]   at 
> java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
>     [junit]   at 
> java.security.AccessController.checkPermission(AccessController.java:427)
>     [junit]   at 
> java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
>     [junit]   at 
> java.lang.SecurityManager.checkWrite(SecurityManager.java:962)
>     [junit]   at java.io.FileOutputStream.<init>(FileOutputStream.java:169)
>     [junit]   at java.io.FileOutputStream.<init>(FileOutputStream.java:70)
>     [junit]   at java.io.FileWriter.<init>(FileWriter.java:46)
>     [junit]   at 
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.registerNonCrash(JUnitTestRunner.java:924)
>     [junit]   at 
> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:772)
>     [junit] Running 
> org.apache.derbyTesting.functionTests.tests.jdbcapi.AutoloadTest
>     [junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec
> I haven't looked at the ant source, but here is my theory about what is going 
> on:
> 1) Ant 1.7.0 is trying to write a file to the directory where the ant script 
> lives
> 2) The write is not wrapped in a privileged block
> 3) So all code domains above it on the stack need to be granted write 
> permission on the directory where the ant script lives
> I will attach a modified version of derby_tests.policy which allows me to 
> start up the tests without tripping across this security exception.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to