aboutsummaryrefslogtreecommitdiff
path: root/tests/data
AgeCommit message (Collapse)Author
2017-06-14http-proxy: do the HTTP CONNECT process entirely non-blockingDaniel Stenberg
Mentioned as a problem since 2007 (8f87c15bdac63) and of course it existed even before that. Closes #1547
2017-06-14includes: remove curl/curlbuild.h and curl/curlrules.hDaniel Stenberg
Rely entirely on curl/system.h now. Introduced in Aug 2008 with commit 14240e9e109f. Now gone. Fixes #1456
2017-06-05test1521: test *all* curl_easy_setopt optionsDaniel Stenberg
mk-lib1521.pl generates a test program (lib1521.c) that calls curl_easy_setopt() for every known option with a few typical values to make sure they work (ignoring the return codes). Some small changes were necessary to avoid asserts and NULL accesses when doing this. The perl script needs to be manually rerun when we add new options. Closes #1543
2017-06-05test1538: added "verbose logs" keywordDan Fandrich
These error messages are not displayed with --disable-verbose
2017-06-05test1262: verify ftp download with -z for "if older than this"Daniel Stenberg
2017-06-02test1538: fix typoDaniel Stenberg
2017-06-02test1538: verify the libcurl strerror API callsDaniel Stenberg
2017-06-02test1537: dedicated tests of the URL (un)escape API callsDaniel Stenberg
Closes #1530
2017-05-28tests: removed some redundant empty <stdout> sectionsDan Fandrich
2017-05-23redirect: store the "would redirect to" URL when max redirs is reachedDaniel Stenberg
Test 1261 added to verify. Reported-by: Lloyd Fournier Fixes #1489 Closes #1497
2017-05-20tests: stabilize test 1034Michael Kaufmann
Pass the invalid domain name on stdin. On some systems, the test framework cannot pass invalid UTF-8 sequences on the command line. Closes #1488
2017-05-13tests: added missing keywords "chunked Transfer-Encoding"Dan Fandrich
2017-05-13tests: made a couple of prechecks consistent with othersDan Fandrich
Also removed a TODO suggesting caching the precheck results. Tests showed this would save about 0.1 sec on the total test run time on a relatively modern system, an unnoticeable gain at the cost of longer and more complicated code. There would also be a danger that a cached test result would be inappropriately returned, such as when other test dependencies (like environment variables) are different or when the precheck causes side effects (like filesystem changes).
2017-05-10tests: remove superfluous test 1399Richard Hsu
@MarcelRaad noted that `test1399` causes infinite loop on MinGW. Looking into this, seems like it is related to how Windows handles CRLF. See https://github.com/curl/curl/commit/9e093f by @mback2k. Removing `test1399` as it's identical to `test1326` then with such a fix. Test 1399 was broughy by commit 862b02f8947039e Closes #1478
2017-05-09tests: make test file names more uniqueDan Fandrich
Include the test number in the names of files written out by tests to reduce the chance of accidental duplication and to make it more clear which test is associated with which file.
2017-05-09tests: removed redundant --trace-ascii argumentsDan Fandrich
This is already added by the test suite; it's not clear why all these tests had it, unless it's cargo-culting.
2017-05-09tests: list the primary server first in the server sectionDan Fandrich
2017-05-08tests: updated for modified fake randomDaniel Stenberg
2017-05-04test557: set a known good numeric localeDan Fandrich
Windows does not allow setting the locale with environment variables (as the test attempted to do), so the test failed when run with a user locale that has a comma as radixchar. Changed the test to call setlocale() explicitly to ensure that a known working locale is set even on Windows.
2017-05-04test559: verify use of minimum CURLOPT_BUFFERSIZEDaniel Stenberg
2017-05-02Telnet: Write full buffer instead of byte-by-byteRichard Hsu
Previous TODO wanting to write in chunks. We should support writing more at once since some TELNET servers may respond immediately upon first byte written such as WHOIS servers. Closes #1389
2017-04-29tests: added --remote-time tests for remaining protocols that support itDan Fandrich
2017-04-27test1443: test --remote-timeDan Fandrich
2017-04-25curl: set a 100K buffer size by defaultDaniel Stenberg
Test command 'time curl http://localhost/80GB -so /dev/null' on a Debian Linux. Before (middle performing run out 9): real 0m28.078s user 0m11.240s sys 0m12.876s After (middle performing run out 9) real 0m26.356s (93.9%) user 0m5.324s (47.4%) sys 0m8.368s (65.0%) Also, doing SFTP over a 200 millsecond latency link is now about 6 times faster. Closes #1446
2017-04-11Curl_expire_latest: ignore already expired timersDaniel Stenberg
If the existing timer is still in there but has expired, the new timer should be added. Reported-by: Rainer Canavan Bug: https://curl.haxx.se/mail/lib-2017-04/0030.html Closes #1407
2017-04-06test1606: verify speedcheckDaniel Stenberg
2017-04-04tests: added test for Curl_splaygetbest to unit1309Dániel Bakai
This checks the new behavior of Curl_splaygetbest, so that the smallest node not larger than the key is removed, and FIFO behavior is kept even when there are multiple nodes with the same key. Closes #1358
2017-04-03include: curl/system.h is a run-time version of curlbuild.hDaniel Stenberg
system.h is aimed to replace curlbuild.h at a later point in time when we feel confident system.h works sufficiently well. curl/system.h is currently used in parallel with curl/curlbuild.h curl/system.h determines a data sizes, data types and include file status based on available preprocessor defines instead of getting generated at build-time. This, in order to avoid relying on a build-time generated file that makes it complicated to do 32 and 64 bit bields from the same installed set of headers. Test 1541 verifies that system.h comes to the same conclusion that curlbuild.h offers. Closes #1373
2017-03-28pause: handle mixed types of data when pausedDaniel Stenberg
When receiving chunked encoded data with trailers, and the write callback returns PAUSE, there might be both body and header to store to resend on unpause. Previously libcurl returned error for that case. Added test case 1540 to verify. Reported-by: Stephen Toub Fixes #1354 Closes #1357
2017-03-28http: Fix proxy connection reuse with basic-authIsaac Boukris
When using basic-auth, connections and proxy connections can be re-used with different Authorization headers since it does not authenticate the connection (like NTLM does). For instance, the below command should re-use the proxy connection, but it currently doesn't: curl -v -U alice:a -x http://localhost:8181 http://localhost/ --next -U bob:b -x http://localhost:8181 http://localhost/ This is a regression since refactoring of ConnectionExists() as part of: cb4e2be7c6d42ca0780f8e0a747cecf9ba45f151 Fix the above by removing the username and password compare when re-using proxy connection at proxy_info_matches(). However, this fix brings back another bug would make curl to re-print the old proxy-authorization header of previous proxy basic-auth connection because it wasn't cleared. For instance, in the below command the second request should fail if the proxy requires authentication, but would succeed after the above fix (and before aforementioned commit): curl -v -U alice:a -x http://localhost:8181 http://localhost/ --next -x http://localhost:8181 http://localhost/ Fix this by clearing conn->allocptr.proxyuserpwd after use unconditionally, same as we do for conn->allocptr.userpwd. Also fix test 540 to not expect digest auth header to be resent when connection is reused. Signed-off-by: Isaac Boukris <iboukris@gmail.com> Closes https://github.com/curl/curl/pull/1350
2017-03-26spelling fixesklemens
Closes #1356
2017-03-25curl: check for end of input in writeout backslash handlingDaniel Stenberg
Reported-by: Brian Carpenter Added test 1442 to verify
2017-03-22test2033: flakyDaniel Stenberg
2017-03-20test714/5: added HTTP as a required featureDan Fandrich
These tests use an HTTP proxy so require that curl be built with HTTP support.
2017-03-20tests: strip more options from non-HTTP --libcurl testsDan Fandrich
The CURLOPT_USERAGENT and CURLOPT_MAXREDIRS options are only set if HTTP support is available, so ignore them in tests where HTTP is not guaranteed.
2017-03-12test1440/1: depend on well-defined file: behaviourDan Fandrich
Depend on the known behaviour of URLs for nonexistent files rather than the undefined behaviour of URLs for directories (which fails on Windows). The test isn't about file: URLs at all, so the URL used doesn't really matter.
2017-03-12tests: clear the SSL_CERT_FILE variable on --libcurl testsDan Fandrich
Otherwise, the contents will end up in the output and fail the verification.
2017-03-12test1287: added verbose logs keywordDan Fandrich
2017-03-12tool_writeout: fixed a buffer read overrun on --write-outDan Fandrich
If a % ended the statement, the string's trailing NUL would be skipped and memory past the end of the buffer would be accessed and potentially displayed as part of the --write-out output. Added tests 1440 and 1441 to check for this kind of condition. Reported-by: Brian Carpenter
2017-03-12url: add option CURLOPT_SUPPRESS_CONNECT_HEADERSDesmond O. Chang
- Add new option CURLOPT_SUPPRESS_CONNECT_HEADERS to allow suppressing proxy CONNECT response headers from the user callback functions CURLOPT_HEADERFUNCTION and CURLOPT_WRITEFUNCTION. - Add new tool option --suppress-connect-headers to expose CURLOPT_SUPPRESS_CONNECT_HEADERS and allow suppressing proxy CONNECT response headers from --dump-header and --include. Assisted-by: Jay Satiro Assisted-by: CarloCannas@users.noreply.github.com Closes https://github.com/curl/curl/pull/783
2017-03-11http_proxy: Ignore TE and CL in CONNECT 2xx responsesJay Satiro
A client MUST ignore any Content-Length or Transfer-Encoding header fields received in a successful response to CONNECT. "Successful" described as: 2xx (Successful). RFC 7231 4.3.6 Prior to this change such a case would cause an error. In some ways this bug appears to be a regression since c50b878. Prior to that libcurl may have appeared to function correctly in such cases by acting on those headers instead of causing an error. But that behavior was also incorrect. Bug: https://github.com/curl/curl/issues/1317 Reported-by: mkzero@users.noreply.github.com
2017-03-09tests: disabled 1903 nowDaniel Stenberg
Test 1903 is doing HTTP pipelining, and that is a timing and ordering sensitive operation and this fails far too often on the Travis CI leading to people more or less ignoring test failures there. Not good. The end of pipelning is probably coming sooner rather than later anyway...
2017-03-08test1260: added http as a required featureDan Fandrich
2017-03-06test1260: removed errant XML tagDan Fandrich
2017-03-06URL: return error on malformed URLs with junk after port numberDaniel Stenberg
... because it causes confusion with users. Example URLs: "http://[127.0.0.1]:11211:80" which a lot of languages' URL parsers will parse and claim uses port number 80, while libcurl would use port number 11211. "http://user@example.com:80@localhost" which by the WHATWG URL spec will be treated to contain user name 'user@example.com' but according to RFC3986 is user name 'user' for the host 'example.com' and then port 80 is followed by "@localhost" Both these formats are now rejected, and verified so in test 1260. Reported-by: Orange Tsai
2017-03-04tests: fixed a typo in some commentsDan Fandrich
2017-02-25tests: use consistent environment variables for setting charsetDan Fandrich
The character set in POSIX is set by the locale defined by (in decreasing order of precedence) the LC_ALL, LC_CTYPE and LANG environment variables (CHARSET was used by libidn but not libidn2). LC_ALL is cleared to ensure that LC_CTYPE takes effect, but LC_ALL is not used to set the locale to ensure that other parts of the locale aren't overridden. Since there doesn't seem to be a cross-platform way of specifying a UTF-8 locale, and not all systems may support UTF-8, a <precheck> is used to skip the test if UTF-8 can't be verified to be available. Test 1035 was also converted to UTF-8 for consistency, as the actual character set used there is irrelevant to the test. This patch uses a different UTF-8 locale than the last attempt, namely en_US.UTF-8. This one has been verified on 7 different Linux and BSD distributions and is more complete and usable than the locale UTF-8 (on at least some systems).
2017-02-25test557: explicitly use the C locale so the numeric output is as expectedDan Fandrich
2017-02-24Revert "tests: use consistent environment variables for setting charset"Daniel Stenberg
This reverts commit ecd1d020abdae3c3ce3643ddab3106501e62e7c0. That commit caused test failures on my Debian Linux machine for all changed test cases. We need to reconsider how that should get done.
2017-02-23tests: use consistent environment variables for setting charsetDan Fandrich
Character set in POSIX is set by the locale defined (in decreasing order of precedence) by the LC_ALL, LC_CTYPE and LANG environment variables (I believe CHARSET is only historic). LC_ALL is cleared to ensure that LC_CTYPE takes effect, but LC_ALL is not used to set the locale to ensure that other parts of the locale aren't overriden, if set. Since there doesn't seem to be a cross-platform way of specifying a UTF-8 locale, and not all systems may support UTF-8, a <precheck> is used (where relevant) to skip the test if UTF-8 isn't in use. Test 1035 was also converted to UTF-8 for consistency, as the actual character set used there is irrelevant to the test.