From 3b5fe2883109da9470a8baf20e6700aba0d78193 Mon Sep 17 00:00:00 2001 From: The Android Open Source Project Date: Thu, 19 Mar 2009 23:08:36 -0700 Subject: [PATCH] auto import from //branches/cupcake_rel/...@141571 --- .../concurrent/AbstractQueuedSynchronizerTest.java | 6 ++- .../harmony/luni/tests/java/lang/ClassTest.java | 10 ++-- .../harmony/luni/tests/java/lang/PackageTest.java | 18 ++----- .../harmony/luni/tests/java/lang/SystemTest.java | 2 + .../reflect/GenericSignatureFormatErrorTest.java | 12 ++++- .../test/java/tests/api/java/net/SocketTest.java | 2 + .../tests/api/java/net/URLClassLoaderTest.java | 3 +- libcore/run-core-tests | 2 +- .../security/permissions/JavaLangThreadTest.java | 27 ++++++---- .../sql/src/test/resources/connection.properties | 2 +- .../java/tests/support/Support_ClassLoader.java | 61 ++++++++++++++++++++++ .../xnet/provider/jsse/FileClientSessionCache.java | 2 +- vm/Globals.h | 11 ++-- vm/alloc/HeapWorker.c | 12 +++-- 14 files changed, 127 insertions(+), 43 deletions(-) create mode 100644 libcore/support/src/test/java/tests/support/Support_ClassLoader.java diff --git a/libcore/concurrent/src/test/java/tests/api/java/util/concurrent/AbstractQueuedSynchronizerTest.java b/libcore/concurrent/src/test/java/tests/api/java/util/concurrent/AbstractQueuedSynchronizerTest.java index eed8d3ac8..7102c14d1 100644 --- a/libcore/concurrent/src/test/java/tests/api/java/util/concurrent/AbstractQueuedSynchronizerTest.java +++ b/libcore/concurrent/src/test/java/tests/api/java/util/concurrent/AbstractQueuedSynchronizerTest.java @@ -1044,9 +1044,11 @@ public class AbstractQueuedSynchronizerTest extends JSR166TestCase { try { t.start(); - Thread.sleep(SHORT_DELAY_MS); + // BEGIN android-changed + Thread.sleep(SMALL_DELAY_MS); // SHORT_DELAY_MS was flaky on Android t.interrupt(); - t.join(SHORT_DELAY_MS); + t.join(SMALL_DELAY_MS); // SHORT_DELAY_MS was flaky on Android + // END android-changed assertFalse(t.isAlive()); } catch (Exception ex) { 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 c33a8e3f0..b0fa733a4 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 @@ -45,13 +45,13 @@ import java.util.Collection; import java.util.List; import java.util.Vector; +import tests.support.Support_ClassLoader; import tests.support.resource.Support_Resources; import dalvik.annotation.AndroidOnly; import dalvik.annotation.BrokenTest; -import dalvik.annotation.KnownFailure; -import dalvik.annotation.TestLevel; import dalvik.annotation.TestTargetClass; import dalvik.annotation.TestTargetNew; +import dalvik.annotation.TestLevel; @SuppressWarnings("deprecation") @TestTargetClass(Class.class) @@ -578,9 +578,9 @@ public class ClassTest extends junit.framework.TestCase { URL resourceURL = new URL("file:/" + resPath + "/Package/" + hyts_package_name); - ClassLoader cl = new dalvik.system.PathClassLoader( - resourceURL.getPath(), getClass().getClassLoader()); - + ClassLoader cl = Support_ClassLoader.getInstance(resourceURL, + getClass().getClassLoader()); + Class clazz = cl.loadClass("C"); assertNull("getPackage for C.class should return null", clazz.getPackage()); diff --git a/libcore/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/PackageTest.java b/libcore/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/PackageTest.java index b1b7408b4..19cc341c0 100644 --- a/libcore/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/PackageTest.java +++ b/libcore/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/PackageTest.java @@ -29,6 +29,7 @@ import java.lang.annotation.Annotation; import java.lang.annotation.Annotation; +import tests.support.Support_ClassLoader; import tests.support.resource.Support_Resources; @TestTargetClass(Package.class) @@ -40,14 +41,10 @@ public class PackageTest extends junit.framework.TestCase { Class clazz; - // URLClassLoader doesn't load classes from jar. - // use PathClassLoader - boolean USE_PATH_CLASS_LOADER = true; - Package getTestPackage(String resourceJar, String className) throws Exception { - if (USE_PATH_CLASS_LOADER) { + if ("Dalvik".equals(System.getProperty("java.vm.name"))) { resourceJar = resourceJar.substring(0, resourceJar.indexOf(".")) + "_dex.jar"; } @@ -55,14 +52,9 @@ public class PackageTest extends junit.framework.TestCase { URL resourceURL = new URL("file:/" + resPath + "/Package/" + resourceJar); - ClassLoader cl = null; - if(USE_PATH_CLASS_LOADER) { - cl = new dalvik.system.PathClassLoader( - resourceURL.getPath(), getClass().getClassLoader()); - } else { - cl = new URLClassLoader(new URL[] { resourceURL }, - getClass().getClassLoader()); - } + ClassLoader cl = Support_ClassLoader.getInstance(resourceURL, + getClass().getClassLoader()); + clazz = cl.loadClass(className); return clazz.getPackage(); } diff --git a/libcore/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/SystemTest.java b/libcore/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/SystemTest.java index 2c65f5264..f17c3d867 100644 --- a/libcore/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/SystemTest.java +++ b/libcore/luni/src/test/java/org/apache/harmony/luni/tests/java/lang/SystemTest.java @@ -17,6 +17,7 @@ package org.apache.harmony.luni.tests.java.lang; +import dalvik.annotation.AndroidOnly; import dalvik.annotation.TestTargets; import dalvik.annotation.TestLevel; import dalvik.annotation.TestTargetNew; @@ -1079,6 +1080,7 @@ public class SystemTest extends junit.framework.TestCase { method = "load", args = {java.lang.String.class} ) + @AndroidOnly("No x86 version of this library") public void test_load() { try { new TestLibrary().checkString(); diff --git a/libcore/luni/src/test/java/tests/api/java/lang/reflect/GenericSignatureFormatErrorTest.java b/libcore/luni/src/test/java/tests/api/java/lang/reflect/GenericSignatureFormatErrorTest.java index eb5ceadc2..e66e44ea0 100644 --- a/libcore/luni/src/test/java/tests/api/java/lang/reflect/GenericSignatureFormatErrorTest.java +++ b/libcore/luni/src/test/java/tests/api/java/lang/reflect/GenericSignatureFormatErrorTest.java @@ -16,6 +16,8 @@ import java.io.OutputStream; import java.lang.reflect.GenericSignatureFormatError; import java.lang.reflect.TypeVariable; +import tests.support.Support_ClassLoader; + @TestTargetClass(GenericSignatureFormatError.class) public class GenericSignatureFormatErrorTest extends TestCase{ @@ -84,8 +86,14 @@ public class GenericSignatureFormatErrorTest extends TestCase{ // class signature string " HEAP_WORKER_WATCHDOG_TIMEOUT && gDvm.debuggerActive) { + if (delta > HEAP_WORKER_WATCHDOG_TIMEOUT && + (gDvm.debuggerActive || gDvm.nativeDebuggerActive)) + { /* * Debugger suspension can block the thread indefinitely. For * best results we should reset this explicitly whenever the - * HeapWorker thread is resumed. Ignoring the yelp isn't - * quite right but will do for a quick fix. + * HeapWorker thread is resumed. Unfortunately this is also + * affected by native debuggers, and we have no visibility + * into how they're manipulating us. So, we ignore the + * watchdog and just reset the timer. */ LOGI("Debugger is attached -- suppressing HeapWorker watchdog\n"); heapWorkerInterpStartTime = now; /* reset timer */ -- 2.11.0