]> granicus.if.org Git - libevent/commitdiff
Tweaks to make unit tests fail less badly on mingw on trunk.
authorNick Mathewson <nickm@torproject.org>
Mon, 12 May 2008 17:16:47 +0000 (17:16 +0000)
committerNick Mathewson <nickm@torproject.org>
Mon, 12 May 2008 17:16:47 +0000 (17:16 +0000)
svn:r814

evutil.c
test/regress.c
test/regress_http.c

index 35ec495e9923974a44058b8331addc948a173a72..666b66181b8b856605fabb5b908f5e05061421b5 100644 (file)
--- a/evutil.c
+++ b/evutil.c
@@ -232,7 +232,7 @@ evutil_snprintf(char *buf, size_t buflen, const char *format, ...)
 int
 evutil_vsnprintf(char *buf, size_t buflen, const char *format, va_list ap)
 {
-#ifdef WIN32
+#ifdef _MSC_VER
        int r = _vsnprintf(buf, buflen, format, ap);
        buf[buflen-1] = '\0';
        if (r >= 0)
index 8b30727ca2aea84341b384e8e82ab96d5a9a05a4..08cea7dba9bfa2cc075d99ed6732699c95057564 100644 (file)
@@ -2105,6 +2105,7 @@ test_methods(void)
        struct event_config *cfg;
        struct event_base *base;
        const char *backend;
+       int n_methods = 0;
 
        fprintf(stderr, "Testing supported methods: ");
 
@@ -2117,6 +2118,12 @@ test_methods(void)
        while (*methods != NULL) {
                fprintf(stderr, "%s ", *methods);
                ++methods;
+               ++n_methods;
+       }
+
+       if (n_methods == 1) {
+               /* only one method supported; can't continue. */
+               goto done;
        }
 
        cfg = event_config_new();
@@ -2137,7 +2144,7 @@ test_methods(void)
 
        event_base_free(base);
        event_config_free(cfg);
-
+done:
        fprintf(stderr, "OK\n");
 }
 
index 8971eca15b7cc6a9f2e3ea7658c41a7a84d5a7f9..b63761e7acdb12cc32baa64b55b55a17713e3b3e 100644 (file)
@@ -153,8 +153,15 @@ http_connect(const char *address, u_short port)
 
        evutil_make_socket_nonblocking(fd);
        if (connect(fd, sa, slen) == -1) {
+#ifdef WIN32
+               int tmp_err = WSAGetLastError();
+               if (tmp_err != WSAEINPROGRESS && tmp_err != WSAEINVAL &&
+                   tmp_err != WSAEWOULDBLOCK)
+                       event_err(1, "connect failed");
+#else
                if (errno != EINPROGRESS)
                        event_err(1, "connect failed");
+#endif
        }
 
 #ifndef WIN32
@@ -1451,6 +1458,9 @@ http_incomplete_errorcb(struct bufferevent *bev, short what, void *arg)
 static void
 http_incomplete_writecb(struct bufferevent *bev, void *arg)
 {
+#ifndef SHUT_WR
+#define SHUT_WR 1
+#endif
        if (arg != NULL) {
                int fd = *(int *)arg;
                /* terminate the write side to simulate EOF */
@@ -1497,7 +1507,7 @@ http_incomplete_test(int use_timeout)
        event_dispatch();
 
        gettimeofday(&tv_end, NULL);
-       timersub(&tv_end, &tv_start, &tv_end);
+       evutil_timersub(&tv_end, &tv_start, &tv_end);
 
        if (use_timeout) {
                bufferevent_free(bev);
@@ -1694,7 +1704,7 @@ http_chunked_test(void)
        event_dispatch();
 
        gettimeofday(&tv_end, NULL);
-       timersub(&tv_end, &tv_start, &tv_end);
+       evutil_timersub(&tv_end, &tv_start, &tv_end);
 
        if (tv_end.tv_sec >= 1) {
                fprintf(stdout, "FAILED (time)\n");
@@ -1815,7 +1825,7 @@ http_connection_retry(void)
        gettimeofday(&tv_start, NULL);
        event_dispatch();
        gettimeofday(&tv_end, NULL);
-       timersub(&tv_end, &tv_start, &tv_end);
+       evutil_timersub(&tv_end, &tv_start, &tv_end);
        if (tv_end.tv_sec >= 1) {
                fprintf(stdout, "FAILED (time)\n");
                exit(1);
@@ -1852,7 +1862,7 @@ http_connection_retry(void)
        gettimeofday(&tv_start, NULL);
        event_dispatch();
        gettimeofday(&tv_end, NULL);
-       timersub(&tv_end, &tv_start, &tv_end);
+       evutil_timersub(&tv_end, &tv_start, &tv_end);
        if (tv_end.tv_sec <= 1 || tv_end.tv_sec >= 6) {
                fprintf(stdout, "FAILED (time)\n");
                exit(1);
@@ -1898,7 +1908,7 @@ http_connection_retry(void)
        event_dispatch();
        gettimeofday(&tv_end, NULL);
 
-       timersub(&tv_end, &tv_start, &tv_end);
+       evutil_timersub(&tv_end, &tv_start, &tv_end);
        if (tv_end.tv_sec <= 1 || tv_end.tv_sec >= 6) {
                fprintf(stdout, "FAILED (time)\n");
                exit(1);