aboutsummaryrefslogtreecommitdiff
path: root/tests/libtest/Makefile.inc
AgeCommit message (Collapse)Author
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-03-13test509: libcurl initialization with memory callbacks and actual usageYang Tse
2013-02-10Fix NULL pointer reference when closing an unused multi handle.Linus Nielsen Feltzing
2013-02-08DONE: consider callback-aborted transfers prematureDaniel Stenberg
This bug report properly identified that when doing SMTP and aborting the transfer with a callback, it must be considered aborted prematurely by the code to avoid QUIT etc to be attempted as that would cause a hang. The new test case 1507 verifies this behavior. Reported by: Patricia Muscalu Bug: http://curl.haxx.se/bug/view.cgi?id=1184
2013-02-05CURLMOPT_MAXCONNECTS: restore functionalityLinus Nielsen Feltzing
When a connection is no longer used, it is kept in the cache. If the cache is full, the oldest idle connection is closed. If no connection is idle, the current one is closed instead.
2013-01-20Makefile.inc: fix $(top_srcdir) not allowed in _SOURCES variablesYang Tse
2013-01-15build: use per-target '_CPPFLAGS' for those currently using defaultYang Tse
Automake documents that doing this will make it choose a different name for intermediate object files even when sharing source files across targets of same Makefile.am. Up to automake 1.13.1 target's intermediate object files were placed in the build subdirectory of the target. We depended on this, probably undocumented behavior, to achieve same behavior as if a per-target flag had been specified when building targets that actually belong to different Makefile.am files. It seems automake 1.13.2 is going to break behavior mentioned above. So, lets use a documented behavior in order to achieve same purpose, across automake versions, no matter where automake wishes to place intermediate object files. Our build targets that already were using a per-target '_CFLAGS' or '_CPPFLAGS' need no 'fixing', these were already 'fixed'. The only Makefile.am or Makefile.in files in libcurl's source tree touched by this 'fix' are tests/libtest/Makefile.inc and tests/unit/Makefile.inc.
2013-01-15tests/libtest/Makefile.inc: sort build targetsYang Tse
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
2013-01-03build: make use of 93 lib/*.c renamed filesYang Tse
93 *.c source files renamed to use our standard naming scheme. This change affects 77 files in libcurl's source tree.
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.
2012-12-25test 1504 and 1505: same as 1502 but with different cleanup sequencesYang Tse
2012-12-23test 1503: same as 1502 but with a different cleanup sequenceYang Tse
2012-12-23test 1502: OOM handling fixesYang Tse
2012-12-05libtest: fix some compiler warningsYang Tse
2012-11-30build: prevent global LIBS from influencing libtest build targetsYang Tse
2012-11-28build: avoid linkage of directly unused librariesYang Tse
2012-11-18fixed memory leak: CURLOPT_RESOLVE with multi interfaceDaniel Stenberg
DNS cache entries populated with CURLOPT_RESOLVE were not properly freed again when done using the multi interface. Test case 1502 added to verify. Bug: http://curl.haxx.se/bug/view.cgi?id=3575448 Reported by: Alex Gruz
2012-11-08Fix compilation of lib1501Fabian Keil
2012-11-04FTP: prevent the multi interface from blockingDaniel Stenberg
As pointed out in Bug report #3579064, curl_multi_perform() would wrongly use a blocking mechanism internally for some commands which could lead to for example a very long block if the LIST response never showed. The solution was to make sure to properly continue to use the multi interface non-blocking state machine. The new test 1501 verifies the fix. Bug: http://curl.haxx.se/bug/view.cgi?id=3579064 Reported by: Guido Berhoerster
2012-09-01Unit test for curl_multi_wait()Sara Golemon
2012-08-31NTLM: verify multiple connections workJoe Mason
Add test2032 to test that NTLM does not switch connections in the middle of the handshake
2012-08-03Add tests of auth retriesJoe Mason
2012-04-01HTTP: reset expected DL/UL sizes on redirectsDaniel Stenberg
With FOLLOWLOCATION enabled. When a 3xx page is downloaded and the download size was known (like with a Content-Length header), but the subsequent URL (transfered after the 3xx page) was chunked encoded, then the previous "known download size" would linger and cause the progress meter to get incorrect information, ie the former value would remain being sent in. This could easily result in downloads that were WAY larger than "expected" and would cause >100% outputs with the curl command line tool. Test case 599 was created and it was used to repeat the bug and then verify the fix. Bug: http://curl.haxx.se/bug/view.cgi?id=3510057 Reported by: Michael Wallner
2012-03-22fix several compiler warningsYang Tse
2012-02-07curl_easy_reset: reset the referer stringDaniel Stenberg
When CURLOPT_REFERER has been used, curl_easy_reset() did not properly clear it. Verified with the new test 598 Bug: http://curl.haxx.se/bug/view.cgi?id=3481551 Reported by: Michael Day
2012-01-17tests: enable time tracing on tests 500, 573 and 585Yang Tse
2011-12-07multi interface: fix block when CONNECT_ONLY option is usedGokhan Sengun
2011-11-17libtest build: add the missing lib586Alejandro Alvarez Ayllon
2011-11-11Active mode FTP test cases with server not establishing data connectionYang Tse
591 -> FTP multi PORT and 425 on upload 592 -> FTP multi PORT and 421 on upload 593 -> FTP multi PORT upload, no data conn and no transient neg. reply 594 -> FTP multi PORT upload, no data conn and no positive prelim. reply 1206 -> FTP PORT and 425 on download 1207 -> FTP PORT and 421 on download 1208 -> FTP PORT download, no data conn and no transient negative reply 1209 -> FTP PORT download, no data conn and no positive preliminary reply
2011-11-06test 590: verify the bug fix in 4851dafcf1Daniel Stenberg
This test is created to verify Rene Bernhardt's patch which makes sure libcurl properly _not_ deals with Negotiate if not asked to even if the proxy says it can serve it.
2011-10-26test 589: active FTP upload using multi timeout and EPRT disabled serverYang Tse
2011-10-21multi tests: OOM handling fixesYang Tse
Additionally, improved error checking and logging.
2011-10-16formdata: ack read callback abortDaniel Stenberg
When doing a multipart formpost with a read callback, and that callback returns CURL_READFUNC_ABORT, that return code must be properly propagated back and handled accordingly. Previously it would be handled as a zero byte read which would cause a hang! Added test case 587 to verify. It uses the lib554.c source code with a small ifdef. Reported by: Anton Bychkov Bug: http://curl.haxx.se/mail/lib-2011-10/0097.html
2011-09-06test suite: libtest header inclusion cleanup - follow-upYang Tse
Adjust tests/libtest/Makefile.inc and remove a couple of unused headers from tests/libtest/lib583.c
2011-06-01makefile: avoid preprocessor definition usage when linkingYang Tse
2011-05-26compiler warning: fixYang Tse
Fix compiler warning: variable was set but never used Fix compiler warning: clobber ignored
2011-05-18tests: verify OPEN/CLOSESOCKETFUNCTIONDaniel Stenberg
Test 585 and 586 were added. Using a modified lib500.c
2011-03-13test583: verify early SSH multi remove handleDaniel Stenberg
This test case is meant to verify that the logic in commit 60172a0446bbe3f8b actually works. This test failed for me before that change and it works after it.
2011-03-08sftp-multi: test 582 addedHenry Ludemann
Add test 582 for uploading a file using sftp and the multi interface. (Patch and test slightly tweaked by Daniel Stenberg) Initially marked as disabled until it is fixed in the source.
2011-03-04Moved test 577 into the unit test framework as test 1307Dan Fandrich
2011-03-04Converted tests 558 & 559 to use the unit test framework as 1305Dan Fandrich
Test 558 was just a subset of 559 which is something that can be easily added later.
2011-01-03unittest: framework for unit-testingDaniel Stenberg
This is the first approach at doing fairly clean and easy to write and debug unit tests.
2010-11-05test: remove test 580Daniel Stenberg
Test 580 is removed again for two reasons: 1) Some compilers aren't satisfied by just a data variable called 'test' when first.o wants a function called 'test'. The Solaris compiler says "ld: warning: symbol `test' has differing types:" while the AIX compiler downright rejects it. 2) Test case 1119 that was added after this test is way more complete and cover everything test 580 does and more without introducing the same problems.
2010-11-03Allow building test 580 out of treeDan Fandrich
2010-11-02test: added test 580 - verifies symbols-in-versionsDaniel Stenberg
The new perl script mk580.pl generates a C table in a fresh source file named lib580.c and if that compiles fine we know that the file docs/libcurl/symbols-in-versions at least doesn't include any symbols that are misspelled. An additional feature would be to somehow scan curl/curl.h and compare with symbols-in-versions to see if there are symbols missing.
2010-08-19test: added test 579 to verify progress callback for chunked postJulien Chaffraix
The 66 bytes checked are those 38 bytes with the chunked encoding headers added: 8+8+10+35+5 = 66 The three-letter words become 8 bytes on the wire because they are sent like: "3\r\none\r\n" ... and there's the trailing 5 bytes write after the four lines since the final chunk is sent (which is "0\r\n\r\n").
2010-08-16progress: callback for POSTs less than MAX_INITIAL_POST_SIZEJulien Chaffraix
Add a call to Curl_pgrsSetUploadSize in this case valided by a test case. Reported by: Никита Дорохин. Bug: http://curl.haxx.se/mail/lib-2010-04/0173.html
2010-08-09build: libhostname and chkhostname linkage adjustments followupYang Tse
2010-08-07build: chkhostname build adjustments followupYang Tse