github-actions[bot] commented on code in PR #34173:
URL: https://github.com/apache/doris/pull/34173#discussion_r1582538654


##########
be/test/vec/function/function_string_test.cpp:
##########
@@ -1183,86 +2703,341 @@ TEST(function_string_test, function_uuid_test) {
                             
{{std::string("ffffffff-ffff-ffff-ffff-ffffffffffff")}, (__int128)-1},
                             
{{std::string("00000000-0000-0000-0000-000000000000")}, (__int128)0},
                             {{std::string("123")}, Null()}};
-        static_cast<void>(check_function<DataTypeInt128, true>(func_name, 
input_types, data_set));
+        static_cast<void>(check_function_all_arg_comb<DataTypeInt128, 
true>(func_name, input_types,
+                                                                            
data_set));
     }
     {
         std::string func_name = "int_to_uuid";
-        InputTypeSet input_types = {TypeIndex::Int128};
+        BaseInputTypeSet input_types = {TypeIndex::Int128};
         uint64_t high = 9572195551486940809ULL;
         uint64_t low = 1759290071393952876ULL;
         __int128 value = (__int128)high * (__int128)10000000000000000000ULL + 
(__int128)low;
         DataSet data_set = {{{Null()}, Null()},
                             {{value}, 
std::string("6ce4766f-6783-4b30-b357-bba1c7600348")},
                             {{(__int128)-1}, 
std::string("ffffffff-ffff-ffff-ffff-ffffffffffff")},
                             {{(__int128)0}, 
std::string("00000000-0000-0000-0000-000000000000")}};
-        static_cast<void>(check_function<DataTypeString, true>(func_name, 
input_types, data_set));
+        check_function_all_arg_comb<DataTypeString, true>(func_name, 
input_types, data_set);
     }
 }
 
-TEST(function_string_test, function_strcmp_test) {
-    std::string func_name = "strcmp";
-    {
-        InputTypeSet input_types = {TypeIndex::String, TypeIndex::String};
-
-        DataSet data_set = {{{Null(), Null()}, Null()},
-                            {{std::string(""), std::string("")}, (int8_t)0},
-                            {{std::string("test"), std::string("test")}, 
(int8_t)0},
-                            {{std::string("test1"), std::string("test")}, 
(int8_t)1},
-                            {{std::string("test"), std::string("test1")}, 
(int8_t)-1},
-                            {{Null(), std::string("test")}, Null()},
-                            {{std::string("test"), Null()}, Null()},
-                            {{VARCHAR(""), VARCHAR("")}, (int8_t)0},
-                            {{VARCHAR("test"), VARCHAR("test")}, (int8_t)0},
-                            {{VARCHAR("test1"), VARCHAR("test")}, (int8_t)1},
-                            {{VARCHAR("test"), VARCHAR("test1")}, (int8_t)-1},
-                            {{Null(), VARCHAR("test")}, Null()},
-                            {{VARCHAR("test"), Null()}, Null()}};
-        static_cast<void>(check_function<DataTypeInt8, true>(func_name, 
input_types, data_set));
-    }
-    {
-        InputTypeSet input_types = {Consted {TypeIndex::String}, 
TypeIndex::String};
-        DataSet data_set = {{{Null(), Null()}, Null()},
-                            {{std::string(""), std::string("")}, (int8_t)0},
-                            {{std::string("test"), std::string("test")}, 
(int8_t)0},
-                            {{std::string("test1"), std::string("test")}, 
(int8_t)1},
-                            {{std::string("test"), std::string("test1")}, 
(int8_t)-1},
-                            {{Null(), std::string("test")}, Null()},
-                            {{std::string("test"), Null()}, Null()},
-                            {{VARCHAR(""), VARCHAR("")}, (int8_t)0},
-                            {{VARCHAR("test"), VARCHAR("test")}, (int8_t)0},
-                            {{VARCHAR("test1"), VARCHAR("test")}, (int8_t)1},
-                            {{VARCHAR("test"), VARCHAR("test1")}, (int8_t)-1},
-                            {{Null(), VARCHAR("test")}, Null()},
-                            {{VARCHAR("test"), Null()}, Null()}};
-
-        for (const auto& line : data_set) {
-            DataSet const_dataset = {line};
-            static_cast<void>(
-                    check_function<DataTypeInt8, true>(func_name, input_types, 
const_dataset));
-        }
-    }
-    {
-        InputTypeSet input_types = {TypeIndex::String, Consted 
{TypeIndex::String}};
-        DataSet data_set = {{{Null(), Null()}, Null()},
-                            {{std::string(""), std::string("")}, (int8_t)0},
-                            {{std::string("test"), std::string("test")}, 
(int8_t)0},
-                            {{std::string("test1"), std::string("test")}, 
(int8_t)1},
-                            {{std::string("test"), std::string("test1")}, 
(int8_t)-1},
-                            {{Null(), std::string("test")}, Null()},
-                            {{std::string("test"), Null()}, Null()},
-                            {{VARCHAR(""), VARCHAR("")}, (int8_t)0},
-                            {{VARCHAR("test"), VARCHAR("test")}, (int8_t)0},
-                            {{VARCHAR("test1"), VARCHAR("test")}, (int8_t)1},
-                            {{VARCHAR("test"), VARCHAR("test1")}, (int8_t)-1},
-                            {{Null(), VARCHAR("test")}, Null()},
-                            {{VARCHAR("test"), Null()}, Null()}};
-
-        for (const auto& line : data_set) {
-            DataSet const_dataset = {line};
-            static_cast<void>(
-                    check_function<DataTypeInt8, true>(func_name, input_types, 
const_dataset));
-        }
-    }
+//bug TEST(function_string_test, function_strcmp_test) {
+//     std::string func_name = "strcmp";
+//     {
+//         BaseInputTypeSet input_types = {TypeIndex::String, 
TypeIndex::String};
+
+//         DataSet data_set = {
+//                 {{std::string("A"), std::string("A")}, std::int8_t(0)},
+//                 {{std::string("A"), std::string(",")}, std::int8_t(1)},
+//                 {{std::string("A"), std::string("")}, std::int8_t(1)},
+//                 {{std::string("A"), Null()}, Null()},
+//                 {{std::string("A"), std::string(",ABC,")}, std::int8_t(1)},
+//                 {{std::string("A"), std::string("123ABC!@# _")}, 
std::int8_t(1)},
+//                 {{std::string("A"), std::string("10@()*()$*!@")}, 
std::int8_t(1)},
+//                 {{std::string(","), std::string("A")}, std::int8_t(-1)},
+//                 {{std::string(","), std::string(",")}, std::int8_t(0)},
+//                 {{std::string(","), std::string("")}, std::int8_t(1)},
+//                 {{std::string(","), Null()}, Null()},
+//                 {{std::string(","), std::string(",ABC,")}, std::int8_t(-1)},
+//                 {{std::string(","), std::string("123ABC!@# _")}, 
std::int8_t(-1)},
+//                 {{std::string(","), std::string("10@()*()$*!@")}, 
std::int8_t(-1)},
+//                 {{std::string(""), std::string("A")}, std::int8_t(-1)},
+//                 {{std::string(""), std::string(",")}, std::int8_t(-1)},
+//                 {{std::string(""), std::string("")}, std::int8_t(0)},
+//                 {{std::string(""), Null()}, Null()},
+//                 {{std::string(""), std::string(",ABC,")}, std::int8_t(-1)},
+//                 {{std::string(""), std::string("123ABC!@# _")}, 
std::int8_t(-1)},
+//                 {{std::string(""), std::string("10@()*()$*!@")}, 
std::int8_t(-1)},
+//                 {{Null(), std::string("A")}, Null()},
+//                 {{Null(), std::string(",")}, Null()},
+//                 {{Null(), std::string("")}, Null()},
+//                 {{Null(), Null()}, Null()},
+//                 {{Null(), std::string(",ABC,")}, Null()},
+//                 {{Null(), std::string("123ABC!@# _")}, Null()},
+//                 {{Null(), std::string("10@()*()$*!@")}, Null()},
+//                 {{std::string(",ABC,"), std::string("A")}, std::int8_t(-1)},
+//                 {{std::string(",ABC,"), std::string(",")}, std::int8_t(1)},
+//                 {{std::string(",ABC,"), std::string("")}, std::int8_t(1)},
+//                 {{std::string(",ABC,"), Null()}, Null()},
+//                 {{std::string(",ABC,"), std::string(",ABC,")}, 
std::int8_t(0)},
+//                 {{std::string(",ABC,"), std::string("123ABC!@# _")}, 
std::int8_t(-1)},
+//                 {{std::string(",ABC,"), std::string("10@()*()$*!@")}, 
std::int8_t(-1)},
+//                 {{std::string("123ABC!@# _"), std::string("A")}, 
std::int8_t(-1)},
+//                 {{std::string("123ABC!@# _"), std::string(",")}, 
std::int8_t(1)},
+//                 {{std::string("123ABC!@# _"), std::string("")}, 
std::int8_t(1)},
+//                 {{std::string("123ABC!@# _"), Null()}, Null()},
+//                 {{std::string("123ABC!@# _"), std::string(",ABC,")}, 
std::int8_t(1)},
+//                 {{std::string("123ABC!@# _"), std::string("123ABC!@# _")}, 
std::int8_t(0)},
+//                 {{std::string("123ABC!@# _"), std::string("10@()*()$*!@")}, 
std::int8_t(1)},
+//                 {{std::string("10@()*()$*!@"), std::string("A")}, 
std::int8_t(-1)},
+//                 {{std::string("10@()*()$*!@"), std::string(",")}, 
std::int8_t(1)},
+//                 {{std::string("10@()*()$*!@"), std::string("")}, 
std::int8_t(1)},
+//                 {{std::string("10@()*()$*!@"), Null()}, Null()},
+//                 {{std::string("10@()*()$*!@"), std::string(",ABC,")}, 
std::int8_t(1)},
+//                 {{std::string("10@()*()$*!@"), std::string("123ABC!@# _")}, 
std::int8_t(-1)},
+//                 {{std::string("10@()*()$*!@"), 
std::string("10@()*()$*!@")}, std::int8_t(0)},
+//         };
+//         static_cast<void>(
+//                 check_function_all_arg_comb<DataTypeInt8, true>(func_name, 
input_types, data_set));
+//     }
+// }
+//
+
+TEST(function_string_test, function_initcap) {
+    std::string func_name {"initcap"};
+
+    BaseInputTypeSet input_types = {TypeIndex::String};
+
+    DataSet data_set = {{{std::string("SKJ_ASD_SAD _1A")}, 
std::string("Skj_Asd_Sad _1a")},
+                        {{std::string("BC'S aaaaA'' 'S")}, std::string("Bc'S 
Aaaaa'' 'S")},
+                        {{std::string("NULL")}, std::string("Null")},
+                        {{Null()}, Null()},
+                        {{std::string("HELLO, WORLD!")}, std::string("Hello, 
World!")},
+                        {{std::string("HHHH+-1; asAAss__!")}, 
std::string("Hhhh+-1; Asaass__!")},
+                        {{std::string("a,B,C,D")}, std::string("A,B,C,D")}};
+
+    check_function_all_arg_comb<DataTypeString, true>(func_name, input_types, 
data_set);
+}
+
+TEST(function_string_test, function_lpad_test) {
+    std::string func_name = "lpad";
+
+    BaseInputTypeSet input_types = {TypeIndex::String, TypeIndex::Int32, 
TypeIndex::String};
+
+    DataSet data_set = {
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(1), 
std::string("__123hehe1")},
+             std::string("Y")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(1), std::string("")}, 
std::string("Y")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(1), 
std::string("ò&ø")}, std::string("Y")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(1), 
std::string("TVl0ZXN0U1RS")},
+             std::string("Y")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(1), Null()}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-1), 
std::string("__123hehe1")}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-1), std::string("")}, 
Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-1), 
std::string("ò&ø")}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-1), 
std::string("TVl0ZXN0U1RS")}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-1), Null()}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-100), 
std::string("__123hehe1")}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-100), 
std::string("")}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-100), 
std::string("ò&ø")}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-100), 
std::string("TVl0ZXN0U1RS")},
+             Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-100), Null()}, 
Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(0), 
std::string("__123hehe1")},
+             std::string("")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(0), std::string("")}, 
std::string("")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(0), 
std::string("ò&ø")}, std::string("")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(0), 
std::string("TVl0ZXN0U1RS")},
+             std::string("")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(0), Null()}, Null()},
+            {{std::string(""), std::int32_t(1), std::string("__123hehe1")}, 
std::string("_")},
+            // {{std::string(""), std::int32_t(1), std::string("")}, 
std::string("")},
+            // {{std::string(""), std::int32_t(1), std::string("ò&ø")}, 
std::string("ò")},
+            {{std::string(""), std::int32_t(1), std::string("TVl0ZXN0U1RS")}, 
std::string("T")},

Review Comment:
   warning: function 'TEST' exceeds recommended size/complexity thresholds 
[readability-function-size]
   ```cpp
   ction_all_arg_comb<DataTypeString, true>(func_name, input_types, data_set);
                                                                                
  ^
   ```
   <details>
   <summary>Additional context</summary>
   
   **be/test/vec/function/function_string_test.cpp:2834:** 119 lines including 
whitespace and comments (threshold 80)
   ```cpp
   ction_all_arg_comb<DataTypeString, true>(func_name, input_types, data_set);
                                                                                
  ^
   ```
   
   </details>
   



##########
be/test/vec/function/function_string_test.cpp:
##########
@@ -1183,86 +2703,341 @@
                             
{{std::string("ffffffff-ffff-ffff-ffff-ffffffffffff")}, (__int128)-1},
                             
{{std::string("00000000-0000-0000-0000-000000000000")}, (__int128)0},
                             {{std::string("123")}, Null()}};
-        static_cast<void>(check_function<DataTypeInt128, true>(func_name, 
input_types, data_set));
+        static_cast<void>(check_function_all_arg_comb<DataTypeInt128, 
true>(func_name, input_types,
+                                                                            
data_set));
     }
     {
         std::string func_name = "int_to_uuid";
-        InputTypeSet input_types = {TypeIndex::Int128};
+        BaseInputTypeSet input_types = {TypeIndex::Int128};
         uint64_t high = 9572195551486940809ULL;
         uint64_t low = 1759290071393952876ULL;
         __int128 value = (__int128)high * (__int128)10000000000000000000ULL + 
(__int128)low;
         DataSet data_set = {{{Null()}, Null()},
                             {{value}, 
std::string("6ce4766f-6783-4b30-b357-bba1c7600348")},
                             {{(__int128)-1}, 
std::string("ffffffff-ffff-ffff-ffff-ffffffffffff")},
                             {{(__int128)0}, 
std::string("00000000-0000-0000-0000-000000000000")}};
-        static_cast<void>(check_function<DataTypeString, true>(func_name, 
input_types, data_set));
+        check_function_all_arg_comb<DataTypeString, true>(func_name, 
input_types, data_set);
     }
 }
 
-TEST(function_string_test, function_strcmp_test) {
-    std::string func_name = "strcmp";
-    {
-        InputTypeSet input_types = {TypeIndex::String, TypeIndex::String};
-
-        DataSet data_set = {{{Null(), Null()}, Null()},
-                            {{std::string(""), std::string("")}, (int8_t)0},
-                            {{std::string("test"), std::string("test")}, 
(int8_t)0},
-                            {{std::string("test1"), std::string("test")}, 
(int8_t)1},
-                            {{std::string("test"), std::string("test1")}, 
(int8_t)-1},
-                            {{Null(), std::string("test")}, Null()},
-                            {{std::string("test"), Null()}, Null()},
-                            {{VARCHAR(""), VARCHAR("")}, (int8_t)0},
-                            {{VARCHAR("test"), VARCHAR("test")}, (int8_t)0},
-                            {{VARCHAR("test1"), VARCHAR("test")}, (int8_t)1},
-                            {{VARCHAR("test"), VARCHAR("test1")}, (int8_t)-1},
-                            {{Null(), VARCHAR("test")}, Null()},
-                            {{VARCHAR("test"), Null()}, Null()}};
-        static_cast<void>(check_function<DataTypeInt8, true>(func_name, 
input_types, data_set));
-    }
-    {
-        InputTypeSet input_types = {Consted {TypeIndex::String}, 
TypeIndex::String};
-        DataSet data_set = {{{Null(), Null()}, Null()},
-                            {{std::string(""), std::string("")}, (int8_t)0},
-                            {{std::string("test"), std::string("test")}, 
(int8_t)0},
-                            {{std::string("test1"), std::string("test")}, 
(int8_t)1},
-                            {{std::string("test"), std::string("test1")}, 
(int8_t)-1},
-                            {{Null(), std::string("test")}, Null()},
-                            {{std::string("test"), Null()}, Null()},
-                            {{VARCHAR(""), VARCHAR("")}, (int8_t)0},
-                            {{VARCHAR("test"), VARCHAR("test")}, (int8_t)0},
-                            {{VARCHAR("test1"), VARCHAR("test")}, (int8_t)1},
-                            {{VARCHAR("test"), VARCHAR("test1")}, (int8_t)-1},
-                            {{Null(), VARCHAR("test")}, Null()},
-                            {{VARCHAR("test"), Null()}, Null()}};
-
-        for (const auto& line : data_set) {
-            DataSet const_dataset = {line};
-            static_cast<void>(
-                    check_function<DataTypeInt8, true>(func_name, input_types, 
const_dataset));
-        }
-    }
-    {
-        InputTypeSet input_types = {TypeIndex::String, Consted 
{TypeIndex::String}};
-        DataSet data_set = {{{Null(), Null()}, Null()},
-                            {{std::string(""), std::string("")}, (int8_t)0},
-                            {{std::string("test"), std::string("test")}, 
(int8_t)0},
-                            {{std::string("test1"), std::string("test")}, 
(int8_t)1},
-                            {{std::string("test"), std::string("test1")}, 
(int8_t)-1},
-                            {{Null(), std::string("test")}, Null()},
-                            {{std::string("test"), Null()}, Null()},
-                            {{VARCHAR(""), VARCHAR("")}, (int8_t)0},
-                            {{VARCHAR("test"), VARCHAR("test")}, (int8_t)0},
-                            {{VARCHAR("test1"), VARCHAR("test")}, (int8_t)1},
-                            {{VARCHAR("test"), VARCHAR("test1")}, (int8_t)-1},
-                            {{Null(), VARCHAR("test")}, Null()},
-                            {{VARCHAR("test"), Null()}, Null()}};
-
-        for (const auto& line : data_set) {
-            DataSet const_dataset = {line};
-            static_cast<void>(
-                    check_function<DataTypeInt8, true>(func_name, input_types, 
const_dataset));
-        }
-    }
+//bug TEST(function_string_test, function_strcmp_test) {
+//     std::string func_name = "strcmp";
+//     {
+//         BaseInputTypeSet input_types = {TypeIndex::String, 
TypeIndex::String};
+
+//         DataSet data_set = {
+//                 {{std::string("A"), std::string("A")}, std::int8_t(0)},
+//                 {{std::string("A"), std::string(",")}, std::int8_t(1)},
+//                 {{std::string("A"), std::string("")}, std::int8_t(1)},
+//                 {{std::string("A"), Null()}, Null()},
+//                 {{std::string("A"), std::string(",ABC,")}, std::int8_t(1)},
+//                 {{std::string("A"), std::string("123ABC!@# _")}, 
std::int8_t(1)},
+//                 {{std::string("A"), std::string("10@()*()$*!@")}, 
std::int8_t(1)},
+//                 {{std::string(","), std::string("A")}, std::int8_t(-1)},
+//                 {{std::string(","), std::string(",")}, std::int8_t(0)},
+//                 {{std::string(","), std::string("")}, std::int8_t(1)},
+//                 {{std::string(","), Null()}, Null()},
+//                 {{std::string(","), std::string(",ABC,")}, std::int8_t(-1)},
+//                 {{std::string(","), std::string("123ABC!@# _")}, 
std::int8_t(-1)},
+//                 {{std::string(","), std::string("10@()*()$*!@")}, 
std::int8_t(-1)},
+//                 {{std::string(""), std::string("A")}, std::int8_t(-1)},
+//                 {{std::string(""), std::string(",")}, std::int8_t(-1)},
+//                 {{std::string(""), std::string("")}, std::int8_t(0)},
+//                 {{std::string(""), Null()}, Null()},
+//                 {{std::string(""), std::string(",ABC,")}, std::int8_t(-1)},
+//                 {{std::string(""), std::string("123ABC!@# _")}, 
std::int8_t(-1)},
+//                 {{std::string(""), std::string("10@()*()$*!@")}, 
std::int8_t(-1)},
+//                 {{Null(), std::string("A")}, Null()},
+//                 {{Null(), std::string(",")}, Null()},
+//                 {{Null(), std::string("")}, Null()},
+//                 {{Null(), Null()}, Null()},
+//                 {{Null(), std::string(",ABC,")}, Null()},
+//                 {{Null(), std::string("123ABC!@# _")}, Null()},
+//                 {{Null(), std::string("10@()*()$*!@")}, Null()},
+//                 {{std::string(",ABC,"), std::string("A")}, std::int8_t(-1)},
+//                 {{std::string(",ABC,"), std::string(",")}, std::int8_t(1)},
+//                 {{std::string(",ABC,"), std::string("")}, std::int8_t(1)},
+//                 {{std::string(",ABC,"), Null()}, Null()},
+//                 {{std::string(",ABC,"), std::string(",ABC,")}, 
std::int8_t(0)},
+//                 {{std::string(",ABC,"), std::string("123ABC!@# _")}, 
std::int8_t(-1)},
+//                 {{std::string(",ABC,"), std::string("10@()*()$*!@")}, 
std::int8_t(-1)},
+//                 {{std::string("123ABC!@# _"), std::string("A")}, 
std::int8_t(-1)},
+//                 {{std::string("123ABC!@# _"), std::string(",")}, 
std::int8_t(1)},
+//                 {{std::string("123ABC!@# _"), std::string("")}, 
std::int8_t(1)},
+//                 {{std::string("123ABC!@# _"), Null()}, Null()},
+//                 {{std::string("123ABC!@# _"), std::string(",ABC,")}, 
std::int8_t(1)},
+//                 {{std::string("123ABC!@# _"), std::string("123ABC!@# _")}, 
std::int8_t(0)},
+//                 {{std::string("123ABC!@# _"), std::string("10@()*()$*!@")}, 
std::int8_t(1)},
+//                 {{std::string("10@()*()$*!@"), std::string("A")}, 
std::int8_t(-1)},
+//                 {{std::string("10@()*()$*!@"), std::string(",")}, 
std::int8_t(1)},
+//                 {{std::string("10@()*()$*!@"), std::string("")}, 
std::int8_t(1)},
+//                 {{std::string("10@()*()$*!@"), Null()}, Null()},
+//                 {{std::string("10@()*()$*!@"), std::string(",ABC,")}, 
std::int8_t(1)},
+//                 {{std::string("10@()*()$*!@"), std::string("123ABC!@# _")}, 
std::int8_t(-1)},
+//                 {{std::string("10@()*()$*!@"), 
std::string("10@()*()$*!@")}, std::int8_t(0)},
+//         };
+//         static_cast<void>(
+//                 check_function_all_arg_comb<DataTypeInt8, true>(func_name, 
input_types, data_set));
+//     }
+// }
+//
+
+TEST(function_string_test, function_initcap) {
+    std::string func_name {"initcap"};
+
+    BaseInputTypeSet input_types = {TypeIndex::String};
+
+    DataSet data_set = {{{std::string("SKJ_ASD_SAD _1A")}, 
std::string("Skj_Asd_Sad _1a")},
+                        {{std::string("BC'S aaaaA'' 'S")}, std::string("Bc'S 
Aaaaa'' 'S")},
+                        {{std::string("NULL")}, std::string("Null")},
+                        {{Null()}, Null()},
+                        {{std::string("HELLO, WORLD!")}, std::string("Hello, 
World!")},
+                        {{std::string("HHHH+-1; asAAss__!")}, 
std::string("Hhhh+-1; Asaass__!")},
+                        {{std::string("a,B,C,D")}, std::string("A,B,C,D")}};
+
+    check_function_all_arg_comb<DataTypeString, true>(func_name, input_types, 
data_set);
+}
+
+TEST(function_string_test, function_lpad_test) {
+    std::string func_name = "lpad";
+
+    BaseInputTypeSet input_types = {TypeIndex::String, TypeIndex::Int32, 
TypeIndex::String};
+
+    DataSet data_set = {
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(1), 
std::string("__123hehe1")},
+             std::string("Y")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(1), std::string("")}, 
std::string("Y")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(1), 
std::string("ò&ø")}, std::string("Y")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(1), 
std::string("TVl0ZXN0U1RS")},
+             std::string("Y")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(1), Null()}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-1), 
std::string("__123hehe1")}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-1), std::string("")}, 
Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-1), 
std::string("ò&ø")}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-1), 
std::string("TVl0ZXN0U1RS")}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-1), Null()}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-100), 
std::string("__123hehe1")}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-100), 
std::string("")}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-100), 
std::string("ò&ø")}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-100), 
std::string("TVl0ZXN0U1RS")},
+             Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-100), Null()}, 
Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(0), 
std::string("__123hehe1")},
+             std::string("")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(0), std::string("")}, 
std::string("")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(0), 
std::string("ò&ø")}, std::string("")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(0), 
std::string("TVl0ZXN0U1RS")},
+             std::string("")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(0), Null()}, Null()},
+            {{std::string(""), std::int32_t(1), std::string("__123hehe1")}, 
std::string("_")},
+            // {{std::string(""), std::int32_t(1), std::string("")}, 
std::string("")},
+            // {{std::string(""), std::int32_t(1), std::string("ò&ø")}, 
std::string("ò")},
+            {{std::string(""), std::int32_t(1), std::string("TVl0ZXN0U1RS")}, 
std::string("T")},
+            {{std::string(""), std::int32_t(1), Null()}, Null()},
+            {{std::string(""), std::int32_t(-1), std::string("__123hehe1")}, 
Null()},
+            {{std::string(""), std::int32_t(-1), std::string("")}, Null()},
+            {{std::string(""), std::int32_t(-1), std::string("ò&ø")}, Null()},
+            {{std::string(""), std::int32_t(-1), std::string("TVl0ZXN0U1RS")}, 
Null()},
+            {{std::string(""), std::int32_t(-1), Null()}, Null()},
+            {{std::string(""), std::int32_t(-100), std::string("__123hehe1")}, 
Null()},
+            {{std::string(""), std::int32_t(-100), std::string("")}, Null()},
+            {{std::string(""), std::int32_t(-100), std::string("ò&ø")}, 
Null()},
+            {{std::string(""), std::int32_t(-100), 
std::string("TVl0ZXN0U1RS")}, Null()},
+            {{std::string(""), std::int32_t(-100), Null()}, Null()},
+            {{std::string(""), std::int32_t(0), std::string("__123hehe1")}, 
std::string("")},
+            {{std::string(""), std::int32_t(0), std::string("")}, 
std::string("")},
+            {{std::string(""), std::int32_t(0), std::string("ò&ø")}, 
std::string("")},
+            {{std::string(""), std::int32_t(0), std::string("TVl0ZXN0U1RS")}, 
std::string("")},
+            {{std::string(""), std::int32_t(0), Null()}, Null()},
+            {{std::string("ò&ø"), std::int32_t(1), std::string("__123hehe1")}, 
std::string("ò")},
+            {{std::string("ò&ø"), std::int32_t(1), std::string("")}, 
std::string("ò")},
+            {{std::string("ò&ø"), std::int32_t(1), std::string("ò&ø")}, 
std::string("ò")},
+            {{std::string("ò&ø"), std::int32_t(1), 
std::string("TVl0ZXN0U1RS")}, std::string("ò")},
+            {{std::string("ò&ø"), std::int32_t(1), Null()}, Null()},
+            {{std::string("ò&ø"), std::int32_t(-1), 
std::string("__123hehe1")}, Null()},
+            {{std::string("ò&ø"), std::int32_t(-1), std::string("")}, Null()},
+            {{std::string("ò&ø"), std::int32_t(-1), std::string("ò&ø")}, 
Null()},
+            {{std::string("ò&ø"), std::int32_t(-1), 
std::string("TVl0ZXN0U1RS")}, Null()},
+            {{std::string("ò&ø"), std::int32_t(-1), Null()}, Null()},
+            {{std::string("ò&ø"), std::int32_t(-100), 
std::string("__123hehe1")}, Null()},
+            {{std::string("ò&ø"), std::int32_t(-100), std::string("")}, 
Null()},
+            {{std::string("ò&ø"), std::int32_t(-100), std::string("ò&ø")}, 
Null()},
+            {{std::string("ò&ø"), std::int32_t(-100), 
std::string("TVl0ZXN0U1RS")}, Null()},
+            {{std::string("ò&ø"), std::int32_t(-100), Null()}, Null()},
+            {{std::string("ò&ø"), std::int32_t(0), std::string("__123hehe1")}, 
std::string("")},
+            {{std::string("ò&ø"), std::int32_t(0), std::string("")}, 
std::string("")},
+            {{std::string("ò&ø"), std::int32_t(0), std::string("ò&ø")}, 
std::string("")},
+            {{std::string("ò&ø"), std::int32_t(0), 
std::string("TVl0ZXN0U1RS")}, std::string("")},
+            {{std::string("ò&ø"), std::int32_t(0), Null()}, Null()},
+            {{std::string("TVl0ZXN0U1RS"), std::int32_t(1), 
std::string("__123hehe1")},
+             std::string("T")},
+            {{std::string("TVl0ZXN0U1RS"), std::int32_t(1), std::string("")}, 
std::string("T")},
+            {{std::string("TVl0ZXN0U1RS"), std::int32_t(1), 
std::string("ò&ø")}, std::string("T")},
+            {{std::string("TVl0ZXN0U1RS"), std::int32_t(1), 
std::string("TVl0ZXN0U1RS")},
+             std::string("T")},
+            {{std::string("TVl0ZXN0U1RS"), std::int32_t(1), Null()}, Null()},
+            {{std::string("TVl0ZXN0U1RS"), std::int32_t(-1), 
std::string("__123hehe1")}, Null()},
+            {{std::string("TVl0ZXN0U1RS"), std::int32_t(-1), std::string("")}, 
Null()},
+            {{std::string("TVl0ZXN0U1RS"), std::int32_t(-1), 
std::string("ò&ø")}, Null()},
+            {{std::string("TVl0ZXN0U1RS"), std::int32_t(-1), 
std::string("TVl0ZXN0U1RS")}, Null()},
+            {{std::string("TVl0ZXN0U1RS"), std::int32_t(-1), Null()}, Null()},
+            {{std::string("TVl0ZXN0U1RS"), std::int32_t(-100), 
std::string("__123hehe1")}, Null()},
+            {{std::string("TVl0ZXN0U1RS"), std::int32_t(-100), 
std::string("")}, Null()},
+            {{std::string("TVl0ZXN0U1RS"), std::int32_t(-100), 
std::string("ò&ø")}, Null()},
+            {{std::string("TVl0ZXN0U1RS"), std::int32_t(-100), 
std::string("TVl0ZXN0U1RS")},
+             Null()},
+            {{std::string("TVl0ZXN0U1RS"), std::int32_t(-100), Null()}, 
Null()},
+            {{std::string("TVl0ZXN0U1RS"), std::int32_t(0), 
std::string("__123hehe1")},
+             std::string("")},
+            {{std::string("TVl0ZXN0U1RS"), std::int32_t(0), std::string("")}, 
std::string("")},
+            {{std::string("TVl0ZXN0U1RS"), std::int32_t(0), 
std::string("ò&ø")}, std::string("")},
+            {{std::string("TVl0ZXN0U1RS"), std::int32_t(0), 
std::string("TVl0ZXN0U1RS")},
+             std::string("")},
+            {{std::string("TVl0ZXN0U1RS"), std::int32_t(0), Null()}, Null()},
+            {{Null(), std::int32_t(1), std::string("__123hehe1")}, Null()},
+            {{Null(), std::int32_t(1), std::string("")}, Null()},
+            {{Null(), std::int32_t(1), std::string("ò&ø")}, Null()},
+            {{Null(), std::int32_t(1), std::string("TVl0ZXN0U1RS")}, Null()},
+            {{Null(), std::int32_t(1), Null()}, Null()},
+            {{Null(), std::int32_t(-1), std::string("__123hehe1")}, Null()},
+            {{Null(), std::int32_t(-1), std::string("")}, Null()},
+            {{Null(), std::int32_t(-1), std::string("ò&ø")}, Null()},
+            {{Null(), std::int32_t(-1), std::string("TVl0ZXN0U1RS")}, Null()},
+            {{Null(), std::int32_t(-1), Null()}, Null()},
+            {{Null(), std::int32_t(-100), std::string("__123hehe1")}, Null()},
+            {{Null(), std::int32_t(-100), std::string("")}, Null()},
+            {{Null(), std::int32_t(-100), std::string("ò&ø")}, Null()},
+            {{Null(), std::int32_t(-100), std::string("TVl0ZXN0U1RS")}, 
Null()},
+            {{Null(), std::int32_t(-100), Null()}, Null()},
+            {{Null(), std::int32_t(0), std::string("__123hehe1")}, Null()},
+            {{Null(), std::int32_t(0), std::string("")}, Null()},
+            {{Null(), std::int32_t(0), std::string("ò&ø")}, Null()},
+            {{Null(), std::int32_t(0), std::string("TVl0ZXN0U1RS")}, Null()},
+            {{Null(), std::int32_t(0), Null()}, Null()},
+    };
+
+    check_function_all_arg_comb<DataTypeString, true>(func_name, input_types, 
data_set);
+}
+
+TEST(function_string_test, function_rpad_test) {
+    std::string func_name = "rpad";
+
+    BaseInputTypeSet input_types = {TypeIndex::String, TypeIndex::Int32, 
TypeIndex::String};
+
+    DataSet data_set = {
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(1), 
std::string("__123hehe1")},
+             std::string("Y")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(1), std::string("")}, 
std::string("Y")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(1), 
std::string("ò&ø")}, std::string("Y")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(1), 
std::string("TVl0ZXN0U1RS")},
+             std::string("Y")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(1), Null()}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-1), 
std::string("__123hehe1")}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-1), std::string("")}, 
Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-1), 
std::string("ò&ø")}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-1), 
std::string("TVl0ZXN0U1RS")}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-1), Null()}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-100), 
std::string("__123hehe1")}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-100), 
std::string("")}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-100), 
std::string("ò&ø")}, Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-100), 
std::string("TVl0ZXN0U1RS")},
+             Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(-100), Null()}, 
Null()},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(0), 
std::string("__123hehe1")},
+             std::string("")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(0), std::string("")}, 
std::string("")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(0), 
std::string("ò&ø")}, std::string("")},
+            {{std::string("YXNk5L2g5aW9"), std::int32_t(0), 
std::string("TVl0ZXN0U1RS")},
+             std::string("")},
+            // {{std::string("YXNk5L2g5aW9"), std::int32_t(0), Null()}, 
Null()},
+            // {{std::string(""), std::int32_t(1), std::string("__123hehe1")}, 
std::string("_")},
+            // {{std::string(""), std::int32_t(1), std::string("")}, 
std::string("")},
+            {{std::string(""), std::int32_t(1), std::string("ò&ø")}, 
std::string("ò")},
+            {{std::string(""), std::int32_t(1), std::string("TVl0ZXN0U1RS")}, 
std::string("T")},
+            {{std::string(""), std::int32_t(1), Null()}, Null()},

Review Comment:
   warning: function 'TEST' exceeds recommended size/complexity thresholds 
[readability-function-size]
   ```cpp
   _arg_comb<DataTypeString, true>(func_name, input_types, data_set);
                                                                         ^
   ```
   <details>
   <summary>Additional context</summary>
   
   **be/test/vec/function/function_string_test.cpp:2956:** 119 lines including 
whitespace and comments (threshold 80)
   ```cpp
   _arg_comb<DataTypeString, true>(func_name, input_types, data_set);
                                                                         ^
   ```
   
   </details>
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org


Reply via email to