diff options
author | pquerna <pquerna@13f79535-47bb-0310-9956-ffa450edef68> | 2006-03-31 05:26:50 +0000 |
---|---|---|
committer | pquerna <pquerna@13f79535-47bb-0310-9956-ffa450edef68> | 2006-03-31 05:26:50 +0000 |
commit | cf86f9bbe44fbf0eb1f4fd6801adc568c8043ac4 (patch) | |
tree | fe66f25a505c90fbfc544fbf2f72975ddae6c442 | |
parent | 7f9e23b625ec90964f4809cc436b83b85845cb7f (diff) | |
download | libapr-cf86f9bbe44fbf0eb1f4fd6801adc568c8043ac4.tar.gz |
Add a new timeout testcase, which makes sure that with no sockets inside the pollset, we should trigger a timeout.
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/branches/pollcb-dev@390330 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | test/testpoll.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/test/testpoll.c b/test/testpoll.c index 6a66f0db3..4b7315302 100644 --- a/test/testpoll.c +++ b/test/testpoll.c @@ -599,6 +599,18 @@ static void trigger_pollcb(abts_case *tc, void *data) ABTS_INT_EQUAL(tc, APR_SUCCESS, rv); } +static void timeout_pollcb(abts_case *tc, void *data) +{ + apr_status_t rv; + pollcb_baton_t pcb; + pcb.count = 0; + pcb.tc = tc; + + rv = apr_pollcb_poll(pollcb, 1, trigger_pollcb_cb, &pcb); + ABTS_INT_EQUAL(tc, 1, APR_STATUS_IS_TIMEUP(rv)); + ABTS_INT_EQUAL(tc, 0, pcb.count); +} + abts_suite *testpoll(abts_suite *suite) { suite = ADD_SUITE(suite) @@ -636,6 +648,7 @@ abts_suite *testpoll(abts_suite *suite) abts_run_test(suite, create_all_sockets, NULL); abts_run_test(suite, setup_pollcb, NULL); abts_run_test(suite, trigger_pollcb, NULL); + abts_run_test(suite, timeout_pollcb, NULL); abts_run_test(suite, close_all_sockets, NULL); return suite; |