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

Reply via email to