mirror of
https://github.com/cuberite/libevent.git
synced 2025-09-10 04:50:37 -04:00
Add a regression test for event_self_cbarg().
This commit is contained in:
parent
817f374dc1
commit
fa931bb348
@ -1227,6 +1227,29 @@ end:
|
|||||||
event_del(&ev1);
|
event_del(&ev1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
event_selfarg_cb(evutil_socket_t fd, short event, void *arg)
|
||||||
|
{
|
||||||
|
struct event *ev = arg;
|
||||||
|
struct event_base *base = event_get_base(ev);
|
||||||
|
event_base_assert_ok_(base);
|
||||||
|
event_base_loopexit(base, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
test_event_selfarg(void *ptr)
|
||||||
|
{
|
||||||
|
struct basic_test_data *data = ptr;
|
||||||
|
struct event_base *base = data->base;
|
||||||
|
struct event *ev = event_new(base, -1, EV_READ, event_selfarg_cb,
|
||||||
|
event_self_cbarg());
|
||||||
|
|
||||||
|
event_active(ev, EV_READ, 1);
|
||||||
|
event_base_dispatch(base);
|
||||||
|
|
||||||
|
event_free(ev);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
test_bad_assign(void *ptr)
|
test_bad_assign(void *ptr)
|
||||||
{
|
{
|
||||||
@ -2335,6 +2358,7 @@ struct testcase_t main_testcases[] = {
|
|||||||
BASIC(free_active_base, TT_FORK|TT_NEED_SOCKETPAIR),
|
BASIC(free_active_base, TT_FORK|TT_NEED_SOCKETPAIR),
|
||||||
|
|
||||||
BASIC(manipulate_active_events, TT_FORK|TT_NEED_BASE),
|
BASIC(manipulate_active_events, TT_FORK|TT_NEED_BASE),
|
||||||
|
BASIC(event_selfarg, TT_FORK|TT_NEED_BASE),
|
||||||
|
|
||||||
BASIC(bad_assign, TT_FORK|TT_NEED_BASE|TT_NO_LOGS),
|
BASIC(bad_assign, TT_FORK|TT_NEED_BASE|TT_NO_LOGS),
|
||||||
BASIC(bad_reentrant, TT_FORK|TT_NEED_BASE|TT_NO_LOGS),
|
BASIC(bad_reentrant, TT_FORK|TT_NEED_BASE|TT_NO_LOGS),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user