diff options
author | Joe Orton <jorton@apache.org> | 2007-02-21 13:35:43 +0000 |
---|---|---|
committer | Joe Orton <jorton@apache.org> | 2007-02-21 13:35:43 +0000 |
commit | fe9d2c4b41c30da0d0dcba923ccec20e2dd37786 (patch) | |
tree | f186d595ac976b2f7d24848ccac26604b75c016e /test/testpoll.c | |
parent | 22cccf01155eff03428d6f3edff6ed53800a371d (diff) | |
download | apr-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.c | 18 |
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]); |