diff --git a/Makefile b/Makefile index cd3792a6c629bf875980cb1535810906bf6608ac..b36e0438f0e2cfcdd32437562dfe5b18039d8e1c 100644 --- a/Makefile +++ b/Makefile @@ -981,6 +981,14 @@ asan_crash_test: clean COMPILE_WITH_ASAN=1 $(MAKE) crash_test $(MAKE) clean +whitebox_asan_crash_test: clean + COMPILE_WITH_ASAN=1 $(MAKE) whitebox_crash_test + $(MAKE) clean + +blackbox_asan_crash_test: clean + COMPILE_WITH_ASAN=1 $(MAKE) blackbox_crash_test + $(MAKE) clean + asan_crash_test_with_atomic_flush: clean COMPILE_WITH_ASAN=1 $(MAKE) crash_test_with_atomic_flush $(MAKE) clean @@ -1001,6 +1009,14 @@ ubsan_crash_test: clean COMPILE_WITH_UBSAN=1 $(MAKE) crash_test $(MAKE) clean +whitebox_ubsan_crash_test: clean + COMPILE_WITH_UBSAN=1 $(MAKE) whitebox_crash_test + $(MAKE) clean + +blackbox_ubsan_crash_test: clean + COMPILE_WITH_UBSAN=1 $(MAKE) blackbox_crash_test + $(MAKE) clean + ubsan_crash_test_with_atomic_flush: clean COMPILE_WITH_UBSAN=1 $(MAKE) crash_test_with_atomic_flush $(MAKE) clean diff --git a/build_tools/rocksdb-lego-determinator b/build_tools/rocksdb-lego-determinator index 3b45dd929104663a285fe551536adeb6bcd0147a..2e545234f9e0544248efff7027dfb0efea822d1b 100755 --- a/build_tools/rocksdb-lego-determinator +++ b/build_tools/rocksdb-lego-determinator @@ -421,6 +421,66 @@ STRESS_CRASH_TEST_COMMANDS="[ } ]" +# +# RocksDB blackbox stress/crash test +# +BLACKBOX_STRESS_CRASH_TEST_COMMANDS="[ + { + 'name':'Rocksdb Blackbox Stress and Crash Test', + 'oncall':'$ONCALL', + 'executeLocal': 'true', + 'timeout': 86400, + 'steps': [ + $CLEANUP_ENV, + { + 'name':'Build and run RocksDB debug stress tests', + 'shell':'$SHM $DEBUG $NON_TSAN_CRASH make J=1 db_stress || $CONTRUN_NAME=db_stress $TASK_CREATION_TOOL', + 'user':'root', + $PARSER + }, + { + 'name':'Build and run RocksDB debug blackbox crash tests', + 'timeout': 86400, + 'shell':'$SHM $DEBUG $NON_TSAN_CRASH make J=1 blackbox_crash_test || $CONTRUN_NAME=blackbox_crash_test $TASK_CREATION_TOOL', + 'user':'root', + $PARSER + }, + $UPLOAD_DB_DIR, + ], + $REPORT + } +]" + +# +# RocksDB whitebox stress/crash test +# +WHITEBOX_STRESS_CRASH_TEST_COMMANDS="[ + { + 'name':'Rocksdb Whitebox Stress and Crash Test', + 'oncall':'$ONCALL', + 'executeLocal': 'true', + 'timeout': 86400, + 'steps': [ + $CLEANUP_ENV, + { + 'name':'Build and run RocksDB debug stress tests', + 'shell':'$SHM $DEBUG $NON_TSAN_CRASH make J=1 db_stress || $CONTRUN_NAME=db_stress $TASK_CREATION_TOOL', + 'user':'root', + $PARSER + }, + { + 'name':'Build and run RocksDB debug whitebox crash tests', + 'timeout': 86400, + 'shell':'$SHM $DEBUG $NON_TSAN_CRASH make J=1 whitebox_crash_test || $CONTRUN_NAME=whitebox_crash_test $TASK_CREATION_TOOL', + 'user':'root', + $PARSER + }, + $UPLOAD_DB_DIR, + ], + $REPORT + } +]" + # # RocksDB stress/crash test with atomic flush # @@ -549,6 +609,54 @@ ASAN_CRASH_TEST_COMMANDS="[ } ]" +# +# RocksDB blackbox crash testing under address sanitizer +# +ASAN_BLACKBOX_CRASH_TEST_COMMANDS="[ + { + 'name':'Rocksdb blackbox crash test under ASAN', + 'oncall':'$ONCALL', + 'executeLocal': 'true', + 'timeout': 86400, + 'steps': [ + $CLEANUP_ENV, + { + 'name':'Build and run RocksDB debug blackbox asan_crash_test', + 'timeout': 86400, + 'shell':'$SHM $DEBUG $NON_TSAN_CRASH make J=1 blackbox_asan_crash_test || $CONTRUN_NAME=blackbox_asan_crash_test $TASK_CREATION_TOOL', + 'user':'root', + $PARSER + }, + $UPLOAD_DB_DIR, + ], + $REPORT + } +]" + +# +# RocksDB whitebox crash testing under address sanitizer +# +ASAN_WHITEBOX_CRASH_TEST_COMMANDS="[ + { + 'name':'Rocksdb whitebox crash test under ASAN', + 'oncall':'$ONCALL', + 'executeLocal': 'true', + 'timeout': 86400, + 'steps': [ + $CLEANUP_ENV, + { + 'name':'Build and run RocksDB debug whitebox asan_crash_test', + 'timeout': 86400, + 'shell':'$SHM $DEBUG $NON_TSAN_CRASH make J=1 whitebox_asan_crash_test || $CONTRUN_NAME=whitebox_asan_crash_test $TASK_CREATION_TOOL', + 'user':'root', + $PARSER + }, + $UPLOAD_DB_DIR, + ], + $REPORT + } +]" + # # RocksDB crash testing with atomic flush under address sanitizer # @@ -619,7 +727,7 @@ UBSAN_TEST_COMMANDS="[ ]" # -# RocksDB crash testing under udnefined behavior sanitizer +# RocksDB crash testing under undefined behavior sanitizer # UBSAN_CRASH_TEST_COMMANDS="[ { @@ -642,6 +750,54 @@ UBSAN_CRASH_TEST_COMMANDS="[ } ]" +# +# RocksDB crash testing under undefined behavior sanitizer +# +UBSAN_BLACKBOX_CRASH_TEST_COMMANDS="[ + { + 'name':'Rocksdb blackbox crash test under UBSAN', + 'oncall':'$ONCALL', + 'executeLocal': 'true', + 'timeout': 86400, + 'steps': [ + $CLEANUP_ENV, + { + 'name':'Build and run RocksDB debug blackbox ubsan_crash_test', + 'timeout': 86400, + 'shell':'$SHM $DEBUG $NON_TSAN_CRASH $CLANG make J=1 blackbox_ubsan_crash_test || $CONTRUN_NAME=blackbox_ubsan_crash_test $TASK_CREATION_TOOL', + 'user':'root', + $PARSER + }, + $UPLOAD_DB_DIR, + ], + $REPORT + } +]" + +# +# RocksDB crash testing under undefined behavior sanitizer +# +UBSAN_WHITEBOX_CRASH_TEST_COMMANDS="[ + { + 'name':'Rocksdb whitebox crash test under UBSAN', + 'oncall':'$ONCALL', + 'executeLocal': 'true', + 'timeout': 86400, + 'steps': [ + $CLEANUP_ENV, + { + 'name':'Build and run RocksDB debug whitebox ubsan_crash_test', + 'timeout': 86400, + 'shell':'$SHM $DEBUG $NON_TSAN_CRASH $CLANG make J=1 whitebox_ubsan_crash_test || $CONTRUN_NAME=whitebox_ubsan_crash_test $TASK_CREATION_TOOL', + 'user':'root', + $PARSER + }, + $UPLOAD_DB_DIR, + ], + $REPORT + } +]" + # # RocksDB crash testing with atomic flush under undefined behavior sanitizer # @@ -760,6 +916,54 @@ TSAN_CRASH_TEST_COMMANDS="[ } ]" +# +# RocksDB blackbox crash test under TSAN +# +TSAN_BLACKBOX_CRASH_TEST_COMMANDS="[ + { + 'name':'Rocksdb Blackbox Crash Test under TSAN', + 'oncall':'$ONCALL', + 'executeLocal': 'true', + 'timeout': 86400, + 'steps': [ + $CLEANUP_ENV, + { + 'name':'Compile and run', + 'timeout': 86400, + 'shell':'set -o pipefail && $SHM $DEBUG $TSAN $TSAN_CRASH CRASH_TEST_KILL_ODD=1887 make J=1 blackbox_crash_test || $CONTRUN_NAME=tsan_blackbox_crash_test $TASK_CREATION_TOOL', + 'user':'root', + $PARSER + }, + $UPLOAD_DB_DIR, + ], + $REPORT + } +]" + +# +# RocksDB whitebox crash test under TSAN +# +TSAN_WHITEBOX_CRASH_TEST_COMMANDS="[ + { + 'name':'Rocksdb Whitebox Crash Test under TSAN', + 'oncall':'$ONCALL', + 'executeLocal': 'true', + 'timeout': 86400, + 'steps': [ + $CLEANUP_ENV, + { + 'name':'Compile and run', + 'timeout': 86400, + 'shell':'set -o pipefail && $SHM $DEBUG $TSAN $TSAN_CRASH CRASH_TEST_KILL_ODD=1887 make J=1 whitebox_crash_test || $CONTRUN_NAME=tsan_whitebox_crash_test $TASK_CREATION_TOOL', + 'user':'root', + $PARSER + }, + $UPLOAD_DB_DIR, + ], + $REPORT + } +]" + # # RocksDB crash test with atomic flush under TSAN #