make sure caching works, and we don't leak memory
authorPatrick Pelletier <code@funwithsoftware.org>
Fri, 15 Feb 2013 04:14:37 +0000 (20:14 -0800)
committerPatrick Pelletier <code@funwithsoftware.org>
Fri, 15 Feb 2013 04:26:38 +0000 (20:26 -0800)
test/print-winsock-errors.c

index 5064d0baf2501370dc7b69209bf0ab1c3fa19228..d085d83dc0ac6dea3c6556eb176bac4216e1f6ec 100644 (file)
@@ -4,6 +4,7 @@
 #include <stdlib.h>
 #include <stdio.h>
 
+#include "event2/event.h"
 #include "event2/util.h"
 #include "event2/thread.h"
 
 
 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;
 }