Skip to content

Commit f2cfba4

Browse files
fix(mockito-core:5.0.0): resolve test failures (#600)
* fix(mockito-core:5.0.0): resolve test failures - Generated proxy-config metadata to include dynamic proxy for org.mockito.plugins.MemberAccessor. * remove JNI config
1 parent b51038d commit f2cfba4

File tree

15 files changed

+403
-1
lines changed

15 files changed

+403
-1
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[
2+
"proxy-config.json",
3+
"reflect-config.json",
4+
"resource-config.json"
5+
]
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
[
2+
{
3+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
4+
"interfaces":["net.bytebuddy.description.method.MethodDescription$InDefinedShape$AbstractBase$Executable"]
5+
},
6+
{
7+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
8+
"interfaces":["net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Parameter"]
9+
},
10+
{
11+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
12+
"interfaces":["net.bytebuddy.description.method.ParameterList$ForLoadedExecutable$Executable"]
13+
},
14+
{
15+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
16+
"interfaces":["net.bytebuddy.description.type.TypeDefinition$Sort$AnnotatedType"]
17+
},
18+
{
19+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
20+
"interfaces":["net.bytebuddy.description.type.TypeDescription"]
21+
},
22+
{
23+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
24+
"interfaces":["net.bytebuddy.description.type.TypeDescription$ForLoadedType$Dispatcher"]
25+
},
26+
{
27+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
28+
"interfaces":["net.bytebuddy.description.type.TypeDescription$Generic"]
29+
},
30+
{
31+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
32+
"interfaces":["net.bytebuddy.description.type.TypeDescription$Generic$AnnotationReader$Delegator$ForLoadedExecutableParameterType$Dispatcher"]
33+
},
34+
{
35+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
36+
"interfaces":["net.bytebuddy.description.type.TypeDescription$Generic$AnnotationReader$Delegator$ForLoadedMethodReturnType$Dispatcher"]
37+
},
38+
{
39+
"condition":{"typeReachable":"org.mockito.internal.creation.proxy.ProxyMockMaker"},
40+
"interfaces":["org_mockito.mockito_core.MyService"]
41+
}
42+
]
Lines changed: 233 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,233 @@
1+
[
2+
{
3+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
4+
"name":"com.sun.tools.attach.VirtualMachine"
5+
},
6+
{
7+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
8+
"name":"java.lang.Class",
9+
"methods":[{"name":"getAnnotatedInterfaces","parameterTypes":[] }, {"name":"getAnnotatedSuperclass","parameterTypes":[] }, {"name":"getModule","parameterTypes":[] }, {"name":"getNestHost","parameterTypes":[] }, {"name":"getNestMembers","parameterTypes":[] }, {"name":"getPermittedSubclasses","parameterTypes":[] }, {"name":"getRecordComponents","parameterTypes":[] }, {"name":"isNestmateOf","parameterTypes":["java.lang.Class"] }, {"name":"isRecord","parameterTypes":[] }, {"name":"isSealed","parameterTypes":[] }]
10+
},
11+
{
12+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
13+
"name":"java.lang.ClassLoader",
14+
"methods":[{"name":"getUnnamedModule","parameterTypes":[] }]
15+
},
16+
{
17+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
18+
"name":"java.lang.Module",
19+
"methods":[{"name":"addExports","parameterTypes":["java.lang.String","java.lang.Module"] }, {"name":"canRead","parameterTypes":["java.lang.Module"] }, {"name":"isExported","parameterTypes":["java.lang.String"] }]
20+
},
21+
{
22+
"condition":{"typeReachable":"org.mockito.internal.debugging.Java9PlusLocationImpl$MetadataShim"},
23+
"name":"java.lang.Object",
24+
"methods":[{"name":"toString","parameterTypes":[] }]
25+
},
26+
{
27+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
28+
"name":"java.lang.Object",
29+
"queryAllDeclaredMethods":true,
30+
"queryAllDeclaredConstructors":true,
31+
"methods":[{"name":"getClass","parameterTypes":[] }]
32+
},
33+
{
34+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
35+
"name":"java.lang.ProcessHandle",
36+
"methods":[{"name":"current","parameterTypes":[] }, {"name":"pid","parameterTypes":[] }]
37+
},
38+
{
39+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.ModuleMemberAccessor"},
40+
"name":"java.lang.Runtime",
41+
"methods":[{"name":"version","parameterTypes":[] }]
42+
},
43+
{
44+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.ModuleMemberAccessor"},
45+
"name":"java.lang.Runtime$Version",
46+
"methods":[{"name":"feature","parameterTypes":[] }]
47+
},
48+
{
49+
"condition":{"typeReachable":"org.mockito.internal.debugging.Java9PlusLocationImpl"},
50+
"name":"java.lang.StackWalker",
51+
"methods":[{"name":"getInstance","parameterTypes":["java.util.Set","int"] }, {"name":"walk","parameterTypes":["java.util.function.Function"] }]
52+
},
53+
{
54+
"condition":{"typeReachable":"org.mockito.internal.debugging.LocationFactory"},
55+
"name":"java.lang.StackWalker"
56+
},
57+
{
58+
"condition":{"typeReachable":"org.mockito.internal.debugging.Java9PlusLocationImpl"},
59+
"name":"java.lang.StackWalker$Option"
60+
},
61+
{
62+
"condition":{"typeReachable":"org.mockito.internal.debugging.Java9PlusLocationImpl"},
63+
"name":"java.lang.StackWalker$StackFrame"
64+
},
65+
{
66+
"condition":{"typeReachable":"org.mockito.internal.debugging.Java9PlusLocationImpl$MetadataShim"},
67+
"name":"java.lang.StackWalker$StackFrame",
68+
"methods":[{"name":"getClassName","parameterTypes":[] }, {"name":"getFileName","parameterTypes":[] }, {"name":"getLineNumber","parameterTypes":[] }, {"name":"getMethodName","parameterTypes":[] }]
69+
},
70+
{
71+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
72+
"name":"java.lang.System",
73+
"methods":[{"name":"getSecurityManager","parameterTypes":[] }]
74+
},
75+
{
76+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
77+
"name":"java.lang.invoke.MethodHandle",
78+
"methods":[{"name":"invokeWithArguments","parameterTypes":["java.lang.Object[]"] }]
79+
},
80+
{
81+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
82+
"name":"java.lang.invoke.MethodHandles",
83+
"methods":[{"name":"lookup","parameterTypes":[] }]
84+
},
85+
{
86+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
87+
"name":"java.lang.reflect.AccessibleObject",
88+
"methods":[{"name":"setAccessible","parameterTypes":["boolean"] }]
89+
},
90+
{
91+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
92+
"name":"java.lang.reflect.AnnotatedType",
93+
"methods":[{"name":"getType","parameterTypes":[] }]
94+
},
95+
{
96+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
97+
"name":"java.lang.reflect.Executable",
98+
"methods":[{"name":"getAnnotatedParameterTypes","parameterTypes":[] }, {"name":"getAnnotatedReceiverType","parameterTypes":[] }, {"name":"getParameterCount","parameterTypes":[] }, {"name":"getParameters","parameterTypes":[] }]
99+
},
100+
{
101+
"condition":{"typeReachable":"org.mockito.internal.creation.proxy.InvokeDefaultProxy"},
102+
"name":"java.lang.reflect.InvocationHandler",
103+
"methods":[{"name":"invokeDefault","parameterTypes":["java.lang.Object","java.lang.reflect.Method","java.lang.Object[]"] }]
104+
},
105+
{
106+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
107+
"name":"java.lang.reflect.Method",
108+
"methods":[{"name":"getAnnotatedReturnType","parameterTypes":[] }]
109+
},
110+
{
111+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
112+
"name":"java.lang.reflect.Parameter",
113+
"methods":[{"name":"getModifiers","parameterTypes":[] }, {"name":"getName","parameterTypes":[] }, {"name":"isNamePresent","parameterTypes":[] }]
114+
},
115+
{
116+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
117+
"name":"java.security.AccessController",
118+
"methods":[{"name":"doPrivileged","parameterTypes":["java.security.PrivilegedAction"] }]
119+
},
120+
{
121+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.ModuleMemberAccessor"},
122+
"name":"java.security.AccessController"
123+
},
124+
{
125+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
126+
"name":"java.util.concurrent.ForkJoinTask",
127+
"fields":[{"name":"aux"}, {"name":"status"}]
128+
},
129+
{
130+
"condition":{"typeReachable":"org.mockito.internal.util.KotlinInlineClassUtil"},
131+
"name":"kotlin.jvm.JvmInline"
132+
},
133+
{
134+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
135+
"name":"net.bytebuddy.agent.Installer",
136+
"methods":[{"name":"getInstrumentation","parameterTypes":[] }]
137+
},
138+
{
139+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
140+
"name":"net.bytebuddy.description.method.MethodDescription$InDefinedShape$AbstractBase$Executable",
141+
"queryAllPublicMethods":true
142+
},
143+
{
144+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
145+
"name":"net.bytebuddy.description.method.ParameterDescription$ForLoadedParameter$Parameter",
146+
"queryAllPublicMethods":true
147+
},
148+
{
149+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
150+
"name":"net.bytebuddy.description.method.ParameterList$ForLoadedExecutable$Executable",
151+
"queryAllPublicMethods":true
152+
},
153+
{
154+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
155+
"name":"net.bytebuddy.description.type.TypeDefinition$Sort$AnnotatedType",
156+
"queryAllPublicMethods":true
157+
},
158+
{
159+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
160+
"name":"net.bytebuddy.description.type.TypeDescription$ForLoadedType$Dispatcher",
161+
"queryAllPublicMethods":true
162+
},
163+
{
164+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
165+
"name":"net.bytebuddy.description.type.TypeDescription$Generic$AnnotationReader$Delegator$ForLoadedExecutableParameterType$Dispatcher",
166+
"queryAllPublicMethods":true
167+
},
168+
{
169+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
170+
"name":"net.bytebuddy.description.type.TypeDescription$Generic$AnnotationReader$Delegator$ForLoadedMethodReturnType$Dispatcher",
171+
"queryAllPublicMethods":true
172+
},
173+
{
174+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
175+
"name":"net.bytebuddy.utility.Invoker",
176+
"queryAllPublicMethods":true
177+
},
178+
{
179+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
180+
"name":"net.bytebuddy.utility.Invoker$Dispatcher",
181+
"methods":[{"name":"<init>","parameterTypes":[] }]
182+
},
183+
{
184+
"condition":{"typeReachable":"org.mockito.internal.configuration.ClassPathLoader"},
185+
"name":"org.mockito.configuration.MockitoConfiguration"
186+
},
187+
{
188+
"condition":{"typeReachable":"org.mockito.internal.configuration.plugins.DefaultMockitoPlugins"},
189+
"name":"org.mockito.internal.configuration.DefaultDoNotMockEnforcer",
190+
"methods":[{"name":"<init>","parameterTypes":[] }]
191+
},
192+
{
193+
"condition":{"typeReachable":"org.mockito.internal.configuration.plugins.DefaultMockitoPlugins"},
194+
"name":"org.mockito.internal.configuration.InjectingAnnotationEngine",
195+
"methods":[{"name":"<init>","parameterTypes":[] }]
196+
},
197+
{
198+
"condition":{"typeReachable":"org.mockito.internal.configuration.plugins.DefaultMockitoPlugins"},
199+
"name":"org.mockito.internal.configuration.plugins.DefaultPluginSwitch",
200+
"methods":[{"name":"<init>","parameterTypes":[] }]
201+
},
202+
{
203+
"condition":{"typeReachable":"org.mockito.internal.configuration.plugins.DefaultMockitoPlugins"},
204+
"name":"org.mockito.internal.creation.instance.DefaultInstantiatorProvider",
205+
"methods":[{"name":"<init>","parameterTypes":[] }]
206+
},
207+
{
208+
"condition":{"typeReachable":"org.mockito.internal.configuration.plugins.PluginInitializer"},
209+
"name":"org.mockito.internal.creation.proxy.ProxyMockMaker",
210+
"methods":[{"name":"<init>","parameterTypes":[] }]
211+
},
212+
{
213+
"condition":{"typeReachable":"org.mockito.internal.configuration.plugins.DefaultMockitoPlugins"},
214+
"name":"org.mockito.internal.exceptions.stacktrace.DefaultStackTraceCleanerProvider",
215+
"methods":[{"name":"<init>","parameterTypes":[] }]
216+
},
217+
{
218+
"condition":{"typeReachable":"org.mockito.internal.configuration.plugins.DefaultMockitoPlugins"},
219+
"name":"org.mockito.internal.util.ConsoleMockitoLogger",
220+
"methods":[{"name":"<init>","parameterTypes":[] }]
221+
},
222+
{
223+
"condition":{"typeReachable":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor"},
224+
"name":"org.mockito.internal.util.reflection.InstrumentationMemberAccessor$Dispatcher",
225+
"queryAllDeclaredMethods":true,
226+
"queryAllDeclaredConstructors":true
227+
},
228+
{
229+
"condition":{"typeReachable":"org.mockito.internal.configuration.plugins.DefaultMockitoPlugins"},
230+
"name":"org.mockito.internal.util.reflection.ModuleMemberAccessor",
231+
"methods":[{"name":"<init>","parameterTypes":[] }]
232+
}
233+
]
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"resources":{
3+
"includes":[{
4+
"condition":{"typeReachable":"org.mockito.internal.configuration.plugins.PluginInitializer"},
5+
"pattern":"\\Qmockito-extensions/org.mockito.plugins.MockMaker\\E"
6+
}]},
7+
"bundles":[]
8+
}
Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
11
[
2+
{
3+
"latest": true,
4+
"metadata-version": "5.0.0",
5+
"module": "org.mockito:mockito-core",
6+
"tested-versions": [
7+
"5.0.0"
8+
]
9+
},
210
{
311
"metadata-version" : "4.8.1",
412
"tested-versions" : [
@@ -7,7 +15,6 @@
715
"4.10.0",
816
"4.11.0"
917
],
10-
"latest" : true,
1118
"module" : "org.mockito:mockito-core"
1219
}
1320
]

tests/src/index.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -610,6 +610,12 @@
610610
"name" : "org.mockito:mockito-core",
611611
"versions" : [ "4.8.1" ]
612612
} ]
613+
}, {
614+
"test-project-path" : "org.mockito/mockito-core/5.0.0",
615+
"libraries" : [ {
616+
"name" : "org.mockito:mockito-core",
617+
"versions" : [ "5.0.0" ]
618+
} ]
613619
}, {
614620
"test-project-path" : "org.opengauss/opengauss-jdbc/3.1.0-og",
615621
"libraries" : [ {
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
gradlew.bat
2+
gradlew
3+
gradle/
4+
build/
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/*
2+
* Copyright and related rights waived via CC0
3+
*
4+
* You should have received a copy of the CC0 legalcode along with this
5+
* work. If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.
6+
*/
7+
8+
plugins {
9+
id "org.graalvm.internal.tck"
10+
}
11+
12+
String libraryVersion = tck.testedLibraryVersion.get()
13+
14+
dependencies {
15+
testImplementation "org.mockito:mockito-core:$libraryVersion"
16+
testImplementation 'org.assertj:assertj-core:3.22.0'
17+
}
18+
graalvmNative {
19+
agent {
20+
defaultMode = "conditional"
21+
modes {
22+
conditional {
23+
userCodeFilterPath = "user-code-filter.json"
24+
}
25+
}
26+
metadataCopy {
27+
mergeWithExisting = true
28+
inputTaskNames.add("test")
29+
outputDirectories.add("src/test/resources/META-INF/native-image/org.mockito/mockito-core")
30+
}
31+
}
32+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
library.version = 5.0.0
2+
metadata.dir = org.mockito/mockito-core/5.0.0/
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
pluginManagement {
2+
def tckPath = Objects.requireNonNullElse(
3+
System.getenv("GVM_TCK_TCKDIR"),
4+
"../../../../tck-build-logic"
5+
)
6+
includeBuild(tckPath)
7+
}
8+
9+
plugins {
10+
id "org.graalvm.internal.tck-settings" version "1.0.0-SNAPSHOT"
11+
}
12+
13+
rootProject.name = 'org.mockito.mockito-core_tests'

0 commit comments

Comments
 (0)