summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpquerna <pquerna@13f79535-47bb-0310-9956-ffa450edef68>2006-03-31 05:26:50 +0000
committerpquerna <pquerna@13f79535-47bb-0310-9956-ffa450edef68>2006-03-31 05:26:50 +0000
commitcf86f9bbe44fbf0eb1f4fd6801adc568c8043ac4 (patch)
treefe66f25a505c90fbfc544fbf2f72975ddae6c442
parent7f9e23b625ec90964f4809cc436b83b85845cb7f (diff)
downloadlibapr-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.c13
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;