From 51e5a2bf3fc4b555e118ecede183d7e3d8e4fb88 Mon Sep 17 00:00:00 2001 From: Yang Tse Date: Wed, 26 Oct 2011 18:46:32 +0200 Subject: multi tests: OOM handling fixes - commit 629d2e34 follow-up --- tests/libtest/test.h | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'tests/libtest/test.h') diff --git a/tests/libtest/test.h b/tests/libtest/test.h index 81c435d1f..34b8c9f3e 100644 --- a/tests/libtest/test.h +++ b/tests/libtest/test.h @@ -95,6 +95,7 @@ extern int unitfail; #define TEST_ERR_USAGE 118 #define TEST_ERR_FOPEN 117 #define TEST_ERR_FSTAT 116 +#define TEST_ERR_BAD_TIMEOUT 115 /* ** Macros for test source code readability/maintainability. @@ -301,14 +302,20 @@ extern int unitfail; /* ---------------------------------------------------------------- */ -#define exe_multi_timeout(A,B,Y,Z) do { \ - CURLMcode ec; \ - if((ec = curl_multi_timeout((A),(B))) != CURLM_OK) { \ - fprintf(stderr, "%s:%d curl_multi_timeout() failed, " \ - "with code %d (%s)\n", \ - (Y), (Z), (int)ec, curl_multi_strerror(ec)); \ - res = (int)ec; \ - } \ +#define exe_multi_timeout(A,B,Y,Z) do { \ + CURLMcode ec; \ + if((ec = curl_multi_timeout((A),(B))) != CURLM_OK) { \ + fprintf(stderr, "%s:%d curl_multi_timeout() failed, " \ + "with code %d (%s)\n", \ + (Y), (Z), (int)ec, curl_multi_strerror(ec)); \ + res = (int)ec; \ + } \ + else if(*((B)) < -1L) { \ + fprintf(stderr, "%s:%d curl_multi_timeout() succeeded, " \ + "but returned invalid timeout value (%ld)\n", \ + (Y), (Z), (long)*((B))); \ + res = TEST_ERR_BAD_TIMEOUT; \ + } \ } WHILE_FALSE #define res_multi_timeout(A,B) \ -- cgit v1.2.3