diff options
author | Jesse Wilson <jessewilson@google.com> | 2009-09-30 13:40:05 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2009-09-30 13:40:05 -0700 |
commit | 8e0b1f43bb0a35f71e7e25d922e6b9d00920adff (patch) | |
tree | 7bea8e37c7871754044d0a71f3c1b18b35cabda3 | |
parent | ed7a514e9f2d635f5725aa2727171c9a9c056e33 (diff) | |
parent | 7a7177010fe68e08d78045568dded4bd0406a237 (diff) | |
download | libcore-8e0b1f43bb0a35f71e7e25d922e6b9d00920adff.zip libcore-8e0b1f43bb0a35f71e7e25d922e6b9d00920adff.tar.gz libcore-8e0b1f43bb0a35f71e7e25d922e6b9d00920adff.tar.bz2 |
am ffa33efc: Merge change I75630000 into eclair
Merge commit 'ffa33efc2cae574aefbc2867dd4a7e5413282e3c' into eclair-plus-aosp
* commit 'ffa33efc2cae574aefbc2867dd4a7e5413282e3c':
Fixing tests that exercise SecurityManager plus stack inspection.
-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( |