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