diff --git a/lib/dns/tests/rbt_test.c b/lib/dns/tests/rbt_test.c index bd002026387ebb2b138db650c8ba46239820b08b..9e1ffd7f3aea9ddc590bcdd94e1f17c2bf115a8c 100644 --- a/lib/dns/tests/rbt_test.c +++ b/lib/dns/tests/rbt_test.c @@ -1202,7 +1202,7 @@ rbt_nodechain(void **state) { test_context_teardown(ctx); } -#ifdef DNS_BENCHMARK_TESTS +#if defined(DNS_BENCHMARK_TESTS) && !defined(__SANITIZE_THREAD__) /* * XXXMUKS: Don't delete this code. It is useful in benchmarking the @@ -1317,7 +1317,7 @@ benchmark(void **state) { dns_rbt_destroy(&mytree); } -#endif /* DNS_BENCHMARK_TESTS */ +#endif /* defined(DNS_BENCHMARK_TESTS) && !defined(__SANITIZE_THREAD__) */ int main(void) { @@ -1342,9 +1342,9 @@ main(void) { _setup, _teardown), cmocka_unit_test_setup_teardown(rbt_nodechain, _setup, _teardown), -#ifdef DNS_BENCHMARK_TESTS +#if defined(DNS_BENCHMARK_TESTS) && !defined(__SANITIZE_THREAD__) cmocka_unit_test_setup_teardown(benchmark, _setup, _teardown), -#endif /* DNS_BENCHMARK_TESTS */ +#endif /* defined(DNS_BENCHMARK_TESTS) && !defined(__SANITIZE_THREAD__) */ }; return (cmocka_run_group_tests(tests, NULL, NULL)); diff --git a/lib/isc/include/isc/util.h b/lib/isc/include/isc/util.h index 6602aac2b37ab155b92bcbee271154711c17e825..730cfc268fcc8839b9663d3335da88bf3424bfee 100644 --- a/lib/isc/include/isc/util.h +++ b/lib/isc/include/isc/util.h @@ -194,6 +194,10 @@ #define __SANITIZE_ADDRESS__ 1 #endif +#if __has_feature(thread_sanitizer) +#define __SANITIZE_THREAD__ 1 +#endif + #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR >= 6) #define STATIC_ASSERT(cond, msg) _Static_assert(cond, msg) #elif __has_feature(c_static_assert) diff --git a/lib/isc/tests/mem_test.c b/lib/isc/tests/mem_test.c index bdf8c2a53c3f8e6405ea4cfd38bd81936e576ec5..0f783422e67980a16b5cc4d6cd3cd19f60aeddd6 100644 --- a/lib/isc/tests/mem_test.c +++ b/lib/isc/tests/mem_test.c @@ -384,6 +384,8 @@ isc_mem_traceflag_test(void **state) { } #endif +#if !defined(__SANITIZE_THREAD__) + #define ITERS 512 #define NUM_ITEMS 1024 //768 #define ITEM_SIZE 65534 @@ -503,6 +505,8 @@ isc_mempool_benchmark(void **state) { isc_mutex_destroy(&mplock); } +#endif /* __SANITIZE_THREAD */ + /* * Main */ @@ -525,10 +529,12 @@ main(void) { cmocka_unit_test_setup_teardown(isc_mem_traceflag_test, _setup, _teardown), #endif +#if !defined(__SANITIZE_THREAD__) cmocka_unit_test_setup_teardown(isc_mem_benchmark, _setup, _teardown), cmocka_unit_test_setup_teardown(isc_mempool_benchmark, _setup, _teardown), +#endif /* __SANITIZE_THREAD__ */ }; return (cmocka_run_group_tests(tests, NULL, NULL));