mirror of
https://github.com/apache/arrow.git
synced 2026-10-28 16:47:19 +08:00
Create tests for the gdv_fn_sha256_from_numeric function
This commit is contained in:
1 parent
513b9a05ac
commit
e01c9264a9
4 files changed
+21
-4
No files matched your search
@@ -40,6 +40,9 @@ endif()
|
||||
|
||||
add_definitions(-DGANDIVA_LLVM_VERSION=${LLVM_VERSION_MAJOR})
|
||||
|
||||
find_package(OpenSSL REQUIRED)
|
||||
set(GANDIVA_OPENSSL_LIBS OpenSSL::Crypto OpenSSL::SSL)
|
||||
|
||||
# Set the path where the bitcode file generated, see precompiled/CMakeLists.txt
|
||||
set(GANDIVA_PRECOMPILED_BC_PATH "${CMAKE_CURRENT_BINARY_DIR}/irhelpers.bc")
|
||||
set(GANDIVA_PRECOMPILED_CC_PATH "${CMAKE_CURRENT_BINARY_DIR}/precompiled_bitcode.cc")
|
||||
@@ -90,9 +93,9 @@ set(SRC_FILES
|
||||
random_generator_holder.cc
|
||||
${GANDIVA_PRECOMPILED_CC_PATH})
|
||||
|
||||
set(GANDIVA_SHARED_PRIVATE_LINK_LIBS arrow_shared LLVM::LLVM_INTERFACE)
|
||||
set(GANDIVA_SHARED_PRIVATE_LINK_LIBS arrow_shared LLVM::LLVM_INTERFACE ${GANDIVA_OPENSSL_LIBS})
|
||||
|
||||
set(GANDIVA_STATIC_LINK_LIBS arrow_static LLVM::LLVM_INTERFACE)
|
||||
set(GANDIVA_STATIC_LINK_LIBS arrow_static LLVM::LLVM_INTERFACE ${GANDIVA_OPENSSL_LIBS})
|
||||
|
||||
if(ARROW_GANDIVA_STATIC_LIBSTDCPP
|
||||
AND (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX))
|
||||
@@ -205,7 +208,7 @@ endfunction()
|
||||
|
||||
set(GANDIVA_INTERNALS_TEST_ARGUMENTS)
|
||||
if(WIN32)
|
||||
list(APPEND GANDIVA_INTERNALS_TEST_ARGUMENTS EXTRA_LINK_LIBS LLVM::LLVM_INTERFACE)
|
||||
list(APPEND GANDIVA_INTERNALS_TEST_ARGUMENTS EXTRA_LINK_LIBS LLVM::LLVM_INTERFACE ${GANDIVA_OPENSSL_LIBS})
|
||||
endif()
|
||||
add_gandiva_test(internals-test
|
||||
SOURCES
|
||||
@@ -229,6 +232,7 @@ add_gandiva_test(internals-test
|
||||
gdv_function_stubs_test.cc
|
||||
EXTRA_DEPENDENCIES
|
||||
LLVM::LLVM_INTERFACE
|
||||
${GANDIVA_OPENSSL_LIBS}
|
||||
EXTRA_INCLUDES
|
||||
$<TARGET_PROPERTY:LLVM::LLVM_INTERFACE,INTERFACE_INCLUDE_DIRECTORIES>
|
||||
${GANDIVA_INTERNALS_TEST_ARGUMENTS})
|
||||
|
||||
@@ -123,6 +123,7 @@ int32_t gdv_fn_populate_varlen_vector(int64_t context_ptr, int8_t* data_ptr,
|
||||
return 0;
|
||||
}
|
||||
|
||||
GANDIVA_EXPORT
|
||||
char* gdv_fn_sha256_from_numeric(int64_t context, double value){
|
||||
uint64_t value_as_long = gandiva::HashUtils::double_to_long(value);
|
||||
|
||||
|
||||
@@ -160,4 +160,16 @@ TEST(TestGdvFnStubs, TestCastFloat8) {
|
||||
ctx.Reset();
|
||||
}
|
||||
|
||||
TEST(TestGdvFnStubs, TestSha256Numeric) {
|
||||
gandiva::ExecutionContext ctx;
|
||||
|
||||
int64_t ctx_ptr = reinterpret_cast<int64_t>(&ctx);
|
||||
|
||||
char *zero_hash = gdv_fn_sha256_from_numeric(ctx_ptr, 0.0);
|
||||
|
||||
EXPECT_STRNE(zero_hash, "");
|
||||
|
||||
ctx.Reset();
|
||||
}
|
||||
|
||||
} // namespace gandiva
|
||||
@@ -8,7 +8,7 @@
|
||||
namespace gandiva {
|
||||
class GANDIVA_EXPORT HashUtils {
|
||||
public:
|
||||
static inline char *hash_using_SHA256(int64_t context, const void *message, size_t message_length);
|
||||
static char *hash_using_SHA256(int64_t context, const void *message, size_t message_length);
|
||||
|
||||
static uint64_t double_to_long(double value);
|
||||
private:
|
||||
|
||||
Reference in new issue
Block a user