Edit

kc3-lang/libevent/test/print-winsock-errors.c

Branch :

  • Show log

    Commit

  • Author : Azat Khuzhin
    Date : 2016-08-07 23:14:01
    Hash : a487706e
    Message : test: fix building with --disable-thread-support under win32

  • test/print-winsock-errors.c
  • #include <winsock2.h>
    #include <windows.h>
    
    #include <stdlib.h>
    #include <stdio.h>
    
    #include "event2/event.h"
    #include "event2/util.h"
    #include "event2/thread.h"
    
    #define E(x) printf (#x " -> \"%s\"\n", evutil_socket_error_to_string (x));
    
    int main (int argc, char **argv)
    {
      int i, j;
      const char *s1, *s2;
    
    #ifdef EVTHREAD_USE_WINDOWS_THREADS_IMPLEMENTED
      evthread_use_windows_threads ();
    #endif
    
      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);
        E(0xdeadbeef); /* test the case where no message is available */
    
        /* fill up the hash table a bit to make sure it grows properly */
        for (j = 0; j < 50; j++) {
          int err;
          evutil_secure_rng_get_bytes(&err, sizeof(err));
          evutil_socket_error_to_string(err);
        }
      }
    
      s2 = evutil_socket_error_to_string (WSAEINTR);
      if (s1 != s2)
        printf ("caching failed!\n");
    
      libevent_global_shutdown ();
    
      return EXIT_SUCCESS;
    }