diff options
author | Nick Mathewson <nickm@torproject.org> | 2010-09-03 18:48:31 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2010-09-03 18:48:31 -0400 |
commit | a97320ac579e58e685c19393e2599accfb5edbe5 (patch) | |
tree | 35e76acfa2221b7b221a59d071731410c98f49e1 /test/regress_bufferevent.c | |
parent | 195214360c7cb107e86bfaa389812c879873f19c (diff) | |
download | libevent-a97320ac579e58e685c19393e2599accfb5edbe5.tar.gz |
Allow more than one copy of regression tests to run at once
Mostly this was a matter of just removing all the hardwired ports in
the test code. The http/connection_retry test is still a little
screwy, though.
Diffstat (limited to 'test/regress_bufferevent.c')
-rw-r--r-- | test/regress_bufferevent.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/test/regress_bufferevent.c b/test/regress_bufferevent.c index fd9c7e4e..8f4ca685 100644 --- a/test/regress_bufferevent.c +++ b/test/regress_bufferevent.c @@ -470,7 +470,10 @@ test_bufferevent_connect(void *arg) struct evconnlistener *lev=NULL; struct bufferevent *bev1=NULL, *bev2=NULL; struct sockaddr_in localhost; - struct sockaddr *sa = (struct sockaddr*)&localhost; + struct sockaddr_storage ss; + struct sockaddr *sa; + ev_socklen_t slen; + int be_flags=BEV_OPT_CLOSE_ON_FREE; if (strstr((char*)data->setup_data, "defer")) { @@ -494,14 +497,21 @@ test_bufferevent_connect(void *arg) memset(&localhost, 0, sizeof(localhost)); - localhost.sin_port = htons(27015); + localhost.sin_port = 0; /* pick-a-port */ localhost.sin_addr.s_addr = htonl(0x7f000001L); localhost.sin_family = AF_INET; - + sa = (struct sockaddr *)&localhost; lev = evconnlistener_new_bind(data->base, listen_cb, data->base, LEV_OPT_CLOSE_ON_FREE|LEV_OPT_REUSEABLE, 16, sa, sizeof(localhost)); tt_assert(lev); + + sa = (struct sockaddr *)&ss; + slen = sizeof(ss); + if (evconnlistener_get_address(lev, sa, &slen) < 0) { + tt_abort_perror("getsockname"); + } + tt_assert(!evconnlistener_enable(lev)); bev1 = bufferevent_socket_new(data->base, -1, be_flags); bev2 = bufferevent_socket_new(data->base, -1, be_flags); @@ -584,7 +594,7 @@ test_bufferevent_connect_fail(void *arg) test_ok = 0; memset(&localhost, 0, sizeof(localhost)); - localhost.sin_port = 0; + localhost.sin_port = 0; /* have the kernel pick a port */ localhost.sin_addr.s_addr = htonl(0x7f000001L); localhost.sin_family = AF_INET; |