mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
241 lines
7.1 KiB
CMake
241 lines
7.1 KiB
CMake
cmake_policy(SET CMP0012 NEW)
|
|
|
|
## these tests shouldn't run with valgrind
|
|
list(APPEND CTEST_CUSTOM_MEMCHECK_IGNORE
|
|
ft/bnc-insert-benchmark
|
|
ft/ft_loader-test-extractor-1
|
|
ft/ft_loader-test-extractor-2
|
|
ft/ft_loader-test-extractor-3
|
|
ft/upgrade_test_simple
|
|
portability/test-cache-line-boundary-fails
|
|
portability/try-leak-lost
|
|
portability/try-leak-reachable
|
|
portability/try-leak-uninit
|
|
util/helgrind_test_circular_buffer
|
|
util/helgrind_test_partitioned_counter
|
|
util/helgrind_test_partitioned_counter_5833
|
|
ydb/diskfull.tdb
|
|
ydb/drd_test_4015.tdb
|
|
ydb/drd_test_groupcommit_count.tdb
|
|
ydb/filesize.tdb
|
|
ydb/helgrind_helgrind1.tdb
|
|
ydb/helgrind_helgrind2.tdb
|
|
ydb/helgrind_helgrind3.tdb
|
|
ydb/helgrind_test_groupcommit_count.tdb
|
|
ydb/hot-optimize-table-tests.tdb
|
|
ydb/insert-dup-prelock.tdb
|
|
ydb/loader-cleanup-test2.tdb
|
|
ydb/loader-cleanup-test3.tdb
|
|
ydb/loader-stress-test4.tdb
|
|
ydb/maxsize-for-loader-B.tdb
|
|
ydb/openlimit17.tdb
|
|
ydb/openlimit17-locktree.tdb
|
|
ydb/preload-db-nested.tdb
|
|
ydb/stress-gc.tdb
|
|
ydb/stress-gc2.tdb
|
|
ydb/stress-test.tdb
|
|
ydb/test-5138.tdb
|
|
ydb/test-prepare.tdb
|
|
ydb/test-prepare2.tdb
|
|
ydb/test-prepare3.tdb
|
|
ydb/test-recover1.tdb
|
|
ydb/test-recover2.tdb
|
|
ydb/test-recover3.tdb
|
|
ydb/test-xa-prepare.tdb
|
|
ydb/test4573-logtrim.tdb
|
|
ydb/test_3645.tdb
|
|
ydb/test_groupcommit_perf.tdb
|
|
ydb/test_large_update_broadcast_small_cachetable.tdb
|
|
ydb/test_update_broadcast_stress.tdb
|
|
ydb/test_update_stress.tdb
|
|
ydb/upgrade-test-4.tdb
|
|
)
|
|
|
|
if (NOT @RUN_HELGRIND_TESTS@)
|
|
list(APPEND CTEST_CUSTOM_TESTS_IGNORE
|
|
util/helgrind_test_circular_buffer
|
|
util/helgrind_test_partitioned_counter
|
|
util/helgrind_test_partitioned_counter_5833
|
|
ydb/helgrind_helgrind1.tdb
|
|
ydb/helgrind_helgrind2.tdb
|
|
ydb/helgrind_helgrind3.tdb
|
|
ydb/helgrind_test_groupcommit_count.tdb
|
|
)
|
|
endif ()
|
|
|
|
if (NOT @RUN_DRD_TESTS@)
|
|
list(APPEND CTEST_CUSTOM_TESTS_IGNORE
|
|
ydb/drd_test_groupcommit_count.tdb
|
|
ydb/drd_test_4015.tdb
|
|
)
|
|
endif ()
|
|
|
|
## osx's pthreads prefer writers, so this test will deadlock
|
|
if (@CMAKE_SYSTEM_NAME@ STREQUAL Darwin)
|
|
list(APPEND CTEST_CUSTOM_MEMCHECK_IGNORE portability/test-pthread-rwlock-rwr)
|
|
list(APPEND CTEST_CUSTOM_TESTS_IGNORE portability/test-pthread-rwlock-rwr)
|
|
endif ()
|
|
|
|
## tests that are supposed to crash will generate memcheck failures
|
|
set(tests_that_should_fail
|
|
ft/test-assertA
|
|
ft/test-assertB
|
|
portability/try-assert-zero
|
|
portability/try-assert0
|
|
ydb/recover-missing-dbfile-2.abortrecover
|
|
ydb/recover-missing-dbfile.abortrecover
|
|
ydb/test_db_no_env.tdb
|
|
ydb/test_truncate_txn_abort.tdb
|
|
)
|
|
list(APPEND CTEST_CUSTOM_MEMCHECK_IGNORE ${tests_that_should_fail})
|
|
|
|
## don't run drd stress tests with valgrind either (because that would do valgrind twice)
|
|
set(stress_tests
|
|
test_stress0.tdb
|
|
test_stress1.tdb
|
|
test_stress2.tdb
|
|
test_stress3.tdb
|
|
test_stress4.tdb
|
|
test_stress5.tdb
|
|
test_stress6.tdb
|
|
test_stress7.tdb
|
|
test_stress_hot_indexing.tdb
|
|
test_stress_openclose.tdb
|
|
test_stress_with_verify.tdb
|
|
)
|
|
foreach(test ${stress_tests})
|
|
list(APPEND CTEST_CUSTOM_MEMCHECK_IGNORE
|
|
ydb/drd_tiny_${test}
|
|
ydb/drd_mid_${test}
|
|
ydb/drd_large_${test}
|
|
)
|
|
if(NOT @RUN_LONG_TESTS@)
|
|
list(APPEND CTEST_CUSTOM_TESTS_IGNORE
|
|
ydb/drd_large_${test}
|
|
)
|
|
endif()
|
|
if (NOT @RUN_DRD_TESTS@)
|
|
list(APPEND CTEST_CUSTOM_TESTS_IGNORE
|
|
ydb/drd_tiny_${test}
|
|
ydb/drd_mid_${test}
|
|
ydb/drd_large_${test}
|
|
)
|
|
endif ()
|
|
endforeach(test)
|
|
|
|
## upgrade stress tests are 5 minutes long, don't need to run them always
|
|
if(NOT @RUN_LONG_TESTS@)
|
|
foreach(test ${stress_tests})
|
|
if (NOT ${test} MATCHES test_stress_openclose)
|
|
foreach(oldver 4.2.0 5.0.8 5.2.7 6.0.0 6.1.0 6.5.1 6.6.3)
|
|
foreach(p_or_s pristine stressed)
|
|
if (NOT (${test} MATCHES test_stress4 AND ${p_or_s} MATCHES stressed))
|
|
foreach(size 2000)
|
|
list(APPEND CTEST_CUSTOM_TESTS_IGNORE ydb/${test}/upgrade/${oldver}/${p_or_s}/${size})
|
|
endforeach(size)
|
|
endif ()
|
|
endforeach(p_or_s)
|
|
endforeach(oldver)
|
|
endif ()
|
|
endforeach(test)
|
|
endif()
|
|
|
|
set(tdb_tests_that_should_fail "ydb/${stress_tests}")
|
|
string(REGEX REPLACE ";" ";ydb/" stress_tests "${stress_tests}")
|
|
|
|
set(recover_stress_tests
|
|
ydb/recover-test_stress1.abortrecover
|
|
ydb/recover-test_stress2.abortrecover
|
|
ydb/recover-test_stress3.abortrecover
|
|
ydb/recover-test_stress_openclose.abortrecover
|
|
)
|
|
|
|
## we run stress tests separately, only run them if asked to
|
|
if(NOT @RUN_STRESS_TESTS@)
|
|
list(APPEND CTEST_CUSTOM_MEMCHECK_IGNORE ${stress_tests} ${recover_stress_tests})
|
|
list(APPEND CTEST_CUSTOM_TESTS_IGNORE ${stress_tests} ${recover_stress_tests})
|
|
endif()
|
|
|
|
set(perf_tests
|
|
ydb/perf_checkpoint_var.tdb
|
|
ydb/perf_cursor_nop.tdb
|
|
ydb/perf_malloc_free.tdb
|
|
ydb/perf_nop.tdb
|
|
ydb/perf_ptquery.tdb
|
|
ydb/perf_ptquery2.tdb
|
|
ydb/perf_read_write.tdb
|
|
ydb/perf_xmalloc_free.tdb
|
|
)
|
|
|
|
## we also don't need to run perf tests every time
|
|
if(NOT @RUN_PERF_TESTS@)
|
|
list(APPEND CTEST_CUSTOM_MEMCHECK_IGNORE ${perf_tests})
|
|
list(APPEND CTEST_CUSTOM_TESTS_IGNORE ${perf_tests})
|
|
endif()
|
|
|
|
## don't run perf tests with valgrind (that's slow)
|
|
file(GLOB perf_test_srcs RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/src/tests" perf_*.cc)
|
|
string(REGEX REPLACE "\\.cc(;|$)" ".tdb\\1" perf_tests "${perf_test_srcs}")
|
|
set(tdb_tests_that_should_fail "ydb/${perf_tests}")
|
|
string(REGEX REPLACE ";" ";ydb/" perf_tests "${perf_tests}")
|
|
list(APPEND CTEST_CUSTOM_MEMCHECK_IGNORE ${perf_tests})
|
|
|
|
## these tests fail often and aren't helpful
|
|
set(known_failing_tests
|
|
ydb/diskfull.tdb
|
|
)
|
|
list(APPEND CTEST_CUSTOM_MEMCHECK_IGNORE ${known_failing_tests})
|
|
list(APPEND CTEST_CUSTOM_TESTS_IGNORE ${known_failing_tests})
|
|
|
|
## these tests take a long time, only run them if asked to
|
|
set(long_running_tests
|
|
ft/is_empty
|
|
ft/upgrade_test_simple
|
|
ydb/checkpoint_1.tdb
|
|
ydb/checkpoint_stress.tdb
|
|
ydb/hotindexer-with-queries.tdb
|
|
ydb/hot-optimize-table-tests.tdb
|
|
ydb/loader-cleanup-test0.tdb
|
|
ydb/loader-cleanup-test0z.tdb
|
|
ydb/loader-cleanup-test2.tdb
|
|
ydb/loader-cleanup-test2z.tdb
|
|
ydb/loader-stress-test4.tdb
|
|
ydb/loader-stress-test4z.tdb
|
|
ydb/manyfiles.tdb
|
|
ydb/preload-db-nested.tdb
|
|
ydb/recover_stress.tdb
|
|
ydb/root_fifo_1.tdb
|
|
ydb/root_fifo_2.tdb
|
|
ydb/root_fifo_31.tdb
|
|
ydb/root_fifo_32.tdb
|
|
ydb/stress-gc.tdb
|
|
ydb/stress-test.tdb
|
|
ydb/test3529.tdb
|
|
ydb/test_logmax.tdb
|
|
ydb/test_txn_nested2.tdb
|
|
ydb/test_update_broadcast_stress.tdb
|
|
ydb/test_update_stress.tdb
|
|
)
|
|
if(NOT @RUN_LONG_TESTS@)
|
|
list(APPEND CTEST_CUSTOM_MEMCHECK_IGNORE ${long_running_tests})
|
|
list(APPEND CTEST_CUSTOM_TESTS_IGNORE ${long_running_tests})
|
|
endif()
|
|
|
|
## ignore log_print.cc in coverage report
|
|
list(APPEND CTEST_CUSTOM_COVERAGE_EXCLUDE "log_print.cc")
|
|
|
|
list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
|
|
# don't complain about warnings in xz source
|
|
"xz-4.999.9beta/src/liblzma"
|
|
# don't complain about clang missing warnings from xz code
|
|
"clang: warning: unknown warning option"
|
|
# don't complain about warnings in jemalloc source
|
|
"jemalloc/src"
|
|
"jemalloc/internal"
|
|
# don't complain about valgrind headers leaving things unused
|
|
"valgrind/valgrind.h"
|
|
"valgrind/memcheck.h"
|
|
# don't complain about ranlib or libtool on empty archive
|
|
"has no symbols"
|
|
"the table of contents is empty"
|
|
)
|