Vemund Ostgaard wrote:
It seems suites.All doesn't run on Java ME on trunk at the moment. When trying to run with phoneME advanced I get:

Failed to invoke suite():java.lang.NoClassDefFoundError: javax.naming.Referenceable

From looking at the nightly testresults for weme6.1 I see that the tests ran ok on Thursday, but not on Friday.
Using a modified testrunner I got some stacktrace:

java.lang.NoClassDefFoundError: javax.naming.Referenceable
       at java.lang.Class.loadSuperClasses()V(Class.java:1811)
at java.lang.ClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;(ClassLoader.java:621) at java.security.SecureClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/CodeSource;)Ljava/lang/Class;(SecureClassLoader.java:143) at java.net.URLClassLoader.defineClass(Ljava/lang/String;Lsun/misc/Resource;)Ljava/lang/Class;(URLClassLoader.java:282) at java.net.URLClassLoader.access$100(Ljava/net/URLClassLoader;Ljava/lang/String;Lsun/misc/Resource;)Ljava/lang/Class;(URLClassLoader.java:75) at java.net.URLClassLoader$1.run()Ljava/lang/Object;(URLClassLoader.java:222) at java.security.AccessController.doPrivileged(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;(AccessController.java:351) at java.net.URLClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class;(URLClassLoader.java:208) at sun.misc.Launcher$AppClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class;(Launcher.java:612) at java.lang.ClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;(ClassLoader.java:340) at sun.misc.Launcher$AppClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;(Launcher.java:428) at java.lang.ClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class;(ClassLoader.java:282)
       at java.lang.Class.loadSuperClasses()V(Class.java:1746)
at java.lang.ClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;(ClassLoader.java:621) at java.security.SecureClassLoader.defineClass(Ljava/lang/String;[BIILjava/security/CodeSource;)Ljava/lang/Class;(SecureClassLoader.java:143) at java.net.URLClassLoader.defineClass(Ljava/lang/String;Lsun/misc/Resource;)Ljava/lang/Class;(URLClassLoader.java:282) at java.net.URLClassLoader.access$100(Ljava/net/URLClassLoader;Ljava/lang/String;Lsun/misc/Resource;)Ljava/lang/Class;(URLClassLoader.java:75) at java.net.URLClassLoader$1.run()Ljava/lang/Object;(URLClassLoader.java:222) at java.security.AccessController.doPrivileged(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;(AccessController.java:351) at java.net.URLClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class;(URLClassLoader.java:208) at sun.misc.Launcher$AppClassLoader.findClass(Ljava/lang/String;)Ljava/lang/Class;(Launcher.java:612) at java.lang.ClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;(ClassLoader.java:340) at sun.misc.Launcher$AppClassLoader.loadClass(Ljava/lang/String;Z)Ljava/lang/Class;(Launcher.java:428) at java.lang.ClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class;(ClassLoader.java:282) at java.lang.ClassLoader.loadClassInternal(Ljava/lang/String;)Ljava/lang/Class;(ClassLoader.java:356) at org.apache.derbyTesting.functionTests.tests.replicationTests.ReplicationSuite.suite()Ljunit/framework/Test;(ReplicationSuite.java:49) at org.apache.derbyTesting.functionTests.suites.All.suite()Ljunit/framework/Test;(All.java:54) at org.apache.derbyTesting.junit.TimeRunner.main([Ljava/lang/String;)V(TimeRunner.java:83)
       at sun.misc.CVM.runMain()V(CVM.java:514)

From what I can see the ReplicationSuite class tries to create a Class ReplicationRun_Local, which extends ReplicationRun. ReplicationRun uses ClientDataSource, which extends ClientBaseDataSource which imports javax.naming.Referenceable.

I guess the testsuite for replication shouldn't be run on Java ME.

Vemund

Reply via email to