This is an automated email from the ASF dual-hosted git repository.
zhangduo pushed a commit to branch branch-2.5
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2.5 by this push:
new 1edbf35d806 HBASE-29924 Backport the
HBaseParameterizedParameterResolver changes in HBASE-29144 to branch-2.5 (#7797)
1edbf35d806 is described below
commit 1edbf35d8066acdd49cb70e60c11cdcef1a9d4ba
Author: Liu Xiao <[email protected]>
AuthorDate: Thu Feb 26 09:51:50 2026 +0800
HBASE-29924 Backport the HBaseParameterizedParameterResolver changes in
HBASE-29144 to branch-2.5 (#7797)
Signed-off-by: Duo Zhang <[email protected]>
---
.../hbase/HBaseParameterizedParameterResolver.java | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git
a/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseParameterizedParameterResolver.java
b/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseParameterizedParameterResolver.java
index de17960d151..1df5b22a702 100644
---
a/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseParameterizedParameterResolver.java
+++
b/hbase-common/src/test/java/org/apache/hadoop/hbase/HBaseParameterizedParameterResolver.java
@@ -23,6 +23,8 @@ import
org.junit.jupiter.api.extension.ParameterResolutionException;
import org.junit.jupiter.api.extension.ParameterResolver;
import org.junit.jupiter.params.provider.Arguments;
+import org.apache.hbase.thirdparty.com.google.common.primitives.Primitives;
+
/**
* @see HBaseParameterizedTestTemplate
*/
@@ -38,8 +40,20 @@ public class HBaseParameterizedParameterResolver implements
ParameterResolver {
public boolean supportsParameter(ParameterContext pc, ExtensionContext ec)
throws ParameterResolutionException {
int index = pc.getIndex();
- return index < values.length
- &&
pc.getParameter().getType().isAssignableFrom(values[index].getClass());
+ if (index >= values.length) {
+ return false;
+ }
+ Object value = values[index];
+ Class<?> expectedType = pc.getParameter().getType();
+ if (expectedType.isPrimitive()) {
+ // primitive type can not accept null value
+ if (value == null) {
+ return false;
+ }
+ // test with wrapper type, otherwise it will always return false
+ return Primitives.wrap(expectedType).isAssignableFrom(value.getClass());
+ }
+ return expectedType.isAssignableFrom(value.getClass());
}
@Override