diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 18:07:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 18:07:14 +0000 |
commit | a175314c3e5827eb193872241446f2f8f5c9d33c (patch) | |
tree | cd3d60ca99ae00829c52a6ca79150a5b6e62528b /storage/tokudb/PerconaFT/CTestCustom.cmake.in | |
parent | Initial commit. (diff) | |
download | mariadb-10.5-a175314c3e5827eb193872241446f2f8f5c9d33c.tar.xz mariadb-10.5-a175314c3e5827eb193872241446f2f8f5c9d33c.zip |
Adding upstream version 1:10.5.12.upstream/1%10.5.12upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'storage/tokudb/PerconaFT/CTestCustom.cmake.in')
-rw-r--r-- | storage/tokudb/PerconaFT/CTestCustom.cmake.in | 239 |
1 files changed, 239 insertions, 0 deletions
diff --git a/storage/tokudb/PerconaFT/CTestCustom.cmake.in b/storage/tokudb/PerconaFT/CTestCustom.cmake.in new file mode 100644 index 00000000..54170b2b --- /dev/null +++ b/storage/tokudb/PerconaFT/CTestCustom.cmake.in @@ -0,0 +1,239 @@ +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_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_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" + ) |