From: Nick Mathewson Date: Mon, 23 Aug 2010 15:48:46 +0000 (-0400) Subject: Honor NDEBUG; build without warnings with NDEBUG; make NDEBUG always-off in unit... X-Git-Tag: release-2.0.7-rc~28 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=743f8665395e7e06800e1a09a0ae701b72290d02;p=libevent Honor NDEBUG; build without warnings with NDEBUG; make NDEBUG always-off in unit test code --- diff --git a/buffer.c b/buffer.c index b493c56a..098afec3 100644 --- a/buffer.c +++ b/buffer.c @@ -233,6 +233,7 @@ evbuffer_free_all_chains(struct evbuffer_chain *chain) } } +#ifndef NDEBUG static int evbuffer_chains_all_empty(struct evbuffer_chain *chain) { @@ -242,6 +243,7 @@ evbuffer_chains_all_empty(struct evbuffer_chain *chain) } return 1; } +#endif static void evbuffer_chain_insert(struct evbuffer *buf, diff --git a/bufferevent_openssl.c b/bufferevent_openssl.c index 74d6ab4d..1c59b7c5 100644 --- a/bufferevent_openssl.c +++ b/bufferevent_openssl.c @@ -879,7 +879,7 @@ do_handshake(struct bufferevent_openssl *bev_ssl) default: case BUFFEREVENT_SSL_OPEN: EVUTIL_ASSERT(0); - break; + return -1; case BUFFEREVENT_SSL_CONNECTING: case BUFFEREVENT_SSL_ACCEPTING: r = SSL_do_handshake(bev_ssl->ssl); diff --git a/evrpc.c b/evrpc.c index 3f223231..91e9a5f2 100644 --- a/evrpc.c +++ b/evrpc.c @@ -94,19 +94,23 @@ evrpc_free(struct evrpc_base *base) struct evrpc *rpc; struct evrpc_hook *hook; struct evrpc_hook_ctx *pause; + int r; while ((rpc = TAILQ_FIRST(&base->registered_rpcs)) != NULL) { - EVUTIL_ASSERT(evrpc_unregister_rpc(base, rpc->uri)); + r = evrpc_unregister_rpc(base, rpc->uri); + EVUTIL_ASSERT(r); } while ((pause = TAILQ_FIRST(&base->paused_requests)) != NULL) { TAILQ_REMOVE(&base->paused_requests, pause, next); mm_free(pause); } while ((hook = TAILQ_FIRST(&base->input_hooks)) != NULL) { - EVUTIL_ASSERT(evrpc_remove_hook(base, EVRPC_INPUT, hook)); + r = evrpc_remove_hook(base, EVRPC_INPUT, hook); + EVUTIL_ASSERT(r); } while ((hook = TAILQ_FIRST(&base->output_hooks)) != NULL) { - EVUTIL_ASSERT(evrpc_remove_hook(base, EVRPC_OUTPUT, hook)); + r = evrpc_remove_hook(base, EVRPC_OUTPUT, hook); + EVUTIL_ASSERT(r); } mm_free(base); } @@ -246,6 +250,7 @@ evrpc_unregister_rpc(struct evrpc_base *base, const char *name) { char *registered_uri = NULL; struct evrpc *rpc; + int r; /* find the right rpc; linear search might be slow */ TAILQ_FOREACH(rpc, &base->registered_rpcs, next) { @@ -264,7 +269,8 @@ evrpc_unregister_rpc(struct evrpc_base *base, const char *name) registered_uri = evrpc_construct_uri(name); /* remove the http server callback */ - EVUTIL_ASSERT(evhttp_del_cb(base->http_server, registered_uri) == 0); + r = evhttp_del_cb(base->http_server, registered_uri); + EVUTIL_ASSERT(r == 0); mm_free(registered_uri); return (0); @@ -526,6 +532,7 @@ evrpc_pool_free(struct evrpc_pool *pool) struct evrpc_request_wrapper *request; struct evrpc_hook_ctx *pause; struct evrpc_hook *hook; + int r; while ((request = TAILQ_FIRST(&pool->requests)) != NULL) { TAILQ_REMOVE(&pool->requests, request, next); @@ -543,11 +550,13 @@ evrpc_pool_free(struct evrpc_pool *pool) } while ((hook = TAILQ_FIRST(&pool->input_hooks)) != NULL) { - EVUTIL_ASSERT(evrpc_remove_hook(pool, EVRPC_INPUT, hook)); + r = evrpc_remove_hook(pool, EVRPC_INPUT, hook); + EVUTIL_ASSERT(r); } while ((hook = TAILQ_FIRST(&pool->output_hooks)) != NULL) { - EVUTIL_ASSERT(evrpc_remove_hook(pool, EVRPC_OUTPUT, hook)); + r = evrpc_remove_hook(pool, EVRPC_OUTPUT, hook); + EVUTIL_ASSERT(r); } mm_free(pool); @@ -1019,10 +1028,13 @@ evrpc_hook_add_meta(void *ctx, const char *key, if ((store = req->hook_meta) == NULL) store = req->hook_meta = evrpc_hook_meta_new(); - EVUTIL_ASSERT((meta = mm_malloc(sizeof(struct evrpc_meta))) != NULL); - EVUTIL_ASSERT((meta->key = mm_strdup(key)) != NULL); + meta = mm_malloc(sizeof(struct evrpc_meta)); + EVUTIL_ASSERT(meta != NULL); + meta->key = mm_strdup(key); + EVUTIL_ASSERT(meta->key != NULL); meta->data_size = data_size; - EVUTIL_ASSERT((meta->data = mm_malloc(data_size)) != NULL); + meta->data = mm_malloc(data_size); + EVUTIL_ASSERT(meta->data != NULL); memcpy(meta->data, data, data_size); TAILQ_INSERT_TAIL(&store->meta_data, meta, next); diff --git a/evthread.c b/evthread.c index 1e895c09..99718f34 100644 --- a/evthread.c +++ b/evthread.c @@ -187,8 +187,7 @@ evthread_debug_lock_mark_unlocked(unsigned mode, struct debug_lock *lock) else EVUTIL_ASSERT((mode & (EVTHREAD_READ|EVTHREAD_WRITE)) == 0); if (_evthread_id_fn) { - unsigned long me = _evthread_id_fn(); - EVUTIL_ASSERT(lock->held_by == me); + EVUTIL_ASSERT(lock->held_by == _evthread_id_fn()); if (lock->count == 1) lock->held_by = 0; } diff --git a/test/regress_bufferevent.c b/test/regress_bufferevent.c index b2271084..fd9c7e4e 100644 --- a/test/regress_bufferevent.c +++ b/test/regress_bufferevent.c @@ -25,6 +25,9 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* The old tests here need assertions to work. */ +#undef NDEBUG + #ifdef WIN32 #include #include diff --git a/test/regress_pthread.c b/test/regress_pthread.c index c918312c..34cf64b1 100644 --- a/test/regress_pthread.c +++ b/test/regress_pthread.c @@ -24,6 +24,9 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* The old tests here need assertions to work. */ +#undef NDEBUG + #include "event2/event-config.h" #include diff --git a/test/regress_rpc.c b/test/regress_rpc.c index 79e094bb..3620afae 100644 --- a/test/regress_rpc.c +++ b/test/regress_rpc.c @@ -25,6 +25,9 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* The old tests here need assertions to work. */ +#undef NDEBUG + #ifdef WIN32 #include #include diff --git a/test/regress_util.c b/test/regress_util.c index 16277a12..8b53c9fd 100644 --- a/test/regress_util.c +++ b/test/regress_util.c @@ -49,7 +49,6 @@ #include #include #include -#include #include "event2/event.h" #include "event2/util.h" @@ -832,7 +831,7 @@ test_evutil_rand(void *arg) buf2[j] |= buf1[j]; ++counts[(unsigned char)buf1[j]]; } else { - assert(buf1[j] == 0); + tt_assert(buf1[j] == 0); tt_int_op(buf1[j], ==, 0); } diff --git a/test/regress_zlib.c b/test/regress_zlib.c index 5e7a37c1..48354b44 100644 --- a/test/regress_zlib.c +++ b/test/regress_zlib.c @@ -24,6 +24,9 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* The old tests here need assertions to work. */ +#undef NDEBUG + #ifdef WIN32 #include #include diff --git a/util-internal.h b/util-internal.h index 7d276164..36c12dc2 100644 --- a/util-internal.h +++ b/util-internal.h @@ -168,6 +168,10 @@ long _evutil_weakrand(void); #endif /* Replacement for assert() that calls event_errx on failure. */ +#ifdef NDEBUG +#define EVUTIL_ASSERT(cond) _EVUTIL_NIL_STMT +#define EVUTIL_FAILURE_CHECK(cond) 0 +#else #define EVUTIL_ASSERT(cond) \ do { \ if (EVUTIL_UNLIKELY(!(cond))) { \ @@ -182,6 +186,8 @@ long _evutil_weakrand(void); abort(); \ } \ } while (0) +#define EVUTIL_FAILURE_CHECK(cond) EVUTIL_UNLIKELY(cond) +#endif /* Internal addrinfo error code. This one is returned from only from * evutil_getaddrinfo_common, when we are sure that we'll have to hit a DNS