diff options
author | joe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845> | 2012-06-26 10:13:33 +0000 |
---|---|---|
committer | joe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845> | 2012-06-26 10:13:33 +0000 |
commit | 2e07c98a3458da33a777dd4df159463864033a85 (patch) | |
tree | 7647b237a8a1e483d0aec23a03ed78a6258edae6 /test/utils.c | |
parent | 4f50a65041ba63d29c183190801c5899b377e27c (diff) | |
download | neon-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.c | 28 |
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); |