Dávid Paksy created ZOOKEEPER-5039:
--------------------------------------
Summary: Upgrade Mockito to 5.23.0 for JDK25
Key: ZOOKEEPER-5039
URL: https://issues.apache.org/jira/browse/ZOOKEEPER-5039
Project: ZooKeeper
Issue Type: Task
Reporter: Dávid Paksy
With the current 4.9.0 Mockito version tests are failing when JDK25 is used
{noformat}
[ERROR] testACLDigestHashHiding_OnlyAdmin Time elapsed: 0.07 s <<<
ERROR!org.mockito.exceptions.base.MockitoException:
Mockito cannot mock this class: class org.apache.zookeeper.server.ZKDatabase.
If you're not sure why you're getting this error, please open an issue on
GitHub.
Java : 25JVM vendor name : Eclipse AdoptiumJVM vendor version
: 25.0.2+10-LTSJVM name : OpenJDK 64-Bit Server VMJVM version
: 25.0.2+10-LTSJVM info : mixed mode, sharingOS name :
LinuxOS version : 6.17.0-22-generic
You are seeing this disclaimer because Mockito is configured to create inlined
mocks.You can learn about inline mocks and their limitations under item #39 of
the Mockito class javadoc.
Underlying exception : org.mockito.exceptions.base.MockitoException: Could not
modify all classes [class org.apache.zookeeper.server.ZKDatabase, class
java.lang.Object] at
org.apache.zookeeper.server.FinalRequestProcessorTest.setUp(FinalRequestProcessorTest.java:67)
at
java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
...
Caused by: org.mockito.exceptions.base.MockitoException: Could not modify all
classes [class org.apache.zookeeper.server.ZKDatabase, class java.lang.Object]
at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:168) at
net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:399)
at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:190) at
net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:410)
... 68 moreCaused by: java.lang.IllegalStateException: Byte Buddy could
not instrument all classes within the mock's type hierarchy
This problem should never occur for javac-compiled classes. This problem has
been observed for classes that are: - Compiled by older versions of scalac -
Classes that are part of the Android distribution at
org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.triggerRetransformation(InlineBytecodeGenerator.java:284)
at
org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.mockClass(InlineBytecodeGenerator.java:217)
at
org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.lambda$mockClass$0(TypeCachingBytecodeGenerator.java:47)
at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:168) at
net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:399)
at net.bytebuddy.TypeCache.findOrInsert(TypeCache.java:190) at
net.bytebuddy.TypeCache$WithInlineExpunction.findOrInsert(TypeCache.java:410)
at
org.mockito.internal.creation.bytebuddy.TypeCachingBytecodeGenerator.mockClass(TypeCachingBytecodeGenerator.java:40)
at
org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.createMockType(InlineDelegateByteBuddyMockMaker.java:396)
at
org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.doCreateMock(InlineDelegateByteBuddyMockMaker.java:355)
at
org.mockito.internal.creation.bytebuddy.InlineDelegateByteBuddyMockMaker.createMock(InlineDelegateByteBuddyMockMaker.java:334)
at
org.mockito.internal.creation.bytebuddy.InlineByteBuddyMockMaker.createMock(InlineByteBuddyMockMaker.java:56)
at org.mockito.internal.util.MockUtil.createMock(MockUtil.java:99)
at org.mockito.internal.MockitoCore.mock(MockitoCore.java:88) at
org.mockito.Mockito.mock(Mockito.java:1998) at
org.mockito.Mockito.mock(Mockito.java:1913) ... 68 moreCaused by:
java.lang.IllegalArgumentException: Java 25 (69) is not supported by the
current version of Byte Buddy which officially supports Java 19 (63) - update
Byte Buddy or set net.bytebuddy.experimental as a VM property at
net.bytebuddy.utility.OpenedClassReader.of(OpenedClassReader.java:96) at
net.bytebuddy.dynamic.scaffold.TypeWriter$Default$ForInlining.create(TypeWriter.java:4011)
at
net.bytebuddy.dynamic.scaffold.TypeWriter$Default.make(TypeWriter.java:2224) at
net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase$UsingTypeWriter.make(DynamicType.java:4050)
at
net.bytebuddy.dynamic.DynamicType$Builder$AbstractBase.make(DynamicType.java:3734)
at
org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.transform(InlineBytecodeGenerator.java:401)
at
java.instrument/java.lang.instrument.ClassFileTransformer.transform(ClassFileTransformer.java:257)
at
java.instrument/sun.instrument.TransformerManager.transform(TransformerManager.java:188)
at
java.instrument/sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:594)
at
java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native
Method) at
java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:221)
at
org.mockito.internal.creation.bytebuddy.InlineBytecodeGenerator.triggerRetransformation(InlineBytecodeGenerator.java:280)
... 83 more
[ERROR] testACLDigestHashHiding_UserCanAll Time elapsed: 0.052 s <<< ERROR!
{noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)