diff options
Diffstat (limited to 'libs/libmdbx/src/test')
-rw-r--r-- | libs/libmdbx/src/test/CMakeLists.txt | 23 | ||||
-rw-r--r-- | libs/libmdbx/src/test/base.h | 6 | ||||
-rw-r--r-- | libs/libmdbx/src/test/osal-unix.cc | 4 | ||||
-rw-r--r-- | libs/libmdbx/src/test/osal-windows.cc | 12 | ||||
-rw-r--r-- | libs/libmdbx/src/test/pcrf/CMakeLists.txt | 5 |
5 files changed, 19 insertions, 31 deletions
diff --git a/libs/libmdbx/src/test/CMakeLists.txt b/libs/libmdbx/src/test/CMakeLists.txt index 0cc22182c9..2014cb57fa 100644 --- a/libs/libmdbx/src/test/CMakeLists.txt +++ b/libs/libmdbx/src/test/CMakeLists.txt @@ -1,9 +1,3 @@ -if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") - set(TEST_OSAL windows) -else() - set(TEST_OSAL unix) -endif() - add_executable(mdbx_test base.h cases.cc @@ -21,7 +15,8 @@ add_executable(mdbx_test log.h main.cc osal.h - osal-${TEST_OSAL}.cc + osal-unix.cc + osal-windows.cc test.cc test.h try.cc @@ -35,19 +30,15 @@ add_executable(mdbx_test set_target_properties(mdbx_test PROPERTIES INTERPROCEDURAL_OPTIMIZATION $<BOOL:${INTERPROCEDURAL_OPTIMIZATION}> CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON) +target_setup_options(mdbx_test) -if(CC_HAS_FASTMATH) - target_compile_options(mdbx_test PRIVATE "-ffast-math") -endif() -if(CC_HAS_VISIBILITY AND (LTO_ENABLED OR INTERPROCEDURAL_OPTIMIZATION)) - set_target_properties(mdbx_test PROPERTIES LINK_FLAGS "-fvisibility=hidden") -endif() - -target_link_libraries(mdbx_test mdbx ${LIB_MATH} ${CMAKE_THREAD_LIBS_INIT}) +target_link_libraries(mdbx_test ${TOOL_MDBX_LIB} ${LIB_MATH} ${CMAKE_THREAD_LIBS_INIT}) if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") target_link_libraries(mdbx_test winmm.lib) endif() if(UNIX AND NOT SUBPROJECT) - add_subdirectory(pcrf) + add_executable(pcrf_test pcrf/pcrf_test.c) + target_include_directories(pcrf_test PRIVATE "${PROJECT_SOURCE_DIR}") + target_link_libraries(pcrf_test ${TOOL_MDBX_LIB}) endif() diff --git a/libs/libmdbx/src/test/base.h b/libs/libmdbx/src/test/base.h index 01cf171455..7fc6cac68c 100644 --- a/libs/libmdbx/src/test/base.h +++ b/libs/libmdbx/src/test/base.h @@ -84,14 +84,14 @@ #define MDBX_INTERNAL_VAR extern #define MDBX_TOOLS /* Avoid using internal mdbx_assert() */ #include "../mdbx.h" -#include "../src/elements/defs.h" -#include "../src/elements/osal.h" +#include "../src/defs.h" +#include "../src/osal.h" #if !defined(__thread) && (defined(_MSC_VER) || defined(__DMC__)) #define __thread __declspec(thread) #endif /* __thread */ -#include "../src/elements/options.h" +#include "../src/options.h" #ifdef _MSC_VER #pragma warning(pop) diff --git a/libs/libmdbx/src/test/osal-unix.cc b/libs/libmdbx/src/test/osal-unix.cc index edc3e91a48..dc0774063a 100644 --- a/libs/libmdbx/src/test/osal-unix.cc +++ b/libs/libmdbx/src/test/osal-unix.cc @@ -14,6 +14,8 @@ #include "test.h" +#if !(defined(_WIN32) || defined(_WIN64)) + #include <pthread.h> #include <signal.h> #include <sys/mman.h> @@ -529,3 +531,5 @@ std::string osal_tempdir(void) { int osal_removefile(const std::string &pathname) { return unlink(pathname.c_str()) ? errno : MDBX_SUCCESS; } + +#endif /* !Windows */ diff --git a/libs/libmdbx/src/test/osal-windows.cc b/libs/libmdbx/src/test/osal-windows.cc index 6de674651b..9bde047a2c 100644 --- a/libs/libmdbx/src/test/osal-windows.cc +++ b/libs/libmdbx/src/test/osal-windows.cc @@ -1,5 +1,5 @@ /* - * Copyright 2017-2019 Leonid Yuriev <leo@yuriev.ru> + * Copyright 2017-2020 Leonid Yuriev <leo@yuriev.ru> * and other libmdbx authors: please see AUTHORS file. * All rights reserved. * @@ -14,6 +14,8 @@ #include "test.h" +#if defined(_WIN32) || defined(_WIN64) + static std::unordered_map<unsigned, HANDLE> events; static HANDLE hBarrierSemaphore, hBarrierEvent; static HANDLE hProgressActiveEvent, hProgressPassiveEvent; @@ -422,16 +424,10 @@ void osal_udelay(unsigned us) { static unsigned threshold_us; if (threshold_us == 0) { -#if 1 unsigned timeslice_ms = 1; while (timeBeginPeriod(timeslice_ms) == TIMERR_NOCANDO) ++timeslice_ms; threshold_us = timeslice_ms * 1500u; -#else - ULONGLONG InterruptTimePrecise_100ns; - QueryInterruptTimePrecise(&InterruptTimePrecise_100ns); - threshold_us = InterruptTimePrecise_100ns / 5; -#endif assert(threshold_us > 0); } @@ -459,3 +455,5 @@ std::string osal_tempdir(void) { int osal_removefile(const std::string &pathname) { return DeleteFileA(pathname.c_str()) ? MDBX_SUCCESS : GetLastError(); } + +#endif /* Windows */ diff --git a/libs/libmdbx/src/test/pcrf/CMakeLists.txt b/libs/libmdbx/src/test/pcrf/CMakeLists.txt deleted file mode 100644 index 8bd3e3d859..0000000000 --- a/libs/libmdbx/src/test/pcrf/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -set(TARGET pcrf_test) -add_executable(${TARGET} pcrf_test.c) -target_include_directories(${TARGET} PRIVATE "${PROJECT_SOURCE_DIR}") -target_link_libraries(${TARGET} mdbx) - |