Create tests for the gdv_fn_sha256_from_numeric function

This commit is contained in:
Anthony Louis committed 2021-04-09 19:34:23 -03:00
1 parent 513b9a05ac
commit e01c9264a9
4 files changed
+21 -4

No files matched your search

+7 -3
View File
@@ -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})
+1
View File
@@ -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
+1 -1
View File
@@ -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: