diff options
Diffstat (limited to 'tests/libtest/first.c')
-rw-r--r-- | tests/libtest/first.c | 35 |
1 files changed, 31 insertions, 4 deletions
diff --git a/tests/libtest/first.c b/tests/libtest/first.c index 5851faf62..4714395ea 100644 --- a/tests/libtest/first.c +++ b/tests/libtest/first.c @@ -5,11 +5,11 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms - * are also available at http://curl.haxx.se/docs/copyright.html. + * are also available at https://curl.haxx.se/docs/copyright.html. * * You may opt to use, copy, modify, merge, publish, distribute and/or sell * copies of the Software, and permit persons to whom the Software is @@ -33,6 +33,10 @@ # include <fcntl.h> /* for setmode() */ #endif +#ifdef USE_NSS +#include <nspr.h> +#endif + #ifdef CURLDEBUG # define MEMDEBUG_NODEFINES # include "memdebug.h" @@ -52,7 +56,7 @@ int select_wrapper(int nfds, fd_set *rd, fd_set *wr, fd_set *exc, * select() can not be used to sleep without a single fd_set. */ if(!nfds) { - Sleep(1000*tv->tv_sec + tv->tv_usec/1000); + Sleep((1000*tv->tv_sec) + (DWORD)(((double)tv->tv_usec)/1000.0)); return 0; } #endif @@ -111,9 +115,24 @@ static void memory_tracking_init(void) # define memory_tracking_init() Curl_nop_stmt #endif +/* returns a hexdump in a static memory area */ +char *hexdump(unsigned char *buffer, size_t len) +{ + static char dump[200*3+1]; + char *p = dump; + size_t i; + if(len > 200) + return NULL; + for(i=0; i<len; i++, p += 3) + snprintf(p, 4, "%02x ", buffer[i]); + return dump; +} + + int main(int argc, char **argv) { char *URL; + int result; #ifdef O_BINARY # ifdef __HIGHC__ @@ -152,5 +171,13 @@ int main(int argc, char **argv) fprintf(stderr, "URL: %s\n", URL); - return test(URL); + result = test(URL); + +#ifdef USE_NSS + if(PR_Initialized()) + /* prevent valgrind from reporting possibly lost memory (fd cache, ...) */ + PR_Cleanup(); +#endif + + return result; } |