]> granicus.if.org Git - libevent/commitdiff
test: disable bufferevent/bufferevent_pair_release_lock under ASAN (too tricky)
authorAzat Khuzhin <azat@libevent.org>
Thu, 25 Jun 2020 18:25:51 +0000 (21:25 +0300)
committerAzat Khuzhin <azat@libevent.org>
Thu, 25 Jun 2020 19:57:40 +0000 (22:57 +0300)
And cannot be suppressed with suppressions due to setup routines.

test/regress_bufferevent.c

index 822afed0cd005dd514ba868cf934e91746dff66f..b17f2eb103277b028e79041e3365ad4beb1aff51 100644 (file)
 /* The old tests here need assertions to work. */
 #undef NDEBUG
 
+#ifndef __has_feature
+#define __has_feature(x) 0
+#endif
+
 #ifdef _WIN32
 #include <winsock2.h>
 #include <windows.h>
@@ -203,7 +207,7 @@ static void test_bufferevent_pair_flush_normal(void) { test_bufferevent_impl(1,
 static void test_bufferevent_pair_flush_flush(void) { test_bufferevent_impl(1, BEV_FLUSH); }
 static void test_bufferevent_pair_flush_finished(void) { test_bufferevent_impl(1, BEV_FINISHED); }
 
-#if defined(EVTHREAD_USE_PTHREADS_IMPLEMENTED)
+#if defined(EVTHREAD_USE_PTHREADS_IMPLEMENTED) && __has_feature(address_sanitizer)
 /**
  * Trace lock/unlock/alloc/free for locks.
  * (More heavier then evthread_debug*)
@@ -1351,7 +1355,7 @@ struct testcase_t bufferevent_testcases[] = {
        LEGACY(bufferevent_pair_flush_normal, TT_ISOLATED),
        LEGACY(bufferevent_pair_flush_flush, TT_ISOLATED),
        LEGACY(bufferevent_pair_flush_finished, TT_ISOLATED),
-#if defined(EVTHREAD_USE_PTHREADS_IMPLEMENTED)
+#if defined(EVTHREAD_USE_PTHREADS_IMPLEMENTED) && __has_feature(address_sanitizer)
        { "bufferevent_pair_release_lock", test_bufferevent_pair_release_lock,
          TT_FORK|TT_ISOLATED|TT_NEED_THREADS|TT_NEED_BASE|TT_LEGACY|TT_NO_LOGS,
          &basic_setup, NULL },