Known Mauve Fails

This page collects info on mauve testlets that are known to fail with cacao and the reasons of these failures.

Please list alphabetically!

java.lang.Class.security

This testlet resolves too little before testing, so we get unexpected access checks. The following patch to the testlet fixes this:

Index: gnu/testlet/java/lang/Class/security.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/lang/Class/security.java,v
retrieving revision 1.5
diff -u -p -r1.5 security.java
--- gnu/testlet/java/lang/Class/security.java   27 Jun 2006 12:23:39 -0000      1.5
+++ gnu/testlet/java/lang/Class/security.java   10 Aug 2006 15:35:08 -0000
@@ -49,6 +49,8 @@ public class security implements Testlet
       // classes during tests and the extra checks will make us fail.
       testClass.getDeclaredClasses();
       testClass.getDeclaredMethods();
+      testClass.getClasses();
+      testClass.getMethods();

       // we need to restrict access to some packages for some of the
       // checks to occur.

java.lang.ClassLoader.findLoadedClass

This testlet expects a superclass to be registered without linking the derived class. The following patch to the testlet fixes this:

Index: gnu/testlet/java/lang/ClassLoader/findLoadedClass.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/lang/ClassLoader/findLoadedClass.java,v
retrieving revision 1.1
diff -u -p -r1.1 findLoadedClass.java
--- gnu/testlet/java/lang/ClassLoader/findLoadedClass.java      29 Jul 2005 11:47:08 -0000      1.1
+++ gnu/testlet/java/lang/ClassLoader/findLoadedClass.java      8 Aug 2006 14:04:12 -0000
@@ -88,7 +88,7 @@ public class findLoadedClass extends Cla

   public void test(TestHarness harness)
   {
-    defineClass("Triv", trivialClassDef, 0, trivialClassDef.length);
+    resolveClass(defineClass("Triv", trivialClassDef, 0, trivialClassDef.length));

     // defineClass should have registered the class
     harness.checkPoint("defineClass should register");

java.lang.ref.PhantomReference.phantom

Phantom references are not supported.

java.lang.ref.WeakReference.weakref

Weak references are not supported.

java.lang.reflect.Proxy.ExceptionRaising

In this testlet control falls through into an exception handler block (in hand crafted proxy code, probably). This does not work currently in cacao, although it is legal.

java.net.HttpURLConnection.responseHeaders

The problem is that an accept call blocks and does not return when another thread closes the file descriptor. Thus when this test starts, the accept from the previous test is still running, and races with the new accept.

java.nio.channels.FileChannel.map

This seems to be a Classpath problem, as something similar happens with JamVM. (The "manyopen" test seems to mess up the IO system and subsequently a class is not found because of this.)

java.util.Currency.Taiwan

This test fails on rlwinm. I think it has to do with the locale setup of this machine, but I'm not entirely sure.

java.security.Engine.getInstance

(./) Fixed in mauve CVS, does no longer fail.

This testlet failed in a clean mauve checkout because mauve auto-compilation misses the class gnu.testlet.java.security.MessageDigest.MauveDigest.

cacaowiki: KnownMauveFails (last edited 2006-10-25 18:44:36 by EdwinSteiner)