From 6cf8413e31629183b3c749aa2a17d24be14cbca1 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Sat, 10 Aug 2013 22:55:59 +0200 Subject: curl_easy_perform_ev: debug/test function This function is meant to work *exactly* as curl_easy_perform() but will use the event-based libcurl API internally instead of curl_multi_perform(). To avoid relying on an actual event-based library and to not use non-portable functions (like epoll or similar), there's a rather inefficient emulation layer implemented on top of Curl_poll() instead. There's currently some convenience logging done in curl_easy_perform_ev which helps when tracking down problems. They may be suitable to remove or change once things seem to be fine enough. curl has a new --test-event option when built with debug enabled that then uses curl_easy_perform_ev() instead of curl_easy_perform(). If built without debug, using --test-event will only output a warning message. NOTE: curl_easy_perform_ev() is not part if the public API on purpose. It is only present in debug builds of libcurl and MUST NOT be considered stable even then. Use it for libcurl-testing purposes only. runtests.pl now features an -e command line option that makes it use --test-event for all curl command line tests. The man page is updated. --- tests/runtests.1 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'tests/runtests.1') diff --git a/tests/runtests.1 b/tests/runtests.1 index 45f878333..0de38f69a 100644 --- a/tests/runtests.1 +++ b/tests/runtests.1 @@ -5,7 +5,7 @@ .\" * | (__| |_| | _ <| |___ .\" * \___|\___/|_| \_\_____| .\" * -.\" * Copyright (C) 1998 - 2007, Daniel Stenberg, , et al. +.\" * Copyright (C) 1998 - 2013, Daniel Stenberg, , et al. .\" * .\" * This software is licensed as described in the file COPYING, which .\" * you should have received as part of this distribution. The terms @@ -53,6 +53,10 @@ Provide a custom curl binary to run the tests with. Default is the curl executable in the build tree. .IP "-d" Enable protocol debug: have the servers display protocol output. +.IP "-e" +Run the test event-based (if possible). This will make runtests invoke curl +with --test-event option. This option only works if both curl and libcurl were +built debug-enabled. .IP "-g" Run the given test(s) with gdb. This is best used on a single test case and curl built --disable-shared. This then fires up gdb with command line set to -- cgit v1.2.3