You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by va...@apache.org on 2006/12/14 08:16:34 UTC
svn commit: r487048 - in
/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang:
MutableSecurityManager.java SecurityManagerTest.java
Author: varlax
Date: Wed Dec 13 23:16:33 2006
New Revision: 487048
URL: http://svn.apache.org/viewvc?view=rev&rev=487048
Log:
Fixed SecurityManagerTest to pass on DRLVM.
Modified:
harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/MutableSecurityManager.java
harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/SecurityManagerTest.java
Modified: harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/MutableSecurityManager.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/MutableSecurityManager.java?view=diff&rev=487048&r1=487047&r2=487048
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/MutableSecurityManager.java (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/MutableSecurityManager.java Wed Dec 13 23:16:33 2006
@@ -56,13 +56,15 @@
}
@Override
- public void checkPermission(Permission permission) {
- if (enabled.implies(permission)) {
- return;
- }
-
+ public void checkPermission(Permission permission)
+ {
+ // denied should take precedence over allowed
if (denied != null && denied.implies(permission)){
throw new SecurityException("Denied " + permission);
+ }
+
+ if (enabled.implies(permission)) {
+ return;
}
super.checkPermission(permission);
Modified: harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/SecurityManagerTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/SecurityManagerTest.java?view=diff&rev=487048&r1=487047&r2=487048
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/SecurityManagerTest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/SecurityManagerTest.java Wed Dec 13 23:16:33 2006
@@ -18,6 +18,8 @@
import java.io.File;
import java.security.Security;
+import java.security.SecurityPermission;
+import java.security.AllPermission;
import tests.support.Support_Exec;
import junit.framework.TestCase;
@@ -119,15 +121,12 @@
*/
public void test_checkMemberAccessLjava_lang_ClassI() {
MutableSecurityManager sm = new MutableSecurityManager();
- sm.addPermission(MutableSecurityManager.SET_SECURITY_MANAGER);
+ // enable all but access check
+ sm.addPermission(new AllPermission());
sm.denyPermission(new RuntimePermission("accessDeclaredMembers"));
System.setSecurityManager(sm);
try {
- try {
- getClass().getDeclaredFields();
- } catch (SecurityException e) {
- fail("This should not throw a security exception");
- }
+ getClass().getDeclaredFields();
try {
Object.class.getDeclaredFields();
@@ -167,18 +166,12 @@
private static class checkPermissionLjava_security_PermissionTesting {
public static void main(String[] args) {
MutableSecurityManager sm = new MutableSecurityManager();
- sm.addPermission(MutableSecurityManager.SET_SECURITY_MANAGER);
System.setSecurityManager(sm);
try {
- try {
- System.getSecurityManager().checkPermission(
- new RuntimePermission("createClassLoader"));
- fail("This should throw a SecurityException");
- } catch (SecurityException e) {
- }
- } finally {
- System.setSecurityManager(null);
- }
+ System.getSecurityManager().checkPermission(
+ new RuntimePermission("createClassLoader"));
+ fail("This should throw a SecurityException");
+ } catch (SecurityException ok) {}
}
}