summaryrefslogtreecommitdiff
path: root/libs/libmdbx/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'libs/libmdbx/src/test')
-rw-r--r--libs/libmdbx/src/test/CMakeLists.txt23
-rw-r--r--libs/libmdbx/src/test/base.h6
-rw-r--r--libs/libmdbx/src/test/osal-unix.cc4
-rw-r--r--libs/libmdbx/src/test/osal-windows.cc12
-rw-r--r--libs/libmdbx/src/test/pcrf/CMakeLists.txt5
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)
-