aboutsummaryrefslogtreecommitdiff
path: root/tests/libtest/lib530.c
AgeCommit message (Collapse)Author
2016-02-03URLs: change all http:// URLs to https://Daniel Stenberg
2015-02-24lib530: make it less timing sensibleDaniel Stenberg
... by making sure the first request is completed before doing the remainder.
2013-03-13Multiple pipelines and limiting the number of connections.Linus Nielsen Feltzing
Introducing a number of options to the multi interface that allows for multiple pipelines to the same host, in order to optimize the balance between the penalty for opening new connections and the potential pipelining latency. Two new options for limiting the number of connections: CURLMOPT_MAX_HOST_CONNECTIONS - Limits the number of running connections to the same host. When adding a handle that exceeds this limit, that handle will be put in a pending state until another handle is finished, so we can reuse the connection. CURLMOPT_MAX_TOTAL_CONNECTIONS - Limits the number of connections in total. When adding a handle that exceeds this limit, that handle will be put in a pending state until another handle is finished. The free connection will then be reused, if possible, or closed if the pending handle can't reuse it. Several new options for pipelining: CURLMOPT_MAX_PIPELINE_LENGTH - Limits the pipeling length. If a pipeline is "full" when a connection is to be reused, a new connection will be opened if the CURLMOPT_MAX_xxx_CONNECTIONS limits allow it. If not, the handle will be put in a pending state until a connection is ready (either free or a pipe got shorter). CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE - A pipelined connection will not be reused if it is currently processing a transfer with a content length that is larger than this. CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE - A pipelined connection will not be reused if it is currently processing a chunk larger than this. CURLMOPT_PIPELINING_SITE_BL - A blacklist of hosts that don't allow pipelining. CURLMOPT_PIPELINING_SERVER_BL - A blacklist of server types that don't allow pipelining. See the curl_multi_setopt() man page for details.
2013-01-06Revert changes relative to lib/*.[ch] recent renamingYang Tse
This reverts renaming and usage of lib/*.h header files done 28-12-2012, reverting 2 commits: f871de0... build: make use of 76 lib/*.h renamed files ffd8e12... build: rename 76 lib/*.h files This also reverts removal of redundant include guard (redundant thanks to changes in above commits) done 2-12-2013, reverting 1 commit: c087374... curl_setup.h: remove redundant include guard This also reverts renaming and usage of lib/*.c source files done 3-12-2013, reverting 3 commits: 13606bb... build: make use of 93 lib/*.c renamed files 5b6e792... build: rename 93 lib/*.c files 7d83dff... build: commit 13606bbfde follow-up 1 Start of related discussion thread: http://curl.haxx.se/mail/lib-2013-01/0012.html Asking for confirmation on pushing this revertion commit: http://curl.haxx.se/mail/lib-2013-01/0048.html Confirmation summary: http://curl.haxx.se/mail/lib-2013-01/0079.html NOTICE: The list of 2 files that have been modified by other intermixed commits, while renamed, and also by at least one of the 6 commits this one reverts follows below. These 2 files will exhibit a hole in history unless git's '--follow' option is used when viewing logs. lib/curl_imap.h lib/curl_smtp.h
2012-12-28build: make use of 76 lib/*.h renamed filesYang Tse
76 private header files renamed to use our standard naming scheme. This change affects 322 files in libcurl's source tree.
2011-10-21multi tests: OOM handling fixesYang Tse
Additionally, improved error checking and logging.
2011-09-06test suite: libtest header inclusion cleanupYang Tse
Added missing memoryTracking to test cases 560 and 583. If this triggers leak detection on these, it only means that previously it was going unnoticed.
2011-06-27libtests: stop checking for CURLM_CALL_MULTI_PERFORMDaniel Stenberg
CURLM_CALL_MULTI_PERFORM stopped being a valid return code from curl_multi_perform back in 7.20.0. All the libcurl tests are ajusted to this and no longer check for this return code. Makes them simpler.
2011-05-26compiler warning: fixYang Tse
Fix compiler warning: variable was set but never used Fix compiler warning: clobber ignored
2011-03-10sources: update source headersDaniel Stenberg
All C and H files now (should) feature the proper project curl source code header, which includes basic info, a copyright statement and some basic disclaimers.
2010-03-24remove the CVSish $Id$ linesDaniel Stenberg
2010-02-14removed trailing whitespaceYang Tse
2010-02-05fix compiler warningYang Tse
2010-02-05Addes OOM handling for curl_easy_setopt() calls in testYang Tse
2008-09-20include "memdebug.h"Yang Tse
2008-05-22Made sure to pass longs in to curl_easy_setopt where necessary in theDan Fandrich
libtest code.
2008-01-21undo using internal *printf() clones for test #530Yang Tse
2008-01-20use internal *printf() clones since snprintf() not available on all platformsYang Tse
2008-01-19Dmitry Kurochkin fixed test case 530 (pipelining)Daniel Stenberg
2007-03-10change max allowed time for this test to complete to 90 secondsYang Tse
2007-03-0330 seconds isn't long enough for this test on a loaded server.Yang Tse
2007-02-09Some tests were using functions curlx_tvnow and curlx_tvdiff which are notYang Tse
part of the official libcurl API http://curl.haxx.se/lxr/source/lib/README.curlx The documented way of using them would be to use timeval.c as a source code file. The above described method works very well when statically linking libcurl and apps, test programs, but has several drawbacks when you build a true shared libcurl (i.e. Name space clash at linkage stage as functions are defined more than once. Windows makefiles are not capable of handling this system of source-level sharing) So... Now testutil.h and testutil.c define and implement tutil_tvnow and tutil_tvdiff which replace curlx_tvnow and curlx_tvdiff for the libtest programs. Doing this we avoid the above described problems, and the code in the testsuite does not impose the need to keep those functions public in libcurl even when not part of the API.
2006-10-25Use curl_global_init() and curl_global_cleanup().Yang Tse
Improve cleanup in case of initialization failure.
2006-10-20Oops! Actually set the limit to 30 seconds.Yang Tse
2006-10-20Decrease the posibility of aborting a test which actually is notYang Tse
stale by replacing loop counters with timeouts. In this way the main loop of the test will be allowed to run up to 30 seconds on any platform before aborting it.
2006-10-19Set loop2 counter limit to 60 on this test to avoid a false positive.Yang Tse
2006-10-19When aborting, show loop counter values when more than one counter exists.Yang Tse
2006-10-19Abort test if it seems that it would have run forever. This is just to preventYang Tse
test hanging and actually is an indication that there's a condition that is not being properly handled at some point in the library. Loop counter limits might need to be further increased on false positives.
2006-10-10Call curl_global_cleanup() in all code paths before exiting testYang Tse
2006-09-10Added select_test() function to allow selecting on no sockets onGisle Vanem
Winsock.
2006-09-08removed the comment that isn't valid for this file, just a copy'n paste errorDaniel Stenberg
2006-09-08test 530 is the first ever HTTP pipelining test for libcurlDaniel Stenberg