diff options
author | Jesse Wilson <jessewilson@google.com> | 2009-10-01 12:17:17 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2009-10-01 12:17:17 -0700 |
commit | a9e9a5e49c54c4b35b51e2eaf6f71f55774bbf79 (patch) | |
tree | ad484144214fbb272b94b077c17055a061ba6361 /luni | |
parent | 739290b51c6774ce40427e1138cce09c01655c7f (diff) | |
parent | 8e0b1f43bb0a35f71e7e25d922e6b9d00920adff (diff) | |
download | libcore-a9e9a5e49c54c4b35b51e2eaf6f71f55774bbf79.zip libcore-a9e9a5e49c54c4b35b51e2eaf6f71f55774bbf79.tar.gz libcore-a9e9a5e49c54c4b35b51e2eaf6f71f55774bbf79.tar.bz2 |
am 18ae1786: am ffa33efc: Merge change I75630000 into eclair
Merge commit '18ae1786b572d7385cbddd7da3167e190b952ded'
* commit '18ae1786b572d7385cbddd7da3167e190b952ded':
Fixing tests that exercise SecurityManager plus stack inspection.
Diffstat (limited to 'luni')
-rw-r--r-- | luni/src/test/java/org/apache/harmony/luni/tests/java/lang/ClassTest.java | 7 | ||||
-rw-r--r-- | luni/src/test/java/org/apache/harmony/luni/tests/java/lang/SecurityManagerTest.java | 28 |
2 files changed, 22 insertions, 13 deletions
diff --git a/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/ClassTest.java b/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/ClassTest.java index 3097fbe..2b492b1 100644 --- a/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/ClassTest.java +++ b/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/ClassTest.java @@ -838,9 +838,6 @@ public class ClassTest extends junit.framework.TestCase { args = {} ) public void test_getClassLoader() { - // this fails if ClassTest.class was loaded by the regular classloader, - // but passes if it was loaded by the boot class loader. - assertEquals(ExtendTestClass.class.getClassLoader(), PublicTestClass.class.getClassLoader()); @@ -861,8 +858,8 @@ public class ClassTest extends junit.framework.TestCase { System.setSecurityManager(sm); try { System.class.getClassLoader(); - } catch (SecurityException e) { - fail("SecurityException should not be thrown."); + fail("SecurityException should be thrown."); + } catch (SecurityException expected) { } finally { System.setSecurityManager(oldSm); } diff --git a/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/SecurityManagerTest.java b/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/SecurityManagerTest.java index be5aa41..0bd0c1f 100644 --- a/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/SecurityManagerTest.java +++ b/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/SecurityManagerTest.java @@ -16,14 +16,11 @@ package org.apache.harmony.luni.tests.java.lang; -import dalvik.annotation.TestTargets; import dalvik.annotation.TestLevel; -import dalvik.annotation.TestTargetNew; import dalvik.annotation.TestTargetClass; - +import dalvik.annotation.TestTargetNew; import junit.framework.TestCase; -import java.io.File; import java.io.FileDescriptor; import java.io.FilePermission; import java.io.IOException; @@ -41,8 +38,6 @@ import java.security.ProtectionDomain; import java.security.Security; import java.security.SecurityPermission; -import tests.support.Support_Exec; - /** * Test case for java.lang.SecurityManager */ @@ -230,14 +225,14 @@ public class SecurityManagerTest extends TestCase { } try { - mutableSM.checkMemberAccess(Object.class, Member.DECLARED); + delegateCallToCheckMemberAccess2(Object.class, Member.DECLARED); fail("SecurityException was not thrown."); } catch(SecurityException se) { //expected } try { - mutableSM.checkMemberAccess(null, Member.PUBLIC); + delegateCallToCheckMemberAccess2(null, Member.PUBLIC); fail("NullPointerException was not thrown."); } catch(NullPointerException npe) { //expected @@ -248,6 +243,23 @@ public class SecurityManagerTest extends TestCase { } /** + * Don't call checkMemberAccess directly, since we're checking our caller + * (and not ourselves). This is necessary for unit tests, since JUnit's + * TestCase is usually in the boot classpath for dalvik. This delegating + * method corresponds to Class.getDeclared*(); + */ + private void delegateCallToCheckMemberAccess2(Class<Object> cls, int type) { + delegateCallToCheckMemberAccess1(cls, type); + } + + /** + * This delegating method corresponds to Class.checkMemberAccess(). + */ + private void delegateCallToCheckMemberAccess1(Class<Object> cls, int type) { + mutableSM.checkMemberAccess(cls, type); + } + + /** * @tests java.lang.SecurityManager#checkPermission(java.security.Permission) */ @TestTargetNew( |