summaryrefslogtreecommitdiff
path: root/test/testpoll.c
diff options
context:
space:
mode:
authorJoe Orton <jorton@apache.org>2007-02-21 13:35:43 +0000
committerJoe Orton <jorton@apache.org>2007-02-21 13:35:43 +0000
commitfe9d2c4b41c30da0d0dcba923ccec20e2dd37786 (patch)
treef186d595ac976b2f7d24848ccac26604b75c016e /test/testpoll.c
parent22cccf01155eff03428d6f3edff6ed53800a371d (diff)
downloadapr-fe9d2c4b41c30da0d0dcba923ccec20e2dd37786.tar.gz
* test/testpoll.c (setup_pollcb, trigger_pollcb, timeout_pollcb,
timeout_pollin_pollcb): Skip tests if pollcb interface is ENOTIMPL. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@510006 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'test/testpoll.c')
-rw-r--r--test/testpoll.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/test/testpoll.c b/test/testpoll.c
index 0073317b6..b0875a2fd 100644
--- a/test/testpoll.c
+++ b/test/testpoll.c
@@ -553,11 +553,20 @@ static void pollset_remove(abts_case *tc, void *data)
(hot_files[1].client_data == (void *)1)));
}
+#define POLLCB_PREREQ do { if (pollcb == NULL) \
+ABTS_NOT_IMPL(tc, "pollcb interface not supported"); return; } while (0)
+
static void setup_pollcb(abts_case *tc, void *data)
{
apr_status_t rv;
rv = apr_pollcb_create(&pollcb, LARGE_NUM_SOCKETS, p, 0);
- ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+ if (rv == APR_ENOTIMPL) {
+ pollcb = NULL;
+ ABTS_NOT_IMPL(tc, "pollcb interface not supported");
+ }
+ else {
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+ }
}
typedef struct pollcb_baton_t {
@@ -580,6 +589,8 @@ static void trigger_pollcb(abts_case *tc, void *data)
apr_pollfd_t socket_pollfd;
pollcb_baton_t pcb;
+ POLLCB_PREREQ;
+
ABTS_PTR_NOTNULL(tc, s[0]);
socket_pollfd.desc_type = APR_POLL_SOCKET;
socket_pollfd.reqevents = APR_POLLIN;
@@ -603,6 +614,9 @@ static void timeout_pollcb(abts_case *tc, void *data)
{
apr_status_t rv;
pollcb_baton_t pcb;
+
+ POLLCB_PREREQ;
+
pcb.count = 0;
pcb.tc = tc;
@@ -617,6 +631,8 @@ static void timeout_pollin_pollcb(abts_case *tc, void *data)
pollcb_baton_t pcb;
apr_pollfd_t socket_pollfd;
+ POLLCB_PREREQ;
+
recv_msg(s, 0, p, tc);
ABTS_PTR_NOTNULL(tc, s[0]);