set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS _GNU_SOURCE) if(BUILD_TESTING) file(GLOB transparent_upgrade_srcs RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" upgrade*.c) file(GLOB tdb_dontrun_srcs RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" bdb-simple-deadlock*.c) string(REGEX REPLACE "\\.c(;|$)" "\\1" tdb_dontrun_tests "${tdb_dontrun_srcs}") file(GLOB srcs RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" *.c) list(REMOVE_ITEM srcs ${transparent_upgrade_srcs}) set(recover_srcs test_log2.c test_log3.c test_log4.c test_log5.c test_log6.c test_log7.c test_log8.c test_log9.c test_log10.c) file(GLOB abortrecover_srcs RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" recover-*.c) file(GLOB loader_srcs RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" loader-*.c) file(GLOB stress_test_srcs RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" test_stress*.c) string(REGEX REPLACE "\\.c(;|$)" ".recover\\1" recover_tests "${recover_srcs}") string(REGEX REPLACE "\\.c(;|$)" ".abortrecover\\1" abortrecover_tests "${abortrecover_srcs}") string(REGEX REPLACE "\\.c(;|$)" ".loader\\1" loader_tests "${loader_srcs}") string(REGEX REPLACE "\\.c(;|$)" ".tdb\\1" stress_tests "${stress_test_srcs}") set(tdb_srcs ${srcs}) list(REMOVE_ITEM tdb_srcs ${tdb_dontrun_srcs}) string(REGEX REPLACE "\\.c(;|$)" ".tdb\\1" tdb_bins "${tdb_srcs}") list(REMOVE_ITEM tdb_srcs ${abortrecover_srcs} ${loader_srcs}) string(REGEX REPLACE "\\.c(;|$)" ".tdb\\1" tdb_tests "${tdb_srcs}") if(BDB_FOUND) set(bdb_dontrun_srcs backwards_10_each_le_and_msg.c blocking-prelock-range.c blocking-set-range-reverse-0.c blocking-table-lock.c bug1381.c bug627.c cachetable-race.c checkpoint_1.c checkpoint_callback.c checkpoint_stress.c cursor-isolation.c cursor-set-del-rmw.c cursor-set-range-rmw.c db-put-simple-deadlock.c del-simple.c del-multiple.c del-multiple-huge-primary-row.c del-multiple-srcdb.c directory_lock.c diskfull.c env-put-multiple.c env_startup.c execute-updates.c filesize.c helgrind1.c helgrind2.c helgrind3.c hotindexer-bw.c hotindexer-error-callback.c hotindexer-insert-committed-optimized.c hotindexer-insert-committed.c hotindexer-insert-provisional.c hotindexer-lock-test.c hotindexer-multiclient.c hotindexer-nested-insert-committed.c hotindexer-put-abort.c hotindexer-put-commit.c hotindexer-put-multiple.c hotindexer-simple-abort.c hotindexer-simple-abort-put.c hotindexer-undo-do-test.c hotindexer-with-queries.c hot-optimize-table-tests.c insert-dup-prelock.c isolation.c isolation-read-committed.c keyrange.c keyrange-merge.c last-verify-time.c loader-cleanup-test.c loader-create-abort.c loader-create-close.c loader-dup-test.c loader-no-puts.c loader-reference-test.c loader-stress-del.c loader-stress-test.c loader-tpch-load.c lock-pressure.c manyfiles.c maxsize-for-loader.c multiprocess.c mvcc-create-table.c mvcc-many-committed.c perf_checkpoint_var.c perf_cursor_nop.c perf_malloc_free.c perf_nop.c perf_ptquery.c perf_ptquery2.c perf_xmalloc_free.c prelock-read-read.c prelock-read-write.c prelock-write-read.c prelock-write-write.c print_engine_status.c powerfail.c preload-db.c preload-db-nested.c progress.c put-multiple.c queries_with_deletes.c recover-2483.c recover-3113.c recover-compare-db.c recover-compare-db-descriptor.c recover-del-multiple.c recover-del-multiple-abort.c recover-del-multiple-srcdb-fdelete-all.c recover-delboth-after-checkpoint.c recover-delboth-checkpoint.c recover-descriptor.c recover-descriptor2.c recover-descriptor3.c recover-descriptor4.c recover-descriptor5.c recover-descriptor6.c recover-descriptor7.c recover-descriptor8.c recover-descriptor9.c recover-descriptor10.c recover-descriptor11.c recover-descriptor12.c recover-fclose-in-checkpoint.c recover-fcreate-basementnodesize.c recover-flt1.c recover-flt2.c recover-flt3.c recover-flt4.c recover-flt5.c recover-flt6.c recover-flt7.c recover-flt8.c recover-flt9.c recover-flt10.c recover-hotindexer-simple-abort-put.c recover-loader-test.c recover-lsn-filter-multiple.c recover-put-multiple.c recover-put-multiple-abort.c recover-put-multiple-fdelete-all.c recover-put-multiple-fdelete-some.c recover-put-multiple-srcdb-fdelete-all.c recover-split-checkpoint.c recover-tablelock.c recover-test-logsuppress.c recover-test-logsuppress-put.c recover-test_stress1.c recover-test_stress2.c recover-test_stress3.c recover-upgrade-db-descriptor-multihandle.c recover-upgrade-db-descriptor.c recover-update-multiple.c recover-update-multiple-abort.c recover-update_aborts.c recover-update_aborts_before_checkpoint.c recover-update_aborts_before_close.c recover-update_changes_values.c recover-update_changes_values_before_checkpoint.c recover-update_changes_values_before_close.c recover-update_broadcast_aborts.c recover-update_broadcast_aborts2.c recover-update_broadcast_aborts3.c recover-update_broadcast_aborts_before_checkpoint.c recover-update_broadcast_aborts_before_close.c recover-update_broadcast_changes_values.c recover-update_broadcast_changes_values2.c recover-update_broadcast_changes_values3.c recover-update_broadcast_changes_values_before_checkpoint.c recover-update_broadcast_changes_values_before_close.c recover-update_changes_values_before_close.c recovery_fileops_stress.c recovery_fileops_unit.c recovery_stress.c redirect.c replace-into-write-lock.c root_fifo_2.c root_fifo_32.c root_fifo_41.c shutdown-3344.c stat64.c stat64-create-modify-times.c stat64_flatten.c stat64-null-txn.c stat64-root-changes.c stress-gc.c test-xa-prepare.c test1324.c test1572.c test3219.c test3522.c test3522b.c test3529.c test938c.c test_3645.c test_3529_insert_2.c test_3529_table_lock.c test_3755.c test_4015.c test_4368.c test_4657.c test_5015.c test_abort1.c test_abort4.c test_abort5.c test_blobs_leaf_split.c test_bulk_fetch.c test_compression_methods.c test_cmp_descriptor.c test_cursor_delete_2119.c test_db_descriptor.c test_db_descriptor_named_db.c test_db_txn_locks_read_uncommitted.c test_dupsort_get_both_range_reverse.c test_dupsort_set_range_reverse.c test_get_max_row_size.c test_large_update_broadcast_small_cachetable.c test_logflush.c test_multiple_checkpoints_block_commit.c test_query.c test_rand_insert_mult_db.c test_redirect_func.c test_row_size_supported.c test_stress1.c test_stress2.c test_stress3.c test_stress4.c test_stress5.c test_stress6.c test_stress7.c test_stress_with_verify.c test_transactional_descriptor.c test_trans_desc_during_chkpt.c test_trans_desc_during_chkpt2.c test_trans_desc_during_chkpt3.c test_trans_desc_during_chkpt4.c test_txn_abort6.c test_txn_abort8.c test_txn_abort9.c test_txn_close_open_commit.c test_txn_commit8.c test_txn_nested1.c test_txn_nested2.c test_txn_nested3.c test_txn_nested4.c test_txn_nested5.c test_update_abort_works.c test_update_calls_back.c test_update_can_delete_elements.c test_update_changes_values.c test_update_nonexistent_keys.c test_update_previously_deleted.c test_update_stress.c test_update_txn_snapshot_works_concurrently.c test_update_txn_snapshot_works_correctly_with_deletes.c test_update_broadcast_abort_works.c test_update_broadcast_calls_back.c test_update_broadcast_can_delete_elements.c test_update_broadcast_changes_values.c test_update_broadcast_previously_deleted.c test_update_broadcast_stress.c test_update_broadcast_update_fun_has_choices.c test_update_broadcast_with_empty_table.c test_update_broadcast_indexer.c test_update_broadcast_loader.c test_update_broadcast_nested_updates.c test_update_nested_updates.c test_update_with_empty_table.c txn-ignore.c transactional_fileops.c update-multiple-data-diagonal.c update-multiple-key0.c update-multiple-nochange.c update-multiple-with-indexer.c update.c upgrade_simple.c upgrade-test-1.c upgrade-test-2.c upgrade-test-3.c upgrade-test-4.c upgrade-test-5.c upgrade-test-6.c upgrade-test-7.c zombie_db.c ) set(bdb_srcs ${srcs}) list(REMOVE_ITEM bdb_srcs ${bdb_dontrun_srcs}) string(REGEX REPLACE "\\.c(;|$)" ".bdb\\1" bdb_tests "${bdb_srcs}") set(bdb_bins ${bdb_tests}) endif() set(tdb_tests_that_should_fail test_db_no_env.tdb test_log8.recover test_log9.recover test_log10.recover recover-missing-dbfile.abortrecover recover-missing-dbfile-2.abortrecover recover-dbopen-eclose.abortrecover loader-tpch-load.loader ) foreach(bin ${tdb_bins}) get_filename_component(base ${bin} NAME_WE) set(src ${base}.c) add_executable(${base}.tdb ${src}) target_link_libraries(${base}.tdb ${LIBTOKUDB} ${LIBTOKUPORTABILITY}) set_property(TARGET ${base}.tdb APPEND PROPERTY COMPILE_DEFINITIONS "ENVDIR=\"dir.${src}.tdb\";USE_TDB;IS_TDB;TOKUDB=1") set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "dir.${src}.tdb") endforeach(bin) if(BDB_FOUND) foreach(bin ${bdb_bins}) get_filename_component(base ${bin} NAME_WE) set(src ${base}.c) add_executable(${base}.bdb ${src}) set_property(TARGET ${base}.bdb APPEND PROPERTY COMPILE_DEFINITIONS "ENVDIR=\"dir.${src}.bdb\";USE_BDB;IS_TDB=0;TOKU_ALLOW_DEPRECATED") set_target_properties(${base}.bdb PROPERTIES INCLUDE_DIRECTORIES "${BDB_INCLUDE_DIR};${CMAKE_CURRENT_BINARY_DIR}/../../toku_include;${CMAKE_CURRENT_SOURCE_DIR}/../../toku_include;${CMAKE_CURRENT_SOURCE_DIR}/../../portability;${CMAKE_CURRENT_SOURCE_DIR}/../..") target_link_libraries(${base}.bdb ${LIBTOKUPORTABILITY} ${BDB_LIBRARIES}) set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "dir.${src}.bdb") endforeach(bin) endif() foreach(bin loader-cleanup-test.tdb diskfull.tdb) set_property(TARGET ${bin} APPEND PROPERTY COMPILE_DEFINITIONS DONT_DEPRECATE_WRITES) endforeach(bin) macro(declare_custom_tests) foreach(test ${ARGN}) list(REMOVE_ITEM tdb_tests ${test}) endforeach(test) endmacro(declare_custom_tests) function(add_custom_executable prefix binary source) add_executable(${prefix}_${binary} ${source}) target_link_libraries(${prefix}_${binary} ${LIBTOKUDB} ${LIBTOKUPORTABILITY}) set_target_properties(${prefix}_${binary} PROPERTIES COMPILE_DEFINITIONS "ENVDIR=\"dir.${prefix}_${source}.tdb\";USE_TDB;IS_TDB") set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "dir.${prefix}_${source}.tdb") endfunction(add_custom_executable) declare_custom_tests(test1426.tdb) if(BDB_FOUND) macro(declare_custom_bdb_tests) foreach(test ${ARGN}) list(REMOVE_ITEM bdb_tests ${test}) endforeach(test) endmacro(declare_custom_bdb_tests) declare_custom_bdb_tests(test1426.bdb) configure_file(run_test1426.sh . COPYONLY) add_test(NAME test1426.tdb COMMAND run_test1426.sh $<TARGET_FILE:test1426.tdb> $<TARGET_FILE:test1426.bdb> $<TARGET_FILE:tokudb_dump> "${BDBDIR}/bin/db_dump" test1426.bdbdump/dump.bdb.1426) add_dependencies(test1426.tdb tokudb_dump) endif() string(REGEX REPLACE "\\.c(;|$)" ".tdb\\1" recover_would_be_tdb_tests "${recover_srcs}") declare_custom_tests(${recover_would_be_tdb_tests}) declare_custom_tests(powerfail.tdb) add_test(powerfail.tdb echo must run powerfail by hand) declare_custom_tests(checkpoint_stress.tdb) configure_file(run_checkpoint_stress_test.sh . COPYONLY) add_test(NAME checkpoint_stress.tdb COMMAND run_checkpoint_stress_test.sh $<TARGET_FILE:checkpoint_stress.tdb> 5 5001 137) declare_custom_tests(recover_stress.tdb) add_custom_executable(recover stress.tdb checkpoint_stress.c) configure_file(run_recover_stress_test.sh . COPYONLY) add_test(NAME recover_stress.tdb COMMAND run_recover_stress_test.sh $<TARGET_FILE:recover_stress.tdb> 5 5001 137) declare_custom_tests(diskfull.tdb) configure_file(run_diskfull_test.sh . COPYONLY) add_test(NAME diskfull.tdb COMMAND run_diskfull_test.sh $<TARGET_FILE:diskfull.tdb> 134) declare_custom_tests(recovery_fileops_unit.tdb) configure_file(run_recovery_fileops_unit_test.sh . COPYONLY) add_test(NAME recovery_fileops_unit.tdb COMMAND run_recovery_fileops_unit_test.sh $<TARGET_FILE:recovery_fileops_unit.tdb> 137) set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "dir.recovery_fileops_unit.c.errors") if (NOT (CMAKE_SYSTEM_NAME MATCHES Darwin OR USE_GCOV)) declare_custom_tests(helgrind1.tdb) add_test(NAME helgrind_helgrind1.tdb COMMAND valgrind --quiet --tool=helgrind --error-exitcode=1 --log-file=helgrind1.tdb.deleteme $<TARGET_FILE:helgrind1.tdb>) set_tests_properties(helgrind_helgrind1.tdb PROPERTIES WILL_FAIL TRUE) endif() declare_custom_tests(helgrind2.tdb) declare_custom_tests(helgrind3.tdb) add_helgrind_test(helgrind2.tdb $<TARGET_FILE:helgrind2.tdb>) add_helgrind_test(helgrind3.tdb $<TARGET_FILE:helgrind3.tdb>) declare_custom_tests(test_groupcommit_count.tdb) add_test(test_groupcommit_count.tdb test_groupcommit_count.tdb -n 1 -p vgrind) add_custom_executable(helgrind test_groupcommit_count.tdb test_groupcommit_count.c) add_helgrind_test(helgrind_test_groupcommit_count.tdb $<TARGET_FILE:helgrind_test_groupcommit_count.tdb> -n 1 -p hgrind) add_custom_executable(drd test_groupcommit_count.tdb test_groupcommit_count.c) add_drd_test(drd_test_groupcommit_count.tdb $<TARGET_FILE:drd_test_groupcommit_count.tdb> -n 1 -p drd) add_custom_executable(drd test_4015.tdb test_4015.c) add_drd_test(drd_test_4015.tdb $<TARGET_FILE:drd_test_4015.tdb>) configure_file(run_stress_test.sh . COPYONLY) foreach(src ${stress_test_srcs}) string(REGEX REPLACE "\\.c$" ".tdb" test "${src}") add_test(${test} ${CMAKE_CFG_INTDIR}/run_stress_test.sh $<TARGET_FILE:${test}> 150000 1000) add_custom_executable(tiny ${test} ${src}) add_drd_test(drd_tiny_${test} $<TARGET_FILE:tiny_${test}> --num_seconds 5 --num_elements 150) add_custom_executable(mid ${test} ${src}) add_drd_test(drd_mid_${test} ${CMAKE_CFG_INTDIR}/run_stress_test.sh $<TARGET_FILE:mid_${test}> 10000 100) set_tests_properties(drd_mid_${test} PROPERTIES TIMEOUT 7200) add_custom_executable(large ${test} ${src}) add_drd_test(drd_large_${test} ${CMAKE_CFG_INTDIR}/run_stress_test.sh $<TARGET_FILE:large_${test}> 150000 1000) set_tests_properties(drd_large_${test} PROPERTIES TIMEOUT 14400) endforeach(src) ## for some reason this rule doesn't run with the makefile and it crashes with this rule, so I'm disabling this special case #declare_custom_tests(test_thread_stack.tdb) #add_custom_command(OUTPUT run_test_thread_stack.sh # COMMAND install "${CMAKE_CURRENT_SOURCE_DIR}/run_test_thread_stack.sh" "${CMAKE_CFG_INTDIR}" # MAIN_DEPENDENCY run_test_thread_stack.sh # VERBATIM) #add_custom_target(install_run_test_thread_stack.sh ALL DEPENDS run_test_thread_stack.sh) #add_test(test_thread_stack.tdb run_test_thread_stack.sh "${CMAKE_CFG_INTDIR}/test_thread_stack.tdb") declare_custom_tests(root_fifo_41.tdb) foreach(num RANGE 1 100) add_test(root_fifo_41_${num}_populate.tdb root_fifo_41.tdb -n ${num} -h root_fifo_41_${num}_populate.tdbdir -populate) add_test(root_fifo_41_${num}_nopopulate.tdb root_fifo_41.tdb -n ${num} -h root_fifo_41_${num}_nopopulate.tdbdir) set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES root_fifo_41_${num}_populate.tdbdir root_fifo_41_${num}_nopopulate.tdbdir ) endforeach(num) declare_custom_tests(test3039.tdb) configure_file(run_test3039.sh . COPYONLY) add_test(NAME test3039.tdb COMMAND run_test3039.sh $<TARGET_FILE:test3039.tdb>) declare_custom_tests(test_abort4.tdb) foreach(num RANGE -1 19) add_test(test_abort4_${num}_0.tdb test_abort4.tdb -e dir.test_abort4_${num}_0.tdb -c 0 -l ${num}) add_test(test_abort4_${num}_1.tdb test_abort4.tdb -e dir.test_abort4_${num}_1.tdb -c 1 -l ${num}) set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES dir.test_abort4_${num}_0.tdb dir.test_abort4_${num}_1.tdb) endforeach(num) set_property(SOURCE loader-stress-test.c APPEND PROPERTY COMPILE_DEFINITIONS "OLDDATADIR=\"${CMAKE_CURRENT_SOURCE_DIR}/../../../../tokudb.data/\"") list(REMOVE_ITEM loader_tests loader-stress-test.loader) add_test(loader-stress-test0.tdb loader-stress-test.tdb -c -e dir.loader-stress-test0.tdb) add_test(loader-stress-test1.tdb loader-stress-test.tdb -c -p -e dir.loader-stress-test1.tdb) add_test(loader-stress-test2.tdb loader-stress-test.tdb -r 5000 -s -e dir.loader-stress-test2.tdb) add_test(loader-stress-test3.tdb loader-stress-test.tdb -u -c -e dir.loader-stress-test3.tdb) add_test(loader-stress-test4.tdb loader-stress-test.tdb -r 10000000 -c -e dir.loader-stress-test4.tdb) set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES dir.loader-stress-test0.tdb dir.loader-stress-test1.tdb dir.loader-stress-test2.tdb dir.loader-stress-test3.tdb dir.loader-stress-test4.tdb ) list(REMOVE_ITEM loader_tests loader-dup-test.loader) add_test(loader-dup-test0.tdb loader-dup-test.tdb -e dir.loader-dup-test0.tdb) add_test(loader-dup-test1.tdb loader-dup-test.tdb -d 1 -r 500000 -e dir.loader-dup-test1.tdb) add_test(loader-dup-test2.tdb loader-dup-test.tdb -d 1 -r 1000000 -e dir.loader-dup-test2.tdb) add_test(loader-dup-test3.tdb loader-dup-test.tdb -d 1 -s -r 100 -e dir.loader-dup-test3.tdb) add_test(loader-dup-test4.tdb loader-dup-test.tdb -d 1 -s -r 1000 -e dir.loader-dup-test4.tdb) add_test(loader-dup-test5.tdb loader-dup-test.tdb -d 1 -s -r 1000 -E -e dir.loader-dup-test5.tdb) set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES dir.loader-dup-test0.tdb dir.loader-dup-test1.tdb dir.loader-dup-test2.tdb dir.loader-dup-test3.tdb dir.loader-dup-test4.tdb dir.loader-dup-test5.tdb ) ## as part of #4503, we took out test 1 and 3 list(REMOVE_ITEM loader_tests loader-cleanup-test.loader) add_test(loader-cleanup-test0.tdb loader-cleanup-test.tdb -s -r 800 -e dir.loader-cleanup-test0.tdb) #add_test(loader-cleanup-test1.tdb loader-cleanup-test.tdb -s -r 800 -p -e dir.loader-cleanup-test1.tdb) add_test(loader-cleanup-test2.tdb loader-cleanup-test.tdb -s -r 8000 -e dir.loader-cleanup-test2.tdb) #add_test(loader-cleanup-test3.tdb loader-cleanup-test.tdb -s -r 8000 -p -e dir.loader-cleanup-test3.tdb) set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES dir.loader-cleanup-test0.tdb dir.loader-cleanup-test1.tdb dir.loader-cleanup-test2.tdb dir.loader-cleanup-test3.tdb ) declare_custom_tests(keyrange.tdb) add_test(keyrange-get0.tdb keyrange.tdb --get 0 --envdir dir.keyrange-get0.tdb) add_test(keyrange-get1.tdb keyrange.tdb --get 1 --envdir dir.keyrange-get1.tdb) add_test(keyrange-random-get0.tdb keyrange.tdb --get 0 --random_keys 1 --envdir dir.keyrange-random-get0.tdb) add_test(keyrange-random-get1.tdb keyrange.tdb --get 1 --random_keys 1 --envdir dir.keyrange-random-get1.tdb) add_test(keyrange-loader-get0.tdb keyrange.tdb --get 0 --loader 1 --envdir dir.keyrange-loader-get0.tdb) add_test(keyrange-loader-get1.tdb keyrange.tdb --get 1 --loader 1 --envdir dir.keyrange-loader-get1.tdb) set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES dir.keyrange-get0.tdb dir.keyrange-get1.tdb dir.keyrange-random-get0.tdb dir.keyrange-random-get1.tdb dir.keyrange-loader-get0.tdb dir.keyrange-loader-get1.tdb ) declare_custom_tests(maxsize-for-loader.tdb) add_test(maxsize-for-loader-A.tdb maxsize-for-loader.tdb -e dir.maxsize-for-loader-A.tdb -f) add_test(maxsize-for-loader-B.tdb maxsize-for-loader.tdb -e dir.maxsize-for-loader-B.tdb) set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES dir.maxsize-for-loader-A.tdb dir.maxsize-for-loader-B.tdb ) declare_custom_tests(hotindexer-undo-do-test.tdb) file(GLOB hotindexer_tests RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "hotindexer-undo-do-tests/*.test") file(GLOB hotindexer_results RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "hotindexer-undo-do-tests/*.result") configure_file(run-hotindexer-undo-do-tests.bash . COPYONLY) foreach(result ${hotindexer_results}) configure_file(${result} ${result} COPYONLY) endforeach(result) foreach(test ${hotindexer_tests}) configure_file(${test} ${test} COPYONLY) add_test(NAME ${test} COMMAND run-hotindexer-undo-do-tests.bash ${test}) endforeach() foreach(test ${tdb_tests} ${bdb_tests}) add_test(${test} ${test}) endforeach(test) configure_file(run_recover_test.sh . COPYONLY) foreach(recover_test ${recover_tests}) get_filename_component(base ${recover_test} NAME_WE) add_test(NAME ${recover_test} COMMAND run_recover_test.sh $<TARGET_FILE:${base}.tdb> "dir.${base}.c.tdb" $<TARGET_FILE:tdb-recover> $<TARGET_FILE:tokudb_dump_static>) set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "dir.${base}.c.tdb" "dir.${base}.c.tdb.recover") endforeach(recover_test) configure_file(run_abortrecover_test.sh . COPYONLY) foreach(abortrecover_test ${abortrecover_tests}) get_filename_component(base ${abortrecover_test} NAME_WE) add_test(NAME ${base}.abortrecover COMMAND run_abortrecover_test.sh $<TARGET_FILE:${base}.tdb> 137) endforeach(abortrecover_test) foreach(loader_test ${loader_tests}) get_filename_component(base ${loader_test} NAME_WE) add_test(${base}.nop.loader ${base}.tdb -e "dir.${base}.nop.loader") add_test(${base}.p.loader ${base}.tdb -p -e "dir.${base}.p.loader") if("${tdb_tests_that_should_fail}" MATCHES "${base}.loader") list(REMOVE_ITEM tdb_tests_that_should_fail ${base}.loader) list(APPEND tdb_tests_that_should_fail ${base}.nop.loader ${base}.p.loader) endif() set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "dir.${base}.nop.loader" "dir.${base}.p.loader") endforeach(loader_test) set_tests_properties(${tdb_tests_that_should_fail} PROPERTIES WILL_FAIL TRUE) ## give some tests, that time out normally, 1 hour to complete set(long_tests test_query.tdb test1572.tdb checkpoint_1.tdb env-put-multiple.tdb loader-cleanup-test0.tdb loader-cleanup-test2.tdb loader-stress-test4.tdb manyfiles.tdb root_fifo_1.tdb root_fifo_2.tdb root_fifo_31.tdb root_fifo_32.tdb shutdown-3344.tdb stat64-create-modify-times.tdb test_abort4_19_0.tdb test_abort4_19_1.tdb test_abort5.tdb test_archive1.tdb test_logmax.tdb test_txn_abort5.tdb test_txn_abort5a.tdb test_txn_abort6.tdb test_txn_nested2.tdb test_txn_nested4.tdb test_txn_nested5.tdb recovery_fileops_stress.tdb recovery_fileops_unit.tdb ) if (BDB_FOUND) list(APPEND long_tests test1426.tdb root_fifo_1.bdb root_fifo_31.bdb test_log10.bdb test_log7.bdb test_logmax.bdb rowsize.bdb ) endif (BDB_FOUND) set_tests_properties(${long_tests} PROPERTIES TIMEOUT 3600) ## some take even longer, with valgrind set(extra_long_tests drd_test_4015.tdb test3039.tdb loader-dup-test0.tdb loader-stress-del.p.loader loader-stress-del.nop.loader hotindexer-with-queries.tdb ) set_tests_properties(${extra_long_tests} PROPERTIES TIMEOUT 7200) ## these really take a long time with valgrind set(phenomenally_long_tests checkpoint_stress.tdb recover_stress.tdb ) set_tests_properties(${phenomenally_long_tests} PROPERTIES TIMEOUT 14400) endif(BUILD_TESTING)