diff options
author | Benety Goh <benety@mongodb.com> | 2021-02-07 06:45:00 -0500 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-02-07 12:13:13 +0000 |
commit | baa6f1a1ef32335356136ae144ca2b1d57f6158c (patch) | |
tree | cf6e1d2b1575dc4b86a88d1563e8e49b26516db6 /src/mongo/db/storage | |
parent | 473e7b3c603eca5886d45f985e47bddc626a2d23 (diff) | |
download | mongo-baa6f1a1ef32335356136ae144ca2b1d57f6158c.tar.gz |
SERVER-50268 restore UBSAN stanza for storage_wiredtiger_record_store_and_index_test
This exclusion was added in commit f2ec414e9c21f09fe7e5009efe00a8934743c0db.
Diffstat (limited to 'src/mongo/db/storage')
-rw-r--r-- | src/mongo/db/storage/wiredtiger/SConscript | 63 |
1 files changed, 37 insertions, 26 deletions
diff --git a/src/mongo/db/storage/wiredtiger/SConscript b/src/mongo/db/storage/wiredtiger/SConscript index b7cbddb0e96..e41db61a001 100644 --- a/src/mongo/db/storage/wiredtiger/SConscript +++ b/src/mongo/db/storage/wiredtiger/SConscript @@ -1,12 +1,19 @@ # -*- mode: python -*- Import("env") Import("wiredtiger") +Import("get_option") if not wiredtiger: Return() env = env.Clone() +using_ubsan = False +sanitizer_list = get_option('sanitize') +if sanitizer_list: + using_ubsan = 'undefined' in sanitizer_list.split(',') + + env.Library( target='storage_wiredtiger_customization_hooks', source= [ @@ -189,30 +196,34 @@ wtEnv.Library( ) -wtEnv.CppUnitTest( - target='storage_wiredtiger_record_store_and_index_test', - source=[ - 'wiredtiger_standard_index_test.cpp', - 'wiredtiger_standard_record_store_test.cpp', - ], - LIBDEPS=[ - '$BUILD_DIR/mongo/db/auth/authmocks', - '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', - '$BUILD_DIR/mongo/db/repl/replmocks', - '$BUILD_DIR/mongo/db/service_context_test_fixture', - 'additional_wiredtiger_index_tests', - 'additional_wiredtiger_record_store_tests', - ], -) +# All of these tests fail to compile under undefined behavior +# sanitizer due to unexpressed circular dependency edges. In particular +# they all need a definition from the 'catalog'. +if not using_ubsan: + wtEnv.CppUnitTest( + target='storage_wiredtiger_record_store_and_index_test', + source=[ + 'wiredtiger_standard_index_test.cpp', + 'wiredtiger_standard_record_store_test.cpp', + ], + LIBDEPS=[ + '$BUILD_DIR/mongo/db/auth/authmocks', + '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', + '$BUILD_DIR/mongo/db/repl/replmocks', + '$BUILD_DIR/mongo/db/service_context_test_fixture', + 'additional_wiredtiger_index_tests', + 'additional_wiredtiger_record_store_tests', + ], + ) -wtEnv.Benchmark( - target='storage_wiredtiger_begin_transaction_block_bm', - source='wiredtiger_begin_transaction_block_bm.cpp', - LIBDEPS=[ - '$BUILD_DIR/mongo/db/service_context', - '$BUILD_DIR/mongo/db/storage/durable_catalog_impl', - '$BUILD_DIR/mongo/unittest/unittest', - '$BUILD_DIR/mongo/util/clock_source_mock', - 'storage_wiredtiger_core', - ], -) + wtEnv.Benchmark( + target='storage_wiredtiger_begin_transaction_block_bm', + source='wiredtiger_begin_transaction_block_bm.cpp', + LIBDEPS=[ + '$BUILD_DIR/mongo/db/service_context', + '$BUILD_DIR/mongo/db/storage/durable_catalog_impl', + '$BUILD_DIR/mongo/unittest/unittest', + '$BUILD_DIR/mongo/util/clock_source_mock', + 'storage_wiredtiger_core', + ], + ) |