|
View:
New views
2 Messages
—
Rating Filter:
Alert me
|
|
|
SecurityException when using ClassImposteriserHi all,
With both JMock 2.5.1 and 2.6RC1, I'm getting a stack trace when using ClassImposteriser. The stack trace is included at the end of this message. Any ideas as to how resolve this issue? Not sure if it's significant, but I'm running my test with Eclipse. The JMock JARs are bundled in an Eclipse plugin project on which my test plugin depends. Here's the test class: @RunWith(JMock.class) public class MigrationStrategyTest { private final MigrationContext context = new MigrationContext(); private Mockery mockery; @Before public void setup() { mockery = new JUnit4Mockery() {{ setImposteriser(ClassImposteriser.INSTANCE); }}; // create mock objects } @Test public void delegatesToApplicableRule() { mockery.checking(new Expectations() {{ // set expectations }}); // execute strategy.migrate(original, context); } } Cheers, Louis. ---- Louis Rose Research Student Department of Computer Science, University of York, Heslington, York, YO10 5DD, United Kingdom. +44 1904 434762 Twitter: @louismrose java.lang.SecurityException: class "org.hamcrest.TypeSafeMatcher"'s signer information does not match signer information of other classes in the same package at java.lang.ClassLoader.checkCerts(ClassLoader.java:858) at java.lang.ClassLoader.preDefineClass(ClassLoader.java:570) at java.lang.ClassLoader.defineClass(ClassLoader.java:697) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$000(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:319) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:330) at java.lang.ClassLoader.loadClass(ClassLoader.java:254) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:402) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:703) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$000(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:319) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:330) at java.lang.ClassLoader.loadClass(ClassLoader.java:254) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:402) at org.jmock.internal.InvocationExpectationBuilder.createExpectationFrom(InvocationExpectationBuilder.java:86) at org.jmock.internal.InvocationToExpectationTranslator.invoke(InvocationToExpectationTranslator.java:19) at org.jmock.internal.FakeObjectMethods.invoke(FakeObjectMethods.java:38) at org.jmock.lib.legacy.ClassImposteriser$4.invoke(ClassImposteriser.java:137) at org.eclipse.epsilon.migration.copy.Copier$$EnhancerByCGLIB$$987188f5.copy(<generated>) at org.eclipse.epsilon.migration.model.MigrationStrategyTest$2.<init>(MigrationStrategyTest.java:66) at org.eclipse.epsilon.migration.model.MigrationStrategyTest.delegatesToApplicableRule(MigrationStrategyTest.java:65) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:66) at org.jmock.integration.junit4.JMock$1.invoke(JMock.java:37) at org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:105) at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:86) at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:94) at org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:84) at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:49) at org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:96) at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:59) at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:52) at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:34) at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:44) at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:50) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
|
|
Re: SecurityException when using ClassImposteriserHi all,
I encountered this problem again today. It seems that Eclipse Galileo bundles JUnit 4.5, which in turn bundles Hamcrest Core 1.1, which does not contain org.hamcrest.TypeSafeMatcher. JMock 2.5.1, however, bundles Hamcrest 1.1, with TypeSafeMatcher. The Eclipse JUnit 4.5 distribution contains signed JARs, and hence the exception. The solution is to ensure that any dependencies on JMock JARs occur before dependencies on JUnit in every plug-in. That way, Hamcrest is loaded from JMock, not from JUnit. If you encounter this problem, feel free to send me an email for more details. Cheers, Louis. Louis Rose wrote: > Hi all, > > With both JMock 2.5.1 and 2.6RC1, I'm getting a stack trace when using > ClassImposteriser. The stack trace is included at the end of this > message. Any ideas as to how resolve this issue? > > Not sure if it's significant, but I'm running my test with Eclipse. The > JMock JARs are bundled in an Eclipse plugin project on which my test > plugin depends. > > Here's the test class: > > @RunWith(JMock.class) > public class MigrationStrategyTest { > > private final MigrationContext context = new MigrationContext(); > > private Mockery mockery; > > @Before > public void setup() { > mockery = new JUnit4Mockery() {{ > setImposteriser(ClassImposteriser.INSTANCE); > }}; > > // create mock objects > } > > @Test > public void delegatesToApplicableRule() { > > mockery.checking(new Expectations() {{ > // set expectations > }}); > > // execute > strategy.migrate(original, context); > } > } > > Cheers, > Louis. > > ---- > Louis Rose > Research Student > Department of Computer Science, > University of York, > Heslington, York, YO10 5DD, United Kingdom. > +44 1904 434762 > Twitter: @louismrose > > > java.lang.SecurityException: class "org.hamcrest.TypeSafeMatcher"'s > signer information does not match signer information of other classes in > the same package > at java.lang.ClassLoader.checkCerts(ClassLoader.java:858) > at java.lang.ClassLoader.preDefineClass(ClassLoader.java:570) > at java.lang.ClassLoader.defineClass(ClassLoader.java:697) > at > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) > at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) > at java.net.URLClassLoader.access$000(URLClassLoader.java:56) > at java.net.URLClassLoader$1.run(URLClassLoader.java:195) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:188) > at java.lang.ClassLoader.loadClass(ClassLoader.java:319) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:330) > at java.lang.ClassLoader.loadClass(ClassLoader.java:254) > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:402) > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClass(ClassLoader.java:703) > at > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) > at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) > at java.net.URLClassLoader.access$000(URLClassLoader.java:56) > at java.net.URLClassLoader$1.run(URLClassLoader.java:195) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:188) > at java.lang.ClassLoader.loadClass(ClassLoader.java:319) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:330) > at java.lang.ClassLoader.loadClass(ClassLoader.java:254) > at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:402) > at > org.jmock.internal.InvocationExpectationBuilder.createExpectationFrom(InvocationExpectationBuilder.java:86) > > at > org.jmock.internal.InvocationToExpectationTranslator.invoke(InvocationToExpectationTranslator.java:19) > > at > org.jmock.internal.FakeObjectMethods.invoke(FakeObjectMethods.java:38) > at > org.jmock.lib.legacy.ClassImposteriser$4.invoke(ClassImposteriser.java:137) > at > org.eclipse.epsilon.migration.copy.Copier$$EnhancerByCGLIB$$987188f5.copy(<generated>) > > at > org.eclipse.epsilon.migration.model.MigrationStrategyTest$2.<init>(MigrationStrategyTest.java:66) > > at > org.eclipse.epsilon.migration.model.MigrationStrategyTest.delegatesToApplicableRule(MigrationStrategyTest.java:65) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > > at java.lang.reflect.Method.invoke(Method.java:597) > at org.junit.internal.runners.TestMethod.invoke(TestMethod.java:66) > at org.jmock.integration.junit4.JMock$1.invoke(JMock.java:37) > at > org.junit.internal.runners.MethodRoadie.runTestMethod(MethodRoadie.java:105) > > at org.junit.internal.runners.MethodRoadie$2.run(MethodRoadie.java:86) > at > org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:94) > > at > org.junit.internal.runners.MethodRoadie.runTest(MethodRoadie.java:84) > at org.junit.internal.runners.MethodRoadie.run(MethodRoadie.java:49) > at > org.junit.internal.runners.JUnit4ClassRunner.invokeTestMethod(JUnit4ClassRunner.java:96) > > at > org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:59) > > at > org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:52) > > at > org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:34) > at > org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:44) > at > org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:50) > at > org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46) > > at > org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) > > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) > > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) > > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) > > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) > > > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email |
| Free embeddable forum powered by Nabble | Forum Help |