summaryrefslogtreecommitdiff
path: root/tests/libtest/first.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/libtest/first.c')
-rw-r--r--tests/libtest/first.c35
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;
}