summaryrefslogtreecommitdiff
path: root/test/utils.c
diff options
context:
space:
mode:
authorjoe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845>2012-06-26 10:13:33 +0000
committerjoe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845>2012-06-26 10:13:33 +0000
commit2e07c98a3458da33a777dd4df159463864033a85 (patch)
tree7647b237a8a1e483d0aec23a03ed78a6258edae6 /test/utils.c
parent4f50a65041ba63d29c183190801c5899b377e27c (diff)
downloadneon-2e07c98a3458da33a777dd4df159463864033a85.tar.gz
* test/utils.c (fakeproxied_session_server): New function.
git-svn-id: http://svn.webdav.org/repos/projects/neon/trunk@1890 61a7d7f5-40b7-0310-9c16-bb0ea8cb1845
Diffstat (limited to 'test/utils.c')
-rw-r--r--test/utils.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/utils.c b/test/utils.c
index 0749774..aa3141b 100644
--- a/test/utils.c
+++ b/test/utils.c
@@ -201,6 +201,34 @@ int proxied_session_server(ne_session **sess, const char *scheme,
return OK;
}
+static void fakesess_destroy(void *userdata)
+{
+ ne_inet_addr *addr = userdata;
+
+ ne_iaddr_free(addr);
+}
+
+int fakeproxied_session_server(ne_session **sess, const char *scheme,
+ const char *host, unsigned int fakeport,
+ server_fn fn, void *userdata)
+{
+ unsigned int port;
+ ne_inet_addr *addr;
+ const ne_inet_addr *alist[1];
+
+ CALL(new_spawn_server2(1, fn, userdata, &addr, &port));
+
+ alist[0] = addr;
+
+ *sess = ne_session_create(scheme, host, fakeport);
+
+ ne_set_addrlist2(*sess, port, alist, 1);
+
+ ne_hook_destroy_session(*sess, fakesess_destroy, addr);
+
+ return OK;
+}
+
int make_session(ne_session **sess, server_fn fn, void *ud)
{
return session_server(sess, fn, ud);