/hg/icedtea-web: Fix CodeBaseClassLoaderTest.testParentClassLoad...

adomurad at icedtea.classpath.org adomurad at icedtea.classpath.org
Thu Jan 3 10:17:40 PST 2013


changeset b758667cc17c in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=b758667cc17c
author: Adam Domurad <adomurad at redhat.com>
date: Thu Jan 03 13:17:37 2013 -0500

	Fix CodeBaseClassLoaderTest.testParentClassLoaderIsAskedForClassesApplication


diffstat:

 ChangeLog                                                                                            |  13 ++++++++++
 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java                                               |  11 ++++++--
 tests/reproducers/custom/AppletExtendsFromOutsideJar/srcs/AppletReferenceOutOfJar.java               |   3 +-
 tests/reproducers/custom/AppletExtendsFromOutsideJar/testcases/AppletExtendsFromOutsideJarTests.java |   3 +-
 4 files changed, 25 insertions(+), 5 deletions(-)

diffs (87 lines):

diff -r 9549226afa8f -r b758667cc17c ChangeLog
--- a/ChangeLog	Thu Jan 03 09:54:16 2013 +0100
+++ b/ChangeLog	Thu Jan 03 13:17:37 2013 -0500
@@ -1,3 +1,16 @@
+2013-01-03  Adam Domurad  <adomurad at redhat.com>
+
+	Fix breakage in unit test CodeBaseClassLoaderTest.testParentClassLoaderIsAskedForClassesApplication
+	* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java
+	(CodeBaseClassLoader#findClassNonRecursive): New, call into
+	URLClassLoader#findClass
+	(CodeBaseClassLoader#findClass): Delegate JNLPClassLoader#findClass
+	(JNLPClassLoader#findClass): Call CodeBaseClassLoader#findClassNonRecursive
+	* tests/reproducers/custom/AppletExtendsFromOutsideJar/srcs/AppletReferenceOutOfJar.java
+	(init): Add applet finish message.
+	* tests/reproducers/custom/AppletExtendsFromOutsideJar/testcases/AppletExtendsFromOutsideJarTests.java
+	(testClassInAppletFolder): Close quickly on applet finish message.
+
 2013-01-02  Jiri Vanek  <jvanek at redhat.com>
 
 	Fixed unittest for InformationElement.
diff -r 9549226afa8f -r b758667cc17c netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java
--- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java	Thu Jan 03 09:54:16 2013 +0100
+++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java	Thu Jan 03 13:17:37 2013 -0500
@@ -1704,7 +1704,7 @@
 
         // Try codebase loader
         if (codeBaseLoader != null)
-            return codeBaseLoader.findClass(name);
+            return codeBaseLoader.findClassNonRecursive(name);
 
         // All else failed. Throw CNFE
         throw new ClassNotFoundException(name);
@@ -2287,8 +2287,7 @@
             super.addURL(url); 
         }
 
-        @Override
-        public Class<?> findClass(String name) throws ClassNotFoundException {
+        Class<?> findClassNonRecursive(String name) throws ClassNotFoundException {
             // If we have searched this path before, don't try again
             if (Arrays.equals(super.getURLs(), notFoundResources.get(name)))
                 throw new ClassNotFoundException(name);
@@ -2310,6 +2309,12 @@
             }
         }
 
+        @Override
+        public Class<?> findClass(String name) throws ClassNotFoundException {
+            // Calls JNLPClassLoader#findClass which may call into this.findClassNonRecursive
+            return getParentJNLPClassLoader().findClass(name);
+        }
+
         /**
          * Returns the output of super.findLoadedClass().
          * 
diff -r 9549226afa8f -r b758667cc17c tests/reproducers/custom/AppletExtendsFromOutsideJar/srcs/AppletReferenceOutOfJar.java
--- a/tests/reproducers/custom/AppletExtendsFromOutsideJar/srcs/AppletReferenceOutOfJar.java	Thu Jan 03 09:54:16 2013 +0100
+++ b/tests/reproducers/custom/AppletExtendsFromOutsideJar/srcs/AppletReferenceOutOfJar.java	Thu Jan 03 13:17:37 2013 -0500
@@ -42,6 +42,7 @@
 	Referenced outOfJarReference = new Referenced();
 
 	public void init() {
-		System.out.println("My simple applet is running.");
+        System.out.println("My simple applet is running.");
+        System.out.println("*** APPLET FINISHED ***");
 	}
 }
diff -r 9549226afa8f -r b758667cc17c tests/reproducers/custom/AppletExtendsFromOutsideJar/testcases/AppletExtendsFromOutsideJarTests.java
--- a/tests/reproducers/custom/AppletExtendsFromOutsideJar/testcases/AppletExtendsFromOutsideJarTests.java	Thu Jan 03 09:54:16 2013 +0100
+++ b/tests/reproducers/custom/AppletExtendsFromOutsideJar/testcases/AppletExtendsFromOutsideJarTests.java	Thu Jan 03 13:17:37 2013 -0500
@@ -36,6 +36,7 @@
  */
 
 import net.sourceforge.jnlp.ProcessResult;
+import net.sourceforge.jnlp.ServerAccess.AutoClose;
 import net.sourceforge.jnlp.annotations.Bug;
 import net.sourceforge.jnlp.annotations.NeedsDisplay;
 import net.sourceforge.jnlp.annotations.TestInBrowsers;
@@ -55,7 +56,7 @@
     @TestInBrowsers(testIn = { Browsers.one })
     @Bug(id = "PR920")
     public void testClassInAppletFolder() throws Exception {
-        ProcessResult pr = server.executeBrowser("/AppletExtendsFromOutsideJar.html");
+        ProcessResult pr = server.executeBrowser("/AppletExtendsFromOutsideJar.html", AutoClose.CLOSE_ON_BOTH);
 
         Assert.assertFalse("Linkage error should not occur but did!", pr.stderr.contains(LINKAGE_ERROR_OCCURRENCE));
         Assert.assertTrue("Expected '" + APPLET_RUNNING + "', stdout was: " + pr.stdout, pr.stdout.contains(APPLET_RUNNING));



More information about the distro-pkg-dev mailing list