You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geode.apache.org by Kirk Lund <ki...@gmail.com> on 2015/07/11 02:07:03 UTC

Review Request 36409: Use cglib jar instead of cglib-nodep jar runtime dependency for tests

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/36409/
-----------------------------------------------------------

Review request for geode.


Bugs: GEODE-97
    https://issues.apache.org/jira/browse/GEODE-97


Repository: geode


Description
-------

The cglib-nodep jar contains an "asm" package while the cglib jar does not. This causes the build to use asm 5.0.3 as defined in the dependencies.

When the unit tests are executed under JDK 8, tests using jmock fail with this stack trace due to finding wrong version of asm in the cglib-nodep jar:
{{{
com.gemstone.gemfire.internal.cache.DiskInitFileJUnitTest > testCanonicalIds FAILED
    java.lang.IllegalArgumentException
        at net.sf.cglib.asm.ClassReader.<init>(Unknown Source)
        at net.sf.cglib.asm.ClassReader.<init>(Unknown Source)
        at net.sf.cglib.asm.ClassReader.<init>(Unknown Source)
        at net.sf.cglib.proxy.BridgeMethodResolver.resolveAll(BridgeMethodResolver.java:61)
        at net.sf.cglib.proxy.Enhancer.emitMethods(Enhancer.java:911)
        at net.sf.cglib.proxy.Enhancer.generateClass(Enhancer.java:498)
        at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
        at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216)
        at net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:377)
        at net.sf.cglib.proxy.Enhancer.createClass(Enhancer.java:317)
        at org.jmock.lib.legacy.ClassImposteriser.proxyClass(ClassImposteriser.java:121)
        at org.jmock.lib.legacy.ClassImposteriser.imposterise(ClassImposteriser.java:66)
        at org.jmock.internal.ReturnDefaultValueAction.invoke(ReturnDefaultValueAction.java:82)
        at org.jmock.internal.InvocationExpectation.invoke(InvocationExpectation.java:165)
        at org.jmock.internal.InvocationDispatcher.dispatch(InvocationDispatcher.java:81)
        at org.jmock.Mockery.dispatch(Mockery.java:244)
        at org.jmock.Mockery.access$100(Mockery.java:29)
        at org.jmock.Mockery$MockObject.invoke(Mockery.java:284)
        at org.jmock.internal.InvocationDiverter.invoke(InvocationDiverter.java:27)
        at org.jmock.internal.FakeObjectMethods.invoke(FakeObjectMethods.java:38)
        at org.jmock.internal.SingleThreadedPolicy$1.invoke(SingleThreadedPolicy.java:21)
        at org.jmock.lib.legacy.ClassImposteriser$4.invoke(ClassImposteriser.java:136)
        at com.gemstone.gemfire.internal.cache.persistence.DiskRegionView$$EnhancerByCGLIB$$dc027cdd.getFlags(<generated>)
        at com.gemstone.gemfire.internal.cache.DiskInitFile.writeRegionConfig(DiskInitFile.java:1796)
        at com.gemstone.gemfire.internal.cache.DiskInitFile.createRegion(DiskInitFile.java:2081)
        at com.gemstone.gemfire.internal.cache.DiskInitFileJUnitTest.testCanonicalIds(DiskInitFileJUnitTest.java:81)
}}}        
The fix uses the cglib jar which does not contain the old version of asm. The newer version of asm is already specified in the gradle dependencies.


Diffs
-----

  build.gradle 3bad39c 

Diff: https://reviews.apache.org/r/36409/diff/


Testing
-------

build and test targets on linux and windows


Thanks,

Kirk Lund


Re: Review Request 36409: Use cglib jar instead of cglib-nodep jar runtime dependency for tests

Posted by Dan Smith <ds...@pivotal.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/36409/#review91379
-----------------------------------------------------------

Ship it!


Ship It!

- Dan Smith


On July 11, 2015, 12:07 a.m., Kirk Lund wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/36409/
> -----------------------------------------------------------
> 
> (Updated July 11, 2015, 12:07 a.m.)
> 
> 
> Review request for geode.
> 
> 
> Bugs: GEODE-97
>     https://issues.apache.org/jira/browse/GEODE-97
> 
> 
> Repository: geode
> 
> 
> Description
> -------
> 
> The cglib-nodep jar contains an "asm" package while the cglib jar does not. This causes the build to use asm 5.0.3 as defined in the dependencies.
> 
> When the unit tests are executed under JDK 8, tests using jmock fail with this stack trace due to finding wrong version of asm in the cglib-nodep jar:
> {{{
> com.gemstone.gemfire.internal.cache.DiskInitFileJUnitTest > testCanonicalIds FAILED
>     java.lang.IllegalArgumentException
>         at net.sf.cglib.asm.ClassReader.<init>(Unknown Source)
>         at net.sf.cglib.asm.ClassReader.<init>(Unknown Source)
>         at net.sf.cglib.asm.ClassReader.<init>(Unknown Source)
>         at net.sf.cglib.proxy.BridgeMethodResolver.resolveAll(BridgeMethodResolver.java:61)
>         at net.sf.cglib.proxy.Enhancer.emitMethods(Enhancer.java:911)
>         at net.sf.cglib.proxy.Enhancer.generateClass(Enhancer.java:498)
>         at net.sf.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
>         at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:216)
>         at net.sf.cglib.proxy.Enhancer.createHelper(Enhancer.java:377)
>         at net.sf.cglib.proxy.Enhancer.createClass(Enhancer.java:317)
>         at org.jmock.lib.legacy.ClassImposteriser.proxyClass(ClassImposteriser.java:121)
>         at org.jmock.lib.legacy.ClassImposteriser.imposterise(ClassImposteriser.java:66)
>         at org.jmock.internal.ReturnDefaultValueAction.invoke(ReturnDefaultValueAction.java:82)
>         at org.jmock.internal.InvocationExpectation.invoke(InvocationExpectation.java:165)
>         at org.jmock.internal.InvocationDispatcher.dispatch(InvocationDispatcher.java:81)
>         at org.jmock.Mockery.dispatch(Mockery.java:244)
>         at org.jmock.Mockery.access$100(Mockery.java:29)
>         at org.jmock.Mockery$MockObject.invoke(Mockery.java:284)
>         at org.jmock.internal.InvocationDiverter.invoke(InvocationDiverter.java:27)
>         at org.jmock.internal.FakeObjectMethods.invoke(FakeObjectMethods.java:38)
>         at org.jmock.internal.SingleThreadedPolicy$1.invoke(SingleThreadedPolicy.java:21)
>         at org.jmock.lib.legacy.ClassImposteriser$4.invoke(ClassImposteriser.java:136)
>         at com.gemstone.gemfire.internal.cache.persistence.DiskRegionView$$EnhancerByCGLIB$$dc027cdd.getFlags(<generated>)
>         at com.gemstone.gemfire.internal.cache.DiskInitFile.writeRegionConfig(DiskInitFile.java:1796)
>         at com.gemstone.gemfire.internal.cache.DiskInitFile.createRegion(DiskInitFile.java:2081)
>         at com.gemstone.gemfire.internal.cache.DiskInitFileJUnitTest.testCanonicalIds(DiskInitFileJUnitTest.java:81)
> }}}        
> The fix uses the cglib jar which does not contain the old version of asm. The newer version of asm is already specified in the gradle dependencies.
> 
> 
> Diffs
> -----
> 
>   build.gradle 3bad39c 
> 
> Diff: https://reviews.apache.org/r/36409/diff/
> 
> 
> Testing
> -------
> 
> build and test targets on linux and windows
> 
> 
> Thanks,
> 
> Kirk Lund
> 
>