diff --git a/.circleci/config.yml b/.circleci/config.yml index 97edc89a7..c462c65dd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -97,6 +97,19 @@ jobs: - run: sudo apt-get update -y && sudo apt-get install -y clang-10 libgflags-dev - run: SKIP_FORMAT_BUCK_CHECKS=1 COMPILE_WITH_ASAN=1 CC=clang-10 CXX=clang++-10 ROCKSDB_DISABLE_ALIGNED_NEW=1 USE_CLANG=1 PRINT_PARALLEL_OUTPUTS=1 make V=1 -j32 check | .circleci/cat_ignore_eagain # aligned new doesn't work for reason we haven't figured out + build-linux-clang10-mini-tsan: + machine: + image: ubuntu-1604:201903-01 + resource_class: 2xlarge + steps: + - checkout # check out the code in the project directory + - run: pyenv global 3.5.2 + - run: echo "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main" | sudo tee -a /etc/apt/sources.list + - run: echo "deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main" | sudo tee -a /etc/apt/sources.list + - run: sudo apt-get update -y && sudo apt-get install -y clang-10 libgflags-dev + - run: SKIP_FORMAT_BUCK_CHECKS=1 COMPILE_WITH_TSAN=1 CC=clang-10 CXX=clang++-10 ROCKSDB_DISABLE_ALIGNED_NEW=1 USE_CLANG=1 PRINT_PARALLEL_OUTPUTS=1 EXCLUDE_TESTS_REGEX="DBTestCompactionFilterWithCompactParam.CompactionFilterWithValueChang|DBTestRandomized/DBTestRandomized.Randomized|DBTestWithParam.MergeCompactionTimeTest|DBTestUniversalCompaction.UniversalCompactionTrivialMoveTest1|DBTestUniversalCompactionMultiLevels.UniversalCompactionMultiLevels|ExternalSSTFileTest.IngestFileWithGlobalSeqnoRandomized|ReadaheadSequentialFileTest|ReadExceedsReadaheadSize/ReadaheadSequentialFileTest|TransactionStressTest|MySQLStyleTransactionTest|SnapshotConcurrentAccessTest|eqAdvanceConcurrentTest|WritePreparedTransactionTest|WriteUnpreparedTransactionTest|WriteUnpreparedStressTest|MultiThreadedDBTest|LogMarkLeakTest" make V=1 -j32 check | .circleci/cat_ignore_eagain # aligned new doesn't work for reason we haven't figured out. Exclude some tests to speed up. MultiThreadedDBTest, TransactionStressTest, TransactionStressTest, TransactionStressTest and TransactionStressTest are showing TSAN warning so excluding them for now. Will investigate later. + + build-linux-clang10-ubsan: machine: image: ubuntu-1604:201903-01 @@ -242,6 +255,9 @@ workflows: build-linux-clang10-asan: jobs: - build-linux-clang10-asan + build-linux-clang10-mini-tsan: + jobs: + - build-linux-clang10-mini-tsan build-linux-clang10-ubsan: jobs: - build-linux-clang10-ubsan diff --git a/Makefile b/Makefile index 9a5da537b..6501ea759 100644 --- a/Makefile +++ b/Makefile @@ -826,6 +826,7 @@ J ?= 100% # Use this regexp to select the subset of tests whose names match. tests-regexp = . +EXCLUDE_TESTS_REGEX ?= "^$" ifeq ($(PRINT_PARALLEL_OUTPUTS), 1) parallel_com = '{}' @@ -846,6 +847,7 @@ check_0: } \ | $(prioritize_long_running_tests) \ | grep -E '$(tests-regexp)' \ + | grep -E -v '$(EXCLUDE_TESTS_REGEX)' \ | build_tools/gnu_parallel -j$(J) --plain --joblog=LOG $$eta --gnu $(parallel_com) ; \ parallel_retcode=$$? ; \ awk '{ if ($$7 != 0 || $$8 != 0) { if ($$7 == "Exitval") { h = $$0; } else { if (!f) print h; print; f = 1 } } } END { if(f) exit 1; }' < LOG ; \