From 2078e9b46aa25cb3131acc9e575939533a77eb36 Mon Sep 17 00:00:00 2001 From: Patrick Pelletier Date: Thu, 14 Feb 2013 20:14:37 -0800 Subject: [PATCH] make sure caching works, and we don't leak memory --- test/print-winsock-errors.c | 101 +++++++++++++++++++++--------------- 1 file changed, 58 insertions(+), 43 deletions(-) diff --git a/test/print-winsock-errors.c b/test/print-winsock-errors.c index 5064d0ba..d085d83d 100644 --- a/test/print-winsock-errors.c +++ b/test/print-winsock-errors.c @@ -4,6 +4,7 @@ #include #include +#include "event2/event.h" #include "event2/util.h" #include "event2/thread.h" @@ -11,51 +12,65 @@ int main (int argc, char **argv) { + int i; + const char *s1, *s2; + evthread_use_windows_threads (); - E(WSAEINTR); - E(WSAEACCES); - E(WSAEFAULT); - E(WSAEINVAL); - E(WSAEMFILE); - E(WSAEWOULDBLOCK); - E(WSAEINPROGRESS); - E(WSAEALREADY); - E(WSAENOTSOCK); - E(WSAEDESTADDRREQ); - E(WSAEMSGSIZE); - E(WSAEPROTOTYPE); - E(WSAENOPROTOOPT); - E(WSAEPROTONOSUPPORT); - E(WSAESOCKTNOSUPPORT); - E(WSAEOPNOTSUPP); - E(WSAEPFNOSUPPORT); - E(WSAEAFNOSUPPORT); - E(WSAEADDRINUSE); - E(WSAEADDRNOTAVAIL); - E(WSAENETDOWN); - E(WSAENETUNREACH); - E(WSAENETRESET); - E(WSAECONNABORTED); - E(WSAECONNRESET); - E(WSAENOBUFS); - E(WSAEISCONN); - E(WSAENOTCONN); - E(WSAESHUTDOWN); - E(WSAETIMEDOUT); - E(WSAECONNREFUSED); - E(WSAEHOSTDOWN); - E(WSAEHOSTUNREACH); - E(WSAEPROCLIM); - E(WSASYSNOTREADY); - E(WSAVERNOTSUPPORTED); - E(WSANOTINITIALISED); - E(WSAEDISCON); - E(WSATYPE_NOT_FOUND); - E(WSAHOST_NOT_FOUND); - E(WSATRY_AGAIN); - E(WSANO_RECOVERY); - E(WSANO_DATA); + s1 = evutil_socket_error_to_string (WSAEINTR); + + for (i = 0; i < 3; i++) { + printf ("\niteration %d:\n\n", i); + E(WSAEINTR); + E(WSAEACCES); + E(WSAEFAULT); + E(WSAEINVAL); + E(WSAEMFILE); + E(WSAEWOULDBLOCK); + E(WSAEINPROGRESS); + E(WSAEALREADY); + E(WSAENOTSOCK); + E(WSAEDESTADDRREQ); + E(WSAEMSGSIZE); + E(WSAEPROTOTYPE); + E(WSAENOPROTOOPT); + E(WSAEPROTONOSUPPORT); + E(WSAESOCKTNOSUPPORT); + E(WSAEOPNOTSUPP); + E(WSAEPFNOSUPPORT); + E(WSAEAFNOSUPPORT); + E(WSAEADDRINUSE); + E(WSAEADDRNOTAVAIL); + E(WSAENETDOWN); + E(WSAENETUNREACH); + E(WSAENETRESET); + E(WSAECONNABORTED); + E(WSAECONNRESET); + E(WSAENOBUFS); + E(WSAEISCONN); + E(WSAENOTCONN); + E(WSAESHUTDOWN); + E(WSAETIMEDOUT); + E(WSAECONNREFUSED); + E(WSAEHOSTDOWN); + E(WSAEHOSTUNREACH); + E(WSAEPROCLIM); + E(WSASYSNOTREADY); + E(WSAVERNOTSUPPORTED); + E(WSANOTINITIALISED); + E(WSAEDISCON); + E(WSATYPE_NOT_FOUND); + E(WSAHOST_NOT_FOUND); + E(WSATRY_AGAIN); + E(WSANO_RECOVERY); + E(WSANO_DATA); + } + + s2 = evutil_socket_error_to_string (WSAEINTR); + if (s1 != s2) + printf ("caching failed!\n"); + + libevent_global_shutdown (); return EXIT_SUCCESS; }