diff options
| author | Android (Google) Code Review <android-gerrit@google.com> | 2009-09-30 16:31:20 -0400 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-09-30 16:31:20 -0400 |
| commit | ffa33efc2cae574aefbc2867dd4a7e5413282e3c (patch) | |
| tree | 5ab6bdd8b121f99a26401210883280573692ec25 | |
| parent | 7f51bfee5fc5fb34fe89f3d74f7fd40d834c0fc2 (diff) | |
| parent | 177b9eb6577b94e5ffcc1607d18febec66290f62 (diff) | |
| download | android_dalvik-ffa33efc2cae574aefbc2867dd4a7e5413282e3c.tar.gz android_dalvik-ffa33efc2cae574aefbc2867dd4a7e5413282e3c.tar.bz2 android_dalvik-ffa33efc2cae574aefbc2867dd4a7e5413282e3c.zip | |
Merge change I75630000 into eclair
* changes:
Fixing tests that exercise SecurityManager plus stack inspection.
| -rw-r--r-- | libcore/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/ClassTest.java | 7 | ||||
| -rw-r--r-- | libcore/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/SecurityManagerTest.java | 28 |
2 files changed, 22 insertions, 13 deletions
diff --git a/libcore/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/ClassTest.java b/libcore/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/ClassTest.java index 3097fbed9..2b492b11c 100644 --- a/libcore/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/ClassTest.java +++ b/libcore/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/libcore/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/SecurityManagerTest.java b/libcore/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/SecurityManagerTest.java index be5aa418b..0bd0c1f7b 100644 --- a/libcore/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/SecurityManagerTest.java +++ b/libcore/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( |
