From b8a962d4f53c7122e6ae12fbe7fe764a77775dd8 Mon Sep 17 00:00:00 2001 From: krad Date: Wed, 2 Sep 2015 12:16:42 -0700 Subject: [PATCH] Adding commands for few more CI jobs. Summary: Added commands to spawn crash, stress, asan, asan_crash, clang CI jobs Test Plan: Manual test Reviewers: sdong CC: leveldb@ Task ID: #6968635 Blame Rev: --- build_tools/rocksdb-lego-determinator | 96 +++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/build_tools/rocksdb-lego-determinator b/build_tools/rocksdb-lego-determinator index 28e559176..d651c6c86 100755 --- a/build_tools/rocksdb-lego-determinator +++ b/build_tools/rocksdb-lego-determinator @@ -2,6 +2,9 @@ # This script is executed by Sandcastle # to determine next steps to run +# +# RocksDB unit test +# UNIT_TEST_COMMANDS="[ { 'name':'Rocksdb Unit Test', @@ -20,10 +23,103 @@ UNIT_TEST_COMMANDS="[ } ]" +# +# RocksDB stress/crash test +# +STRESS_CRASH_TEST_COMMANDS="[ + { + 'name':'Rocksdb Stress/Crash Test', + 'steps': [ + { + 'name':'Build and run RocksDB stress tests', + 'shell':'ROCKSDB_FBCODE_BUILD_WITH_481=1 TEST_TMPDIR=/dev/shm make clean db_stress', + 'user':'root' + }, + { + 'name':'Build and run RocksDB crash tests', + 'shell':'ROCKSDB_FBCODE_BUILD_WITH_481=1 TEST_TMPDIR=/dev/shm make crash_test', + 'user':'root' + } + ], + } +]" + + +# +# RocksDB test under address sanitizer +# +ASAN_TEST_COMMANDS="[ + { + 'name':'Rocksdb Unit Test', + 'steps': [ + { + 'name':'Build RocksDB for ASAN', + 'shell':'set -o pipefail && ROCKSDB_FBCODE_BUILD_WITH_481=1 COMPILE_WITH_ASAN=1 make -j$(nproc) clean all', + 'user':'root' + }, + { + 'name':'Test RocksDB under ASAN', + 'shell':'make J=1 asan_check |& /usr/facebook/ops/scripts/asan_symbolize.py -d', + 'user':'root' + } + ], + } +]" + +# +# RocksDB crash testing under address sanitizer +# +ASAN_CRASH_TEST_COMMANDS="[ + { + 'name':'Rocksdb Unit Test', + 'steps': [ + { + 'name':'Build and run RocksDB asan_crash_test', + 'shell':'ROCKSDB_FBCODE_BUILD_WITH_481=1 make -j$(nproc) clean asan_crash_test', + 'user':'root' + }, + ], + } +]" + +# +# RocksDB unit test with CLANG +# +CLANG_UNIT_TEST_COMMANDS="[ + { + 'name':'Rocksdb Unit Test', + 'steps': [ + { + 'name':'Build RocksDB with CLANG', + 'shell':'USE_CLANG=1 make clean all', + 'user':'root' + }, + { + 'name':'Test RocksDB built using CLANG', + 'shell':'make J=1 check', + 'user':'root' + } + ], + } +]" + + case $1 in unit) echo $UNIT_TEST_COMMANDS ;; + stress_crash) + echo $STRESS_CRASH_TEST_COMMANDS + ;; + asan) + echo $ASAN_TEST_COMMANDS + ;; + asan_crash) + echo $ASAN_CRASH_TEST_COMMANDS + ;; + clang_unit) + echo $CLANG_UNIT_TEST_COMMANDS + ;; *) echo $UNIT_TEST_COMMANDS ;;