From: Azat Khuzhin Date: Thu, 8 Oct 2015 22:40:02 +0000 (+0300) Subject: test/regress_be: cover finalizers from inactive to active queue X-Git-Tag: release-2.1.6-beta~90^2~30 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=337684b8e8fc0329fb8bcc27517cf167fa5383f7;p=libevent test/regress_be: cover finalizers from inactive to active queue Right now this will fail with the next assertion: $ regress --no-fork --verbose bufferevent/bufferevent_socket_filter_inactive bufferevent/bufferevent_socket_filter_inactive: [err] ../event.c:862: Assertion TAILQ_EMPTY(&base->activequeues[i]) failed in event_base_free_ Aborted --- diff --git a/test/regress_bufferevent.c b/test/regress_bufferevent.c index 81c5de5a..72636ca6 100644 --- a/test/regress_bufferevent.c +++ b/test/regress_bufferevent.c @@ -1151,6 +1151,23 @@ end: bufferevent_free(bev); } +static void +test_bufferevent_socket_filter_inactive(void *arg) +{ + struct basic_test_data *data = arg; + struct bufferevent *bev = NULL, *bevf = NULL; + + bev = bufferevent_socket_new(data->base, -1, 0); + bevf = bufferevent_filter_new(bev, NULL, NULL, 0, NULL, NULL); + +end: + if (bevf) + bufferevent_free(bevf); + if (bev) + bufferevent_free(bev); +} + + struct testcase_t bufferevent_testcases[] = { LEGACY(bufferevent, TT_ISOLATED), @@ -1209,6 +1226,10 @@ struct testcase_t bufferevent_testcases[] = { test_bufferevent_connect_fail_eventcb, TT_FORK|TT_NEED_BASE, &basic_setup, NULL }, + { "bufferevent_socket_filter_inactive", + test_bufferevent_socket_filter_inactive, + TT_FORK|TT_NEED_BASE, &basic_setup, NULL }, + END_OF_TESTCASES, };