aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
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-08curl: generate the --help outputDaniel Stenberg
... using the docs/cmdline-opts/gen.pl script, so that we get all the command line option documentation from the same source. The generation of the list has to be done manually and pasted into the source code. Closes #1465
2017-05-08tests: updated for modified fake randomDaniel Stenberg
2017-05-08tests: give each stunnel.conf file a unique nameDan Fandrich
Otherwise, subsequent uses of stunnel overwrite the configuration file of previous invocations so they can no longer be inspected.
2017-05-08tftpd: fix signed/unsigned mismatch warningsMarcel Raad
alarm's argument is unsigned.
2017-05-08libtest: fix MinGW-w64 warningsMarcel Raad
long is 32 bits while size_t is 64 bits on MinGW-w64, so typecheck-gcc.h complains when using size_t for a long option. Also, curl_socket_t is unsigned long long rather than int.
2017-05-08runtests: fix "use of undefined value" warning in -R handlingDaniel Stenberg
2017-05-08test537: use correct variable typeMarcel Raad
Avoids narrowing conversion warnings because rlim_t is usually unsigned long. Closes https://github.com/curl/curl/pull/1469
2017-05-06runtests.pl: simplify the datacheck read sectionDan Fandrich
Also, document that numbered datacheck sections are possible.
2017-05-05tests: fix -Wcast-qual warningsMarcel Raad
Avoid casting string literals to non-const char *.
2017-05-05tests/server: run checksrc by default in debug-buildsDaniel Stenberg
2017-05-05unit1305: fix compiler warningMarcel Raad
calloc and ai_addrlen expect different (usually unsigned) types.
2017-05-05runtests: use -R for random orderDaniel Stenberg
Suggested-by: Dan Fandrich
2017-05-04runtests: add -o to run test cases in scrambled orderDaniel Stenberg
... instead of numerical order. Closes #1466
2017-05-04sockfilt.c: shortened too long lineDan Fandrich
2017-05-04tests/server: make string literals constMarcel Raad
assign string literals to const char * instead of char * in order to avoid a lot of these warnings: cast from 'const char *' to 'char *' drops const qualifier [-Wcast-qual]
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-05-02testpart: remove _MPRINTF_REPLACEMarcel Raad
Support for _MPRINTF_REPLACE in mprintf.h was removed in 55452ebdff47f98bf3cc383f1dfc3623fcaefefd, replaced with curl_printf.h.
2017-05-01unit1606: do not print/access bufferDaniel Stenberg
It was a wrong assumption that it could do that!
2017-05-01getpart: use correct variable typeMarcel Raad
This fixes the following clang warning: getpart.c:201:17: warning: cast from function call of type 'CURLcode' to non-matching type 'int' [-Wbad-function-cast]
2017-05-01tests: declare TU-local variables staticMarcel Raad
This fixes missing-variable-declarations warnings when building with clang.
2017-04-30unit1604: fixed indentationDan Fandrich
2017-04-30unit1604: fixed compilation under Windows, broken in the previous commitDan Fandrich
2017-04-30tests: fixed OOM handling of unit tests to abort testDan Fandrich
It's dangerous to continue to run the test when a memory alloc fails.
2017-04-29tests: added --remote-time tests for remaining protocols that support itDan Fandrich
2017-04-29runtests.pl: support multiline <postcheck> commandsDan 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-22llist: no longer uses mallocDaniel Stenberg
The 'list element' struct now has to be within the data that is being added to the list. Removes 16.6% (tiny) mallocs from a simple HTTP transfer. (96 => 80) Also removed return codes since the llist functions can't fail now. Test 1300 updated accordingly. Closes #1435
2017-04-21tests: remove the html and PDF versions from the tarballDaniel Stenberg
2017-04-17code: fix typos and style in commentsDaniel Gustafsson
A few random typos, and minor whitespace cleanups, found in comments while reading code. Closes #1423
2017-04-17extern-scan.pl: strip trailing CRMarcel Raad
This makes test 1135 pass with CRLF checkouts. Ref: https://github.com/curl/curl/pull/1344#issuecomment-289243166 Closes https://github.com/curl/curl/pull/1422
2017-04-16unit1303: fix compiler warningMarcel Raad
MinGW-w64 complains: warning: conversion to 'long int' from 'time_t {aka long long int}' may alter its value [-Wconversion] Fix this by using the correct type.
2017-04-12test1541: also test for CURL_PULL_WS2TCPIP_HMarcel Raad
Ref: https://github.com/curl/curl/issues/1408 Closes https://github.com/curl/curl/pull/1412
2017-04-12tests/server/util: prefer <poll.h> over <sys/poll.h>Marcel Raad
Follow-up to aa573c3c55cda72ec5ef677d87f6f46a53385f0c Ref: https://github.com/curl/curl/pull/1406
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-05test1541: ignore the curl_off_t variable type name comparisonDaniel Stenberg
... the sizes and the formatting strings are what's really important and avoids problems with int64_t vs "long long". Bug: https://curl.haxx.se/mail/lib-2017-04/0019.html
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-04multi: fix queueing of pending easy handlesDániel Bakai
Multi handles repeatedly invert the queue of pending easy handles when used with CURLMOPT_MAX_TOTAL_CONNECTIONS. This is caused by a multistep process involving Curl_splaygetbest and violates the FIFO property of the multi handle. This patch fixes this issue by redefining the "best" node in the context of timeouts as the "smallest not larger than now", and implementing the necessary data structure modifications to do this effectively, namely: - splay nodes with the same key are now stored in a doubly-linked circular list instead of a non-circular one to enable O(1) insertion to the tail of the list - Curl_splayinsert inserts nodes with the same key to the tail of the same list - in case of multiple nodes with the same key, the one on the head of the list gets selected
2017-04-04llist: replace Curl_llist_alloc with Curl_llist_initDaniel Stenberg
No longer allocate the curl_llist head struct for lists separately. Removes 17 (15%) tiny allocations in a normal "curl localhost" invoke. closes #1381
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-04-03tests/server/util: remove in6addr_any for recent MinGWMarcel Raad
In ancient MinGW versions, in6addr_any was declared as extern, but not defined. Because of that, 22a0c57746ae12506b1ba0f0fafffd26c1907d6a added definitions for in6addr_any when compiling with MinGW. The bug was fixed in w32api version 3.6 from 2006, so this workaround is not needed anymore for recent versions. This fixes the following MinGW-w64 warnings because the MinGW-w64 version of IN6ADDR_ANY_INIT has the two additional braces inside the macro: util.c:59:14: warning: braces around scalar initializer util.c:59:40: warning: excess elements in scalar initializer Ref: https://sourceforge.net/p/mingw/mingw-org-wsl/ci/e4803e0da25c57ae1ad0fa75ae2b7182ff7fa339/tree/w32api/ChangeLog Closes https://github.com/curl/curl/pull/1379
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