From 03f9ed88203ba7b4d13d26f711fd6b2f32eceffa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9B=D0=B5=D0=BE=D0=BD=D0=B8=D0=B4=20=D0=AE=D1=80=D1=8C?= =?UTF-8?q?=D0=B5=D0=B2=20=28Leonid=20Yuriev=29?= Date: Thu, 21 Apr 2022 19:49:57 +0300 Subject: [PATCH] mdbx-cmake: add a few smoke-like tests. --- CMakeLists.txt | 5 ++++- GNUmakefile | 2 +- test/CMakeLists.txt | 53 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 58 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a346fb9b..58ad38ce 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -112,7 +112,10 @@ else() endif() endif() -if(MDBX_AMALGAMATED_SOURCE AND DEFINED MDBX_ENABLE_TESTS AND MDBX_ENABLE_TESTS) +if(NOT MDBX_AMALGAMATED_SOURCE) + include(CTest) + option(MDBX_ENABLE_TESTS "Build libmdbx tests." ${BUILD_TESTING}) +elseif(DEFINED MDBX_ENABLE_TESTS AND MDBX_ENABLE_TESTS) message(WARNING "MDBX_ENABLE_TESTS=${MDBX_ENABLE_TESTS}: But amalgamated source code don't includes tests.") set(MDBX_ENABLE_TESTS OFF) endif() diff --git a/GNUmakefile b/GNUmakefile index 2ade41ec..b768a12c 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -392,7 +392,7 @@ smoke: build-test @echo ' SMOKE `mdbx_test basic`...' $(QUIET)rm -f $(TEST_DB) $(TEST_LOG).gz && (set -o pipefail; \ (./mdbx_test --table=+data.integer --keygen.split=29 --datalen.min=min --datalen.max=max --progress --console=no --repeat=$(TEST_ITER) --pathname=$(TEST_DB) --dont-cleanup-after $(MDBX_SMOKE_EXTRA) basic && \ - ./mdbx_test --mode=-writemap,-nosync-safe,-lifo --progress --console=no --repeat=12 --pathname=$(TEST_DB) --dont-cleanup-after $(MDBX_SMOKE_EXTRA) basic) \ + ./mdbx_test --mode=-writemap,-nosync-safe,-lifo --progress --console=no --repeat=$(TEST_ITER) --pathname=$(TEST_DB) --dont-cleanup-after $(MDBX_SMOKE_EXTRA) basic) \ | tee >(gzip --stdout >$(TEST_LOG).gz) | tail -n 42) \ && ./mdbx_chk -vvn $(TEST_DB) && ./mdbx_chk -vvn $(TEST_DB)-copy diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 53d816a2..6758887a 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -64,3 +64,56 @@ if(UNIX AND NOT SUBPROJECT) target_include_directories(pcrf_test PRIVATE "${PROJECT_SOURCE_DIR}") target_link_libraries(pcrf_test ${TOOL_MDBX_LIB}) endif() + +################################################################################ + +add_test(NAME smoke COMMAND ${MDBX_OUTPUT_DIR}/mdbx_test + --progress --console=no --pathname=smoke.db --dont-cleanup-after basic) +set_tests_properties(smoke PROPERTIES + TIMEOUT 600 + RUN_SERIAL OFF) +add_test(NAME smoke_chk COMMAND ${MDBX_OUTPUT_DIR}/mdbx_chk -nvv smoke.db) +set_tests_properties(smoke_chk PROPERTIES + DEPENDS smoke + TIMEOUT 60 + REQUIRED_FILES smoke.db) +add_test(NAME smoke_chk_copy COMMAND ${MDBX_OUTPUT_DIR}/mdbx_chk -nvv smoke.db-copy) +set_tests_properties(smoke_chk_copy PROPERTIES + DEPENDS smoke + TIMEOUT 60 + REQUIRED_FILES smoke.db-copy) + +add_test(NAME dupsort_writemap COMMAND ${MDBX_OUTPUT_DIR}/mdbx_test + --loglevel=notice + --table=+data.integer --keygen.split=29 --datalen.min=min --datalen.max=max --progress --console=no + --repeat=2 --pathname=dupsort_writemap.db --dont-cleanup-after basic) +set_tests_properties(dupsort_writemap PROPERTIES + TIMEOUT 600 + RUN_SERIAL OFF) +add_test(NAME dupsort_writemap_chk COMMAND ${MDBX_OUTPUT_DIR}/mdbx_chk -nvv dupsort_writemap.db) +set_tests_properties(dupsort_writemap_chk PROPERTIES + DEPENDS dupsort_writemap + TIMEOUT 60 + REQUIRED_FILES dupsort_writemap.db) +add_test(NAME dupsort_writemap_chk_copy COMMAND ${MDBX_OUTPUT_DIR}/mdbx_chk -nvv dupsort_writemap.db-copy) +set_tests_properties(dupsort_writemap_chk_copy PROPERTIES + DEPENDS dupsort_writemap + TIMEOUT 60 + REQUIRED_FILES dupsort_writemap.db-copy) + +add_test(NAME uniq_nested COMMAND ${MDBX_OUTPUT_DIR}/mdbx_test + --loglevel=notice + --mode=-writemap,-nosync-safe,-lifo --progress --console=no --repeat=2 --pathname=uniq_nested.db --dont-cleanup-after basic) +set_tests_properties(uniq_nested PROPERTIES + TIMEOUT 1800 + RUN_SERIAL OFF) +add_test(NAME uniq_nested_chk COMMAND ${MDBX_OUTPUT_DIR}/mdbx_chk -nvv uniq_nested.db) +set_tests_properties(uniq_nested_chk PROPERTIES + DEPENDS uniq_nested + TIMEOUT 60 + REQUIRED_FILES uniq_nested.db) +add_test(NAME uniq_nested_chk_copy COMMAND ${MDBX_OUTPUT_DIR}/mdbx_chk -nvv uniq_nested.db-copy) +set_tests_properties(uniq_nested_chk_copy PROPERTIES + DEPENDS uniq_nested + TIMEOUT 60 + REQUIRED_FILES uniq_nested.db-copy)