Lines Matching +full:1000 +full:base +full:- +full:x +full:- +full:to +full:- +full:1000 +full:base +full:- +full:t

2  * Copyright (c) 2003-2007 Niels Provos <provos@citi.umich.edu>
3 * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson
13 * 3. The name of the author may not be used to endorse or promote products
17 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27 #include "util-internal.h"
34 #include "event2/event-config.h"
66 #include "event-internal.h"
67 #include "evthread-internal.h"
68 #include "log-internal.h"
69 #include "time-internal.h"
116 if (event_add(arg, NULL) == -1) in simple_read_cb()
137 switch (arg->callcount++) { in basic_read_cb()
138 case 0: /* first call: expect to read data; cycle */ in basic_read_cb()
155 event_del(arg->ev); in basic_read_cb()
156 event_base_loopexit(arg->eb, NULL); in basic_read_cb()
170 if (len == -1) in simple_write_cb()
184 len = sizeof(wbuf) - woff; in multiple_write_cb()
187 if (len == -1) { in multiple_write_cb()
204 if (event_add(ev, NULL) == -1) in multiple_write_cb()
215 len = read(fd, rbuf + roff, sizeof(rbuf) - roff); in multiple_read_cb()
216 if (len == -1) in multiple_read_cb()
226 if (event_add(ev, NULL) == -1) in multiple_read_cb()
250 if (len == -1) in combined_read_cb()
255 both->nread += len; in combined_read_cb()
256 if (event_add(&both->ev, NULL) == -1) in combined_read_cb()
268 if (len > both->nread) in combined_write_cb()
269 len = both->nread; in combined_write_cb()
274 if (len == -1) in combined_write_cb()
281 both->nread -= len; in combined_write_cb()
282 if (event_add(&both->ev, NULL) == -1) in combined_write_cb()
286 /* These macros used to replicate the work of the legacy test wrapper code */
287 #define setup_test(x) do { \ argument
289 TT_FAIL(("Legacy test %s not wrapped properly", x)); \
310 if (event_add(&ev, NULL) == -1) in test_simpleread()
326 if (event_add(&ev, NULL) == -1) in test_simplewrite()
346 setup_test("Simple read to multiple evens: "); in test_simpleread_multiple()
355 if (event_add(&one, NULL) == -1) in test_simpleread_multiple()
358 if (event_add(&two, NULL) == -1) in test_simpleread_multiple()
374 *fds[0] = -1; in simpleclose_close_fd_cb()
375 *fds[1] = -1; in simpleclose_close_fd_cb()
393 struct event_base *base = event_base_new(); in test_simpleclose_rw() local
394 evutil_socket_t pair1[2]={-1,-1}, pair2[2] = {-1, -1}; in test_simpleclose_rw()
429 closeev = event_new(base, -1, EV_TIMEOUT, simpleclose_close_fd_cb, in test_simpleclose_rw()
431 rev = event_new(base, pair1[1], EV_READ, record_event_cb, in test_simpleclose_rw()
434 wev = event_new(base, pair2[1], EV_WRITE, record_event_cb, in test_simpleclose_rw()
438 tv.tv_usec = 100*1000; /* Close pair1[0] after a little while, and make in test_simpleclose_rw()
443 /* Don't let the test go on too long. */ in test_simpleclose_rw()
445 tv.tv_usec = 200*1000; in test_simpleclose_rw()
446 event_base_loopexit(base, &tv); in test_simpleclose_rw()
447 event_base_loop(base, 0); in test_simpleclose_rw()
468 if (base) in test_simpleclose_rw()
469 event_base_free(base); in test_simpleclose_rw()
476 struct event_base *base = data->base; in test_simpleclose() local
477 evutil_socket_t *pair = data->pair; in test_simpleclose()
478 const char *flags = (const char *)data->setup_data; in test_simpleclose()
485 if (!(event_base_get_features(data->base) & EV_FEATURE_EARLY_CLOSE)) in test_simpleclose()
488 /* XXX: should this code moved to regress_et.c ? */ in test_simpleclose()
489 if (et && !(event_base_get_features(data->base) & EV_FEATURE_ET)) in test_simpleclose()
492 ev = event_new(base, pair[0], events, record_event_cb, &got_event); in test_simpleclose()
500 pair[1] = -1; in test_simpleclose()
507 /* w/o edge-triggerd but w/ persist it will not stop */ in test_simpleclose()
512 tt_assert(!event_base_loopexit(base, &tv)); in test_simpleclose()
515 tt_int_op(event_base_loop(base, EVLOOP_NONBLOCK), ==, !persist); in test_simpleclose()
539 if (event_add(&ev, NULL) == -1) in test_multiple()
542 if (event_add(&ev2, NULL) == -1) in test_multiple()
568 if (event_add(&ev, NULL) == -1) in test_persistent()
571 if (event_add(&ev2, NULL) == -1) in test_persistent()
599 tt_assert(event_add(&r1.ev, NULL) != -1); in test_combined()
620 tv.tv_usec = 200*1000; in test_simpletimeout()
642 /* call loopexit only once - on slow machines(?), it is in periodic_timeout_cb()
643 * apparently possible for this to get called twice. */ in periodic_timeout_cb()
659 event_assign(&ev, global_base, -1, EV_TIMEOUT|EV_PERSIST, in test_persistent_timeout()
674 struct timeval msec100 = { 0, 100 * 1000 }; in test_persistent_timeout_jump()
675 struct timeval msec50 = { 0, 50 * 1000 }; in test_persistent_timeout_jump()
676 struct timeval msec300 = { 0, 300 * 1000 }; in test_persistent_timeout_jump()
678 event_assign(&ev, data->base, -1, EV_PERSIST, periodic_timeout_cb, &count); in test_persistent_timeout_jump()
682 event_base_loopexit(data->base, &msec50); in test_persistent_timeout_jump()
683 event_base_dispatch(data->base); in test_persistent_timeout_jump()
707 if (c->n < 15) { in persist_active_timeout_cb()
708 c->events[c->n] = event; in persist_active_timeout_cb()
709 evutil_gettimeofday(&c->tvs[c->n], NULL); in persist_active_timeout_cb()
710 ++c->n; in persist_active_timeout_cb()
722 struct event_base *base = data->base; in test_persistent_active_timeout() local
727 tv.tv_usec = 200 * 1000; in test_persistent_active_timeout()
728 event_assign(&ev, base, -1, EV_TIMEOUT|EV_PERSIST, in test_persistent_active_timeout()
733 tv2.tv_usec = 100 * 1000; in test_persistent_active_timeout()
734 event_base_once(base, -1, EV_TIMEOUT, activate_cb, &ev, &tv2); in test_persistent_active_timeout()
737 tv_exit.tv_usec = 600 * 1000; in test_persistent_active_timeout()
738 event_base_loopexit(base, &tv_exit); in test_persistent_active_timeout()
740 event_base_assert_ok_(base); in test_persistent_active_timeout()
743 event_base_dispatch(base); in test_persistent_active_timeout()
744 event_base_assert_ok_(base); in test_persistent_active_timeout()
768 ++ti->count; in common_timeout_cb()
769 evutil_gettimeofday(&ti->called_at, NULL); in common_timeout_cb()
770 if (ti->count >= 4) in common_timeout_cb()
771 event_del(&ti->ev); in common_timeout_cb()
779 struct event_base *base = data->base; in test_common_timeout() local
784 struct timeval tmp_100_ms = { 0, 100*1000 }; in test_common_timeout()
785 struct timeval tmp_200_ms = { 0, 200*1000 }; in test_common_timeout()
787 struct timeval tmp_5M_usec = { 0, 5*1000*1000 }; in test_common_timeout()
791 ms_100 = event_base_init_common_timeout(base, &tmp_100_ms); in test_common_timeout()
792 ms_200 = event_base_init_common_timeout(base, &tmp_200_ms); in test_common_timeout()
793 sec_5 = event_base_init_common_timeout(base, &tmp_5_sec); in test_common_timeout()
797 tt_ptr_op(event_base_init_common_timeout(base, &tmp_200_ms), in test_common_timeout()
799 tt_ptr_op(event_base_init_common_timeout(base, ms_200), ==, ms_200); in test_common_timeout()
800 tt_ptr_op(event_base_init_common_timeout(base, &tmp_5M_usec), ==, sec_5); in test_common_timeout()
801 tt_int_op(ms_100->tv_sec, ==, 0); in test_common_timeout()
802 tt_int_op(ms_200->tv_sec, ==, 0); in test_common_timeout()
803 tt_int_op(sec_5->tv_sec, ==, 5); in test_common_timeout()
804 tt_int_op(ms_100->tv_usec, ==, 100000|0x50000000); in test_common_timeout()
805 tt_int_op(ms_200->tv_usec, ==, 200000|0x50100000); in test_common_timeout()
806 tt_int_op(sec_5->tv_usec, ==, 0|0x50200000); in test_common_timeout()
812 event_assign(&info[i].ev, base, -1, EV_TIMEOUT|EV_PERSIST, in test_common_timeout()
816 /* Glass-box test: Make sure we survive the in test_common_timeout()
817 * transition to non-common timeouts. It's in test_common_timeout()
822 /* Check heap-to-common too. */ in test_common_timeout()
826 /* Also check common-to-common. */ in test_common_timeout()
837 event_base_assert_ok_(base); in test_common_timeout()
839 event_base_dispatch(base); in test_common_timeout()
841 event_base_assert_ok_(base); in test_common_timeout()
852 /* Make sure we can free the base with some events in. */ in test_common_timeout()
862 event_base_free(data->base); /* need to do this here before info is in test_common_timeout()
863 * out-of-scope */ in test_common_timeout()
864 data->base = NULL; in test_common_timeout()
878 int child_pair[2] = { -1, -1 };
891 if (event_add(arg, NULL) == -1) in simple_child_read_cb()
908 if ((waitpid(pid, &status, WNOWAIT) == -1 && errno == EINVAL) && in fork_wait_check()
912 waitpid(pid, &status, 0) == -1) { in fork_wait_check()
933 if (evutil_socketpair(AF_UNIX, SOCK_STREAM, 0, child_pair) == -1) { in test_fork()
938 if (evutil_make_socket_nonblocking(child_pair[0]) == -1) { in test_fork()
952 if (event_add(&ev, NULL) == -1) in test_fork()
967 if (event_reinit(current_base) == -1) { in test_fork()
973 TT_BLATHER(("After assert-ok")); in test_fork()
989 * to set test_ok. we just verify that the callback was in test_fork()
991 exit(test_ok != 0 || called != 2 ? -2 : TEST_FORK_EXIT_SUCCESS); in test_fork()
1023 if (child_pair[0] != -1) in test_fork()
1025 if (child_pair[1] != -1) in test_fork()
1047 struct timeval delay = { 0, 300*1000 }; in del_wait_cb()
1071 struct timeval delay = { 0, 30*1000 }; in test_del_wait()
1105 event_set(&ev, -1, EV_READ, null_cb, &ev); in test_del_notify()
1111 struct timeval delay = { 0, 1000 }; in test_del_notify()
1143 /* find bugs in which operations are re-ordered */ in test_simplesignal_impl()
1152 if (setitimer(ITIMER_REAL, &itv, NULL) == -1) in test_simplesignal_impl()
1157 if (evsignal_del(&ev) == -1) in test_simplesignal_impl()
1194 if (setitimer(ITIMER_REAL, &itv, NULL) == -1) in test_multiplesignal()
1200 if (evsignal_del(&ev_one) == -1) in test_multiplesignal()
1202 if (evsignal_del(&ev_two) == -1) in test_multiplesignal()
1227 struct event_base *base = event_init(); in test_signal_dealloc() local
1231 event_base_free(base); in test_signal_dealloc()
1245 pipe1 = base1->sig.ev_signal_pair[0]; in test_signal_pipeloss()
1249 if (close(pipe1) != -1 || errno!=EBADF) { in test_signal_pipeloss()
1250 /* fd must be closed, so second close gives -1, EBADF */ in test_signal_pipeloss()
1260 * make two bases to catch signals, use both of them. this only works
1280 fprintf(stderr, "%s: cannot set base, add\n", __func__); in test_signal_switchbase()
1300 /* set base1 to handle signals */ in test_signal_switchbase()
1314 * removed - with no possibility of it's parent handler being fired.
1320 struct event_base *base = event_init(); in test_signal_assert() local
1322 /* use SIGCONT so we don't kill ourselves when we signal to nowhere */ in test_signal_assert()
1326 * if evsignal_del() fails to reset the handler, it's current handler in test_signal_assert()
1327 * will still point to evsig_handler(). in test_signal_assert()
1333 /* only way to verify we were in evsig_handler() */ in test_signal_assert()
1335 if (base->sig.evsig_caught) in test_signal_assert()
1343 event_base_free(base); in test_signal_assert()
1355 struct event_base *base = event_init(); in test_signal_restore() local
1365 if (sigaction(SIGUSR1, &sa, NULL) == -1) in test_signal_restore()
1380 event_base_free(base); in test_signal_restore()
1397 if (called == -1) { in timeout_cb_swp()
1412 struct event_base *base = event_init(); in test_signal_while_processing() local
1418 called = -1; in test_signal_while_processing()
1426 event_base_free(base); in test_signal_while_processing()
1441 event_assign(&ev1, base1, data->pair[1], EV_READ, dummy_read_cb, NULL); in test_free_active_base()
1447 event_assign(&ev1, base1, data->pair[0], 0, dummy_read_cb, NULL); in test_free_active_base()
1458 struct event_base *base = data->base; in test_manipulate_active_events() local
1461 event_assign(&ev1, base, -1, EV_TIMEOUT, dummy_read_cb, NULL); in test_manipulate_active_events()
1481 struct event_base *base = event_get_base(ev); in event_selfarg_cb() local
1482 event_base_assert_ok_(base); in event_selfarg_cb()
1483 event_base_loopexit(base, NULL); in event_selfarg_cb()
1484 tt_want(ev == event_base_get_running_event(base)); in event_selfarg_cb()
1491 struct event_base *base = data->base; in test_event_new_selfarg() local
1492 struct event *ev = event_new(base, -1, EV_READ, event_selfarg_cb, in test_event_new_selfarg()
1496 event_base_dispatch(base); in test_event_new_selfarg()
1505 struct event_base *base = data->base; in test_event_assign_selfarg() local
1508 event_assign(&ev, base, -1, EV_READ, event_selfarg_cb, in test_event_assign_selfarg()
1511 event_base_dispatch(base); in test_event_assign_selfarg()
1518 struct event_base *base = data->base; in test_event_base_get_num_events() local
1530 event_assign(&ev, base, -1, EV_READ, event_selfarg_cb, in test_event_base_get_num_events()
1534 event_count_active = event_base_get_num_events(base, in test_event_base_get_num_events()
1536 event_count_virtual = event_base_get_num_events(base, in test_event_base_get_num_events()
1538 event_count_added = event_base_get_num_events(base, in test_event_base_get_num_events()
1540 event_count_active_virtual = event_base_get_num_events(base, in test_event_base_get_num_events()
1542 event_count_active_added = event_base_get_num_events(base, in test_event_base_get_num_events()
1544 event_count_virtual_added = event_base_get_num_events(base, in test_event_base_get_num_events()
1546 event_count_active_added_virtual = event_base_get_num_events(base, in test_event_base_get_num_events()
1560 event_count_active = event_base_get_num_events(base, in test_event_base_get_num_events()
1562 event_count_virtual = event_base_get_num_events(base, in test_event_base_get_num_events()
1564 event_count_added = event_base_get_num_events(base, in test_event_base_get_num_events()
1566 event_count_active_virtual = event_base_get_num_events(base, in test_event_base_get_num_events()
1568 event_count_active_added = event_base_get_num_events(base, in test_event_base_get_num_events()
1570 event_count_virtual_added = event_base_get_num_events(base, in test_event_base_get_num_events()
1572 event_count_active_added_virtual = event_base_get_num_events(base, in test_event_base_get_num_events()
1584 event_base_loop(base, 0); in test_event_base_get_num_events()
1585 event_count_active = event_base_get_num_events(base, in test_event_base_get_num_events()
1587 event_count_virtual = event_base_get_num_events(base, in test_event_base_get_num_events()
1589 event_count_added = event_base_get_num_events(base, in test_event_base_get_num_events()
1591 event_count_active_virtual = event_base_get_num_events(base, in test_event_base_get_num_events()
1593 event_count_active_added = event_base_get_num_events(base, in test_event_base_get_num_events()
1595 event_count_virtual_added = event_base_get_num_events(base, in test_event_base_get_num_events()
1597 event_count_active_added_virtual = event_base_get_num_events(base, in test_event_base_get_num_events()
1609 event_base_add_virtual_(base); in test_event_base_get_num_events()
1610 event_count_active = event_base_get_num_events(base, in test_event_base_get_num_events()
1612 event_count_virtual = event_base_get_num_events(base, in test_event_base_get_num_events()
1614 event_count_added = event_base_get_num_events(base, in test_event_base_get_num_events()
1616 event_count_active_virtual = event_base_get_num_events(base, in test_event_base_get_num_events()
1618 event_count_active_added = event_base_get_num_events(base, in test_event_base_get_num_events()
1620 event_count_virtual_added = event_base_get_num_events(base, in test_event_base_get_num_events()
1622 event_count_active_added_virtual = event_base_get_num_events(base, in test_event_base_get_num_events()
1642 struct event_base *base = data->base; in test_event_base_get_max_events() local
1655 event_assign(&ev, base, -1, EV_READ, event_selfarg_cb, in test_event_base_get_max_events()
1657 event_assign(&ev2, base, -1, EV_READ, event_selfarg_cb, in test_event_base_get_max_events()
1664 event_count_active = event_base_get_max_events(base, in test_event_base_get_max_events()
1666 event_count_virtual = event_base_get_max_events(base, in test_event_base_get_max_events()
1668 event_count_added = event_base_get_max_events(base, in test_event_base_get_max_events()
1670 event_count_active_virtual = event_base_get_max_events(base, in test_event_base_get_max_events()
1672 event_count_active_added = event_base_get_max_events(base, in test_event_base_get_max_events()
1674 event_count_virtual_added = event_base_get_max_events(base, in test_event_base_get_max_events()
1676 event_count_active_added_virtual = event_base_get_max_events(base, in test_event_base_get_max_events()
1691 event_count_active = event_base_get_max_events(base, in test_event_base_get_max_events()
1693 event_count_virtual = event_base_get_max_events(base, in test_event_base_get_max_events()
1695 event_count_added = event_base_get_max_events(base, in test_event_base_get_max_events()
1697 event_count_active_virtual = event_base_get_max_events(base, in test_event_base_get_max_events()
1699 event_count_active_added = event_base_get_max_events(base, in test_event_base_get_max_events()
1701 event_count_virtual_added = event_base_get_max_events(base, in test_event_base_get_max_events()
1703 event_count_active_added_virtual = event_base_get_max_events(base, in test_event_base_get_max_events()
1716 event_base_loop(base, 0); in test_event_base_get_max_events()
1717 event_count_active = event_base_get_max_events(base, in test_event_base_get_max_events()
1719 event_count_virtual = event_base_get_max_events(base, in test_event_base_get_max_events()
1721 event_count_added = event_base_get_max_events(base, in test_event_base_get_max_events()
1723 event_count_active_virtual = event_base_get_max_events(base, in test_event_base_get_max_events()
1725 event_count_active_added = event_base_get_max_events(base, in test_event_base_get_max_events()
1727 event_count_virtual_added = event_base_get_max_events(base, in test_event_base_get_max_events()
1729 event_count_active_added_virtual = event_base_get_max_events(base, in test_event_base_get_max_events()
1742 event_count_active = event_base_get_max_events(base, in test_event_base_get_max_events()
1744 event_count_virtual = event_base_get_max_events(base, in test_event_base_get_max_events()
1746 event_count_added = event_base_get_max_events(base, in test_event_base_get_max_events()
1752 event_base_add_virtual_(base); in test_event_base_get_max_events()
1753 event_count_active = event_base_get_max_events(base, in test_event_base_get_max_events()
1755 event_count_virtual = event_base_get_max_events(base, in test_event_base_get_max_events()
1757 event_count_added = event_base_get_max_events(base, in test_event_base_get_max_events()
1759 event_count_active_virtual = event_base_get_max_events(base, in test_event_base_get_max_events()
1761 event_count_active_added = event_base_get_max_events(base, in test_event_base_get_max_events()
1763 event_count_virtual_added = event_base_get_max_events(base, in test_event_base_get_max_events()
1765 event_count_active_added_virtual = event_base_get_max_events(base, in test_event_base_get_max_events()
1788 r = event_assign(&ev, NULL, -1, EV_SIGNAL|EV_READ, dummy_read_cb, NULL); in test_bad_assign()
1789 tt_int_op(r,==,-1); in test_bad_assign()
1800 struct event_base *base = ptr; in bad_reentrant_run_loop_cb() local
1803 /* This reentrant call to event_base_loop should be detected and in bad_reentrant_run_loop_cb()
1805 r = event_base_loop(base, 0); in bad_reentrant_run_loop_cb()
1806 tt_int_op(r, ==, -1); in bad_reentrant_run_loop_cb()
1815 struct event_base *base = data->base; in test_bad_reentrant() local
1818 event_assign(&ev, base, -1, in test_bad_reentrant()
1819 0, bad_reentrant_run_loop_cb, base); in test_bad_reentrant()
1822 r = event_base_loop(base, 0); in test_bad_reentrant()
1835 char buf[] = "x"; in write_a_byte_cb()
1864 ev1 = event_new(data->base, data->pair[0], EV_READ|EV_PERSIST, read_and_drain_cb, NULL); in test_active_later()
1865 ev2 = event_new(data->base, data->pair[1], EV_WRITE|EV_PERSIST, write_a_byte_cb, NULL); in test_active_later()
1866 event_assign(&ev3, data->base, -1, 0, activate_other_event_cb, &ev4); in test_active_later()
1867 event_assign(&ev4, data->base, -1, 0, activate_other_event_cb, &ev3); in test_active_later()
1872 event_base_loopexit(data->base, &qsec); in test_active_later()
1874 event_base_loop(data->base, 0); in test_active_later()
1876 TT_BLATHER(("%d write calls, %d read calls, %d activate-other calls.", in test_active_later()
1895 event_base_assert_ok_(data->base); in test_active_later()
1903 event_base_free(data->base); in test_active_later()
1904 data->base = NULL; in test_active_later()
1942 rntp->events |= what; in read_not_timeout_cb()
1943 ++rntp->count; in read_not_timeout_cb()
1944 if(2 == rntp->count) event_del(rntp->ev[0]); in read_not_timeout_cb()
1953 struct event_base *base = data->base; in test_event_remove_timeout() local
1956 struct timeval ms25 = { 0, 25*1000 }, in test_event_remove_timeout()
1957 ms40 = { 0, 40*1000 }, in test_event_remove_timeout()
1958 ms75 = { 0, 75*1000 }, in test_event_remove_timeout()
1959 ms125 = { 0, 125*1000 }; in test_event_remove_timeout()
1962 event_base_assert_ok_(base); in test_event_remove_timeout()
1964 ev[0] = event_new(base, data->pair[0], EV_READ|EV_PERSIST, in test_event_remove_timeout()
1966 ev[1] = evtimer_new(base, incr_arg_cb, &ev1_fired); in test_event_remove_timeout()
1967 ev[2] = evtimer_new(base, remove_timers_cb, ev); in test_event_remove_timeout()
1968 ev[3] = evtimer_new(base, send_a_byte_cb, &data->pair[1]); in test_event_remove_timeout()
1969 ev[4] = evtimer_new(base, send_a_byte_cb, &data->pair[1]); in test_event_remove_timeout()
1970 tt_assert(base); in test_event_remove_timeout()
1972 event_add(ev[4], &ms40); /* write to test if timer re-activates */ in test_event_remove_timeout()
1976 event_base_assert_ok_(base); in test_event_remove_timeout()
1978 event_base_dispatch(base); in test_event_remove_timeout()
1983 event_base_assert_ok_(base); in test_event_remove_timeout()
1996 struct event_base *base = 0; in test_event_base_new() local
2001 int len = write(data->pair[0], TEST1, towrite); in test_event_base_new()
2009 if (shutdown(data->pair[0], EVUTIL_SHUT_WR)) in test_event_base_new()
2012 base = event_base_new(); in test_event_base_new()
2013 if (!base) in test_event_base_new()
2014 tt_abort_msg("failed to create event base"); in test_event_base_new()
2016 args.eb = base; in test_event_base_new()
2019 event_assign(&ev1, base, data->pair[1], in test_event_base_new()
2025 if (event_base_loop(base, 0)) in test_event_base_new()
2029 if (base) in test_event_base_new()
2030 event_base_free(base); in test_event_base_new()
2046 tv.tv_usec = 300*1000; in test_loopexit()
2070 struct event_base *base; in test_loopexit_multiple() local
2074 base = event_base_new(); in test_loopexit_multiple()
2076 tv.tv_usec = 200*1000; in test_loopexit_multiple()
2078 event_base_loopexit(base, &tv); in test_loopexit_multiple()
2082 event_base_loopexit(base, &tv); in test_loopexit_multiple()
2085 event_base_dispatch(base); in test_loopexit_multiple()
2088 tt_assert(event_base_got_exit(base)); in test_loopexit_multiple()
2089 tt_assert(!event_base_got_break(base)); in test_loopexit_multiple()
2091 event_base_free(base); in test_loopexit_multiple()
2170 tt_assert(!event_assign(&ev1, data->base, data->pair[0], EV_READ, re_add_read_cb, &ev2)); in test_nonpersist_readd()
2171 tt_assert(!event_assign(&ev2, data->base, data->pair[1], EV_READ, re_add_read_cb, &ev1)); in test_nonpersist_readd()
2173 tt_int_op(write(data->pair[0], "Hello", 5), ==, 5); in test_nonpersist_readd()
2174 tt_int_op(write(data->pair[1], "Hello", 5), ==, 5); in test_nonpersist_readd()
2178 tt_int_op(event_base_loop(data->base, EVLOOP_ONCE), ==, 0); in test_nonpersist_readd()
2184 * re-added the first. in test_nonpersist_readd()
2211 if (pri->count == 3) { in test_priorities_cb()
2216 pri->count++; in test_priorities_cb()
2219 event_add(&pri->ev, &tv); in test_priorities_cb()
2236 if (event_priority_set(&one.ev, 0) == -1) { in test_priorities_impl()
2237 fprintf(stderr, "%s: failed to set priority", __func__); in test_priorities_impl()
2242 if (event_priority_set(&two.ev, npriorities - 1) == -1) { in test_priorities_impl()
2243 fprintf(stderr, "%s: failed to set priority", __func__); in test_priorities_impl()
2249 if (event_add(&one.ev, &tv) == -1) in test_priorities_impl()
2251 if (event_add(&two.ev, &tv) == -1) in test_priorities_impl()
2282 /* priority-active-inversion: activate a higher-priority event, and make sure
2283 * it keeps us from running a lower-priority event first. */
2306 struct event_base *base = data->base; in test_priority_active_inversion() local
2309 tt_int_op(event_base_priority_init(base, 8), ==, 0); in test_priority_active_inversion()
2315 event_assign(&pai_events[i], data->base, -1, 0, in test_priority_active_inversion()
2325 event_base_dispatch(base); in test_priority_active_inversion()
2414 tv.tv_usec = 300*1000; in test_want_only_once()
2418 if (event_add(&ev, NULL) == -1) in test_want_only_once()
2445 TT_BLATHER(("encoded 0x%08x with %d bytes", in evtag_int_test()
2446 (unsigned)integers[i], newlen - oldlen)); in evtag_int_test()
2453 tt_int_op(evtag_decode_int(&integer, tmp), !=, -1); in evtag_int_test()
2455 tt_int_op(evtag_decode_int64(&big_int, tmp), !=, -1); in evtag_int_test()
2479 evbuffer_drain(tmp, -1); in evtag_fuzz()
2482 if (evtag_unmarshal_timeval(tmp, 0, &tv) != -1) in evtag_fuzz()
2490 evbuffer_drain(tmp, -1); in evtag_fuzz()
2497 if (evtag_unmarshal_timeval(tmp, 0, &tv) != -1) { in evtag_fuzz()
2522 TT_BLATHER(("encoded 0x%08x with %d bytes", in evtag_tag_encoding()
2523 (unsigned)integers[i], newlen - oldlen)); in evtag_tag_encoding()
2527 tt_int_op(evtag_decode_tag(&integer, tmp), !=, -1); in evtag_tag_encoding()
2569 struct event_base *base = NULL; in test_methods() local
2588 base = event_base_new_with_config(cfg); in test_methods()
2590 tt_assert(base); in test_methods()
2591 tt_str_op(backend, !=, event_base_get_method(base)); in test_methods()
2593 tt_assert(base == NULL); in test_methods()
2597 if (base) in test_methods()
2598 event_base_free(base); in test_methods()
2629 struct event_base *base = NULL; in test_base_features() local
2636 base = event_base_new_with_config(cfg); in test_base_features()
2637 if (base) { in test_base_features()
2639 event_base_get_features(base) & EV_FEATURE_ET); in test_base_features()
2641 base = event_base_new(); in test_base_features()
2642 tt_int_op(0, ==, event_base_get_features(base) & EV_FEATURE_ET); in test_base_features()
2646 if (base) in test_base_features()
2647 event_base_free(base); in test_base_features()
2691 struct event_base *base = NULL; in test_base_environ() local
2705 TT_DECLARE("NOTE", ("Can't fake unsetenv; skipping test")); in test_base_environ()
2707 TT_DECLARE("NOTE", ("unsetenv doesn't work; skipping test")); in test_base_environ()
2719 base = event_base_new(); in test_base_environ()
2720 tt_assert(base); in test_base_environ()
2722 defaultname = event_base_get_method(base); in test_base_environ()
2724 event_base_free(base); in test_base_environ()
2725 base = NULL; in test_base_environ()
2737 /* Use an empty cfg rather than NULL so a failure doesn't exit() */ in test_base_environ()
2739 base = event_base_new_with_config(cfg); in test_base_environ()
2743 tt_assert(!base); in test_base_environ()
2745 tt_assert(base); in test_base_environ()
2746 tt_str_op(defaultname, !=, event_base_get_method(base)); in test_base_environ()
2747 event_base_free(base); in test_base_environ()
2748 base = NULL; in test_base_environ()
2754 base = event_base_new_with_config(cfg); in test_base_environ()
2755 tt_assert(base); in test_base_environ()
2756 tt_str_op(ignoreenvname, ==, event_base_get_method(base)); in test_base_environ()
2762 if (base) in test_base_environ()
2763 event_base_free(base); in test_base_environ()
2790 called += 1000; in immediate_called_twice_cb()
2803 tv.tv_usec = 50*1000; in test_event_once()
2805 r = event_base_once(data->base, data->pair[0], EV_READ, in test_event_once()
2808 r = event_base_once(data->base, -1, EV_TIMEOUT, in test_event_once()
2811 r = event_base_once(data->base, -1, 0, NULL, NULL, NULL); in test_event_once()
2813 r = event_base_once(data->base, -1, EV_TIMEOUT, in test_event_once()
2818 r = event_base_once(data->base, -1, EV_TIMEOUT, in test_event_once()
2822 if (write(data->pair[1], TEST1, strlen(TEST1)+1) < 0) { in test_event_once()
2826 shutdown(data->pair[1], EVUTIL_SHUT_WR); in test_event_once()
2828 event_base_dispatch(data->base); in test_event_once()
2841 /* Have one trigger in 10 seconds (don't worry, because) */ in test_event_once_never()
2845 event_base_once(data->base, -1, EV_TIMEOUT, in test_event_once_never()
2848 /* But shut down the base in 75 msec. */ in test_event_once_never()
2850 tv.tv_usec = 75*1000; in test_event_once_never()
2851 event_base_loopexit(data->base, &tv); in test_event_once_never()
2853 event_base_dispatch(data->base); in test_event_once_never()
2864 struct event *r=NULL, *w=NULL, *t=NULL; in test_event_pending() local
2868 tv.tv_usec = 500 * 1000; in test_event_pending()
2869 r = event_new(data->base, data->pair[0], EV_READ, simple_read_cb, in test_event_pending()
2871 w = event_new(data->base, data->pair[1], EV_WRITE, simple_write_cb, in test_event_pending()
2873 t = evtimer_new(data->base, timeout_cb, NULL); in test_event_pending()
2877 tt_assert(t); in test_event_pending()
2881 event_add(t, &tv); in test_event_pending()
2888 tt_assert( event_pending(t, EV_TIMEOUT, NULL)); in test_event_pending()
2889 tt_assert( event_pending(t, EV_TIMEOUT, &tv2)); in test_event_pending()
2904 if (t) { in test_event_pending()
2905 event_del(t); in test_event_pending()
2906 event_free(t); in test_event_pending()
2924 if (strcmp(event_base_get_method(data->base), "poll")) { in test_event_closed_fd_poll()
2929 e = event_new(data->base, data->pair[0], EV_READ, dfd_cb, &i); in test_event_closed_fd_poll()
2933 tv.tv_usec = 500 * 1000; in test_event_closed_fd_poll()
2936 close(data->pair[0]); in test_event_closed_fd_poll()
2937 data->pair[0] = -1; /** avoids double-close */ in test_event_closed_fd_poll()
2938 event_base_loop(data->base, EVLOOP_ONCE); in test_event_closed_fd_poll()
2949 /* You can't do this test on windows, since dup2 doesn't work on sockets */
2958 struct event_base *base = data->base; in test_dup_fd() local
2960 int fd, dfd=-1; in test_dup_fd()
2963 tt_int_op(write(data->pair[0], "Hello world", in test_dup_fd()
2965 fd = data->pair[1]; in test_dup_fd()
2970 ev1 = event_new(base, fd, EV_READ|EV_PERSIST, dfd_cb, &ev1_got); in test_dup_fd()
2971 ev2 = event_new(base, dfd, EV_READ|EV_PERSIST, dfd_cb, &ev2_got); in test_dup_fd()
2975 event_base_loop(base, EVLOOP_ONCE); in test_dup_fd()
2979 /* Now close and delete dfd then dispatch. We need to do the in test_dup_fd()
2985 event_base_loop(base, EVLOOP_ONCE); in test_dup_fd()
2989 /* Re-duplicate the fd. We need to get the same duplicated in test_dup_fd()
2990 * value that we closed to provoke the epoll quirk. Also, we in test_dup_fd()
2991 * need to change the events to write, or else the old lingering in test_dup_fd()
2996 ev2 = event_new(base, dfd, EV_WRITE|EV_PERSIST, dfd_cb, &ev2_got); in test_dup_fd()
2999 event_base_loop(base, EVLOOP_ONCE); in test_dup_fd()
3024 mem -= 16; in check_dummy_mem_ok()
3043 mem -= 16; in dummy_realloc()
3053 mem -= 16; in dummy_free()
3088 * sure that we can get past the 64-handle limit of some windows in test_many_events()
3093 struct event_base *base = data->base; in test_many_events() local
3094 int one_at_a_time = data->setup_data != NULL; in test_many_events()
3117 ev[i] = event_new(base, sock[i], EV_WRITE|evflags, in test_many_events()
3121 event_base_loop(base, EVLOOP_NONBLOCK|EVLOOP_ONCE); in test_many_events()
3124 event_base_loop(base, loopflags); in test_many_events()
3128 tt_int_op(called[i], ==, MANY - i + 1); in test_many_events()
3155 struct event_base *base = data->base; in test_get_assignment() local
3165 ev1 = event_new(base, data->pair[1], EV_READ, dummy_read_cb, (void*)str); in test_get_assignment()
3168 tt_ptr_op(b, ==, base); in test_get_assignment()
3169 tt_fd_op(s, ==, data->pair[1]); in test_get_assignment()
3174 /* Now make sure this doesn't crash. */ in test_get_assignment()
3188 foreach_count_cb(const struct event_base *base, const struct event *ev, void *arg) in foreach_count_cb() argument
3194 tt_ptr_op(event_get_base(ev), ==, base); in foreach_count_cb()
3195 tt_int_op(tv->tv_sec, ==, 10); in foreach_count_cb()
3196 h->ev = ev; in foreach_count_cb()
3197 h->count++; in foreach_count_cb()
3200 return -1; in foreach_count_cb()
3204 foreach_find_cb(const struct event_base *base, const struct event *ev, void *arg) in foreach_find_cb() argument
3210 if (h->count == 99) { in foreach_find_cb()
3221 struct event_base *base = data->base; in test_event_foreach() local
3231 ev[i] = event_new(base, -1, 0, timeout_cb, &visited[i]); in test_event_foreach()
3234 tt_int_op(-1, ==, event_base_foreach_event(NULL, foreach_count_cb, NULL)); in test_event_foreach()
3235 tt_int_op(-1, ==, event_base_foreach_event(base, NULL, NULL)); in test_event_foreach()
3242 /* Don't touch ev[4]. */ in test_event_foreach()
3244 tt_int_op(0, ==, event_base_foreach_event(base, foreach_count_cb, in test_event_foreach()
3256 tt_int_op(101, ==, event_base_foreach_event(base, foreach_find_cb, in test_event_foreach()
3275 struct timeval delay = { 0, 30*1000 }; in cache_time_cb()
3290 struct event_base *base = NULL; in test_gettimeofday_cached() local
3293 int cached_time_disable = strstr(data->setup_data, "disable") != NULL; in test_gettimeofday_cached()
3299 cached_time_base = base = event_base_new_with_config(cfg); in test_gettimeofday_cached()
3300 tt_assert(base); in test_gettimeofday_cached()
3305 tt_int_op(0, ==, event_base_gettimeofday_cached(base, &tv2)); in test_gettimeofday_cached()
3309 cached_time_reset = strstr(data->setup_data, "reset") != NULL; in test_gettimeofday_cached()
3310 cached_time_sleep = strstr(data->setup_data, "sleep") != NULL; in test_gettimeofday_cached()
3312 ev1 = event_new(base, -1, 0, cache_time_cb, &tv1); in test_gettimeofday_cached()
3313 ev2 = event_new(base, -1, 0, cache_time_cb, &tv2); in test_gettimeofday_cached()
3314 ev3 = event_new(base, -1, 0, cache_time_cb, &tv3); in test_gettimeofday_cached()
3320 event_base_dispatch(base); in test_gettimeofday_cached()
3340 if (base) in test_gettimeofday_cached()
3341 event_base_free(base); in test_gettimeofday_cached()
3358 struct event_base *base = data->base; in test_evmap_invalid_slots() local
3366 ev1 = evsignal_new(base, -1, dummy_read_cb, (void *)base); in test_evmap_invalid_slots()
3367 ev2 = evsignal_new(base, NSIG, dummy_read_cb, (void *)base); in test_evmap_invalid_slots()
3375 ev3 = event_new(base, INT_MAX, EV_READ, dummy_read_cb, (void *)base); in test_evmap_invalid_slots()
3376 ev4 = event_new(base, INT_MAX / 2, EV_READ, dummy_read_cb, (void *)base); in test_evmap_invalid_slots()
3398 struct event_base *base = data->base; in test_active_by_fd() local
3408 event_base_active_by_fd(base, 1000, EV_READ); in test_active_by_fd()
3411 event_base_active_by_fd(base, -1, EV_READ); in test_active_by_fd()
3414 event_base_active_by_signal(base, 1000); in test_active_by_fd()
3415 event_base_active_by_signal(base, -1); in test_active_by_fd()
3417 event_base_assert_ok_(base); in test_active_by_fd()
3420 ev1 = event_new(base, data->pair[0], EV_READ, tabf_cb, &e1); in test_active_by_fd()
3421 ev2 = event_new(base, data->pair[0], EV_WRITE, tabf_cb, &e2); in test_active_by_fd()
3422 ev3 = event_new(base, data->pair[1], EV_READ, tabf_cb, &e3); in test_active_by_fd()
3423 ev4 = event_new(base, data->pair[1], EV_READ, tabf_cb, &e4); in test_active_by_fd()
3429 evsig = event_new(base, SIGHUP, EV_SIGNAL, tabf_cb, &es); in test_active_by_fd()
3440 event_base_assert_ok_(base); in test_active_by_fd()
3443 event_base_active_by_fd(base, data->pair[0], EV_WRITE); in test_active_by_fd()
3444 event_base_active_by_fd(base, data->pair[1], EV_READ); in test_active_by_fd()
3445 event_base_active_by_fd(base, data->pair[1], EV_TIMEOUT); in test_active_by_fd()
3447 event_base_active_by_signal(base, SIGHUP); in test_active_by_fd()
3450 event_base_assert_ok_(base); in test_active_by_fd()
3452 event_base_loop(base, EVLOOP_ONCE); in test_active_by_fd()
3479 /* Some converted-over tests */