aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2010-11-19test servers: fix strict aliasing compiler warningsYang Tse
2010-11-10test1120: verify FTP response 421Daniel Stenberg
curl mustn't try to use the control connection after the 421 is received
2010-11-10ftpserver.pl: spellfix commentDaniel Stenberg
2010-11-09symbols-in-version: add CURL_SOCKET_BADDaniel Stenberg
I also documented the filtering logic in the symbol-scan.pl function to clarify why not all CURL_* symbols are included.
2010-11-08ftp: close connection as soon as ABOR has been sentKamil Dudka
... and do not send ABOR unless really necessary. Bug: https://bugzilla.redhat.com/649347 Reported by: Simon H.
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-03dist: add symbol-scan.pl to the tarballDaniel Stenberg
2010-11-03test1119: verify symbols-in-versionsDaniel Stenberg
2010-11-03runtests: allow tests written as perl scriptsDaniel Stenberg
If a command is set type="perl", it can now specify a perl program that will be run instead of an ordinary curl or built tool. A perl test automatically disables memory and valgrind debugging.
2010-11-03symbol-scan: verifies symbols-in-versionsDaniel Stenberg
This new script scans for all enums and #defines used by the curl/curl.h and curl/multi.h headers. Then it reads all symbols mentioned in symbols-in-vesions and make sure that there's no entries missing in there. It then proceeds to verify that the entries that symbols-in-vesions mentions but aren't found in the sources are truly documented as removed. This script is used in the new test case 1119
2010-11-02Added mk580.pl to the tar ballDan Fandrich
2010-11-02ignore: lib580.c is generated by mk580.plDaniel Stenberg
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-10-29ftp: prevent server from hanging on closed data connectionKamil Dudka
Some FTP servers (e.g. Pure-ftpd) end up hanging if we close the data connection before transferring all the requested data. If we send ABOR in that case, it prevents the server from hanging. Bug: https://bugzilla.redhat.com/643656 Reported by: Pasi Karkkainen, Patrick Monnerat
2010-10-19URL-parsing: consider ? a dividerDaniel Stenberg
The URL parser got a little stricter as it now considers a ? to be a host name divider so that the slightly sloppier URLs work too. The problem that made me do this change was the reported problem with an URL like: www.example.com?email=name@example.com This form of URL is not really a legal URL (due to the missing slash after the host name) but is widely accepted by all major browsers and libcurl also already accepted it, it was just the '@' letter that triggered the problem now. The side-effect of this change is that now libcurl no longer accepts the ? letter as part of user-name or password when given in the URL, which it used to accept (and is tested in test 191). That letter is however mentioned in RFC3986 to be required to be percent encoded since it is used as a divider. Bug: http://curl.haxx.se/bug/view.cgi?id=3090268
2010-10-14Fixed the IPv6 host address in test1203Dan Fandrich
Reported by: Christian Weisgerber Bug: http://curl.haxx.se/bug/view.cgi?id=3087479
2010-10-14Added --noconfigure switch to testcurl.pl.Guenter Knauf
2010-10-11test: urlglob error messages have no extra newline anymoreDaniel Stenberg
2010-10-02HTTP: remove special case for 416Daniel Stenberg
It was pointed out that the special case libcurl did for 416 was incorrect and wrong. 416 is not really different to other errors so the response body must be handled like for other errors/http responses. Reported by: Chris Smowton Bug: http://curl.haxx.se/bug/view.cgi?id=3076808
2010-10-02sws: Added writedelay HTTP server commandDan Fandrich
This delays between write operations, hopefully making it easier to spot problems where libcurl doesn't flush the socket properly before waiting for the next response.
2010-09-29Renamed test1204 to test1117 to move it into the normal rangeDan Fandrich
2010-09-28curl_easy_escape: don't escape "unreserved" charactersDaniel Stenberg
According to RFC3986 section 2.3 the letters -, ., _ and ~ should not be percent-encoded. Reported by: Miguel Diaz Bug: http://curl.haxx.se/mail/lib-2010-09/0227.html
2010-09-27Added test case 1204 to test HTTP range failureDan Fandrich
This is an attempt to reproduce bug #3076808
2010-09-27parsedate: allow time specified without secondsDaniel Stenberg
The date format in RFC822 allows that the seconds part of HH:MM:SS is left out, but this function didn't allow it. This change also includes a modified test case that makes sure that this now works. Reported by: Matt Ford Bug: http://curl.haxx.se/bug/view.cgi?id=3076529
2010-09-11Link curl and the test apps with -lrt explicitly when necessaryDan Fandrich
When curl calls a function from that library then it needs to explicitly link to the library instead of piggybacking on libcurl's own dependency. Without this, GNU ld with the --no-add-needed flag fails when linking (which Fedora now does by default). Reported by: Quanah Gibson-Mount Bug: http://curl.haxx.se/mail/lib-2010-09/0085.html
2010-09-09test565: Don't hardcode IP:PORTTor Arntsen
Use %HOSTIP:%HTTPPORT instead of 127.0.0.1:8990 so that verification works if the baseport change option is used when executing runtests.pl.
2010-08-30Added proxy keyword to allow skipping test in proxyless configsDan Fandrich
2010-08-25Tweaked some test data filesDan Fandrich
Fixed some issues that caused xmllint failures, added features and keywords, fixed some quotes and removed some <strip> sections that unnecessarily limited test checking.
2010-08-25runtests: fix uninitialized variable warningDaniel Stenberg
2010-08-25gopher tests: revert parts of gopher in the pingpong serverDaniel Stenberg
Introduced in the initial gopher commits, there was added logic to do GOPHER test serving in the pingpong server but as it resembles HTTP much more than FTP or SMTP, the gopher testing has been moved over to instead use the sws (HTTP) server. This change simply removes unused code.
2010-08-25gopher tests: use sws and adjusted to more standard styleDaniel Stenberg
2010-08-25sws: added basic gopher supportDaniel Stenberg
2010-08-25gopher: fix test case line endingsDaniel Stenberg
Patches over email very easily lose CRLF line endings in files otherwise LF-only so I had to put them back where needed.
2010-08-25Gopher using Curl_write; test suite (4 tests)Cameron Kaiser
2010-08-25http: handle trailer headers in all chunked responsesDaniel Stenberg
HTTP allows that a server sends trailing headers after all the chunks have been sent WITHOUT signalling their presence in the first response headers. The "Trailer:" header is only a SHOULD there and as we need to handle the situation even without that header I made libcurl ignore Trailer: completely. Test case 1116 was added to verify this and to make sure we handle more than one trailer header properly. Reported by: Patrick McManus Bug: http://curl.haxx.se/bug/view.cgi?id=3052450
2010-08-24Fixed a NULL pointer dereference in form postingDan Fandrich
It was introduced in commit eeb2cb05 along with the -F type= change. Also fixed a typo in the name of the magic filename= parameter. Tweaked tests 39 and 173 to better test this path.
2010-08-21cmdline: make -F type= accept ;charset=Daniel Stenberg
The -F option allows some custom parameters within the given string, and those strings are separated with semicolons. You can for example specify "name=daniel;type=text/plain" to set content-type for the field. However, the use of semicolons like that made it not work fine if you specified one within the content-type, like for: "name=daniel;type=text/plain;charset=UTF-8" ... as the second one would be seen as a separator and "charset" is no parameter curl knows anything about so it was just silently discarded. The new logic now checks if the semicolon and following keyword looks like a parameter it knows about and if it isn't it is assumed to be meant to be used within the content-type string itself. I modified test case 186 to verify that this works as intended. Reported by: Larry Stone Bug: http://curl.haxx.se/bug/view.cgi?id=3048988
2010-08-20Trial to fix win32 autobuilds.Guenter Knauf
It seems that its time to look at some better ideas for the win32 non-configure builds; probably a prebuild target which copies config-win32.h to curl_config.h and appends also then feature defines like USE_ARES.
2010-08-18Removed a C99ism & made an array constDan Fandrich
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-16Make the LD_PRELOAD path absolute in the tests that use itDan Fandrich
In some situations, libtool will change directories and perform a link step before executing the libtest test app. Since LD_PRELOAD is in effect for this entire process, the path to the binary must be absolute so it will be valid no matter in which directory the app is running.
2010-08-16Clear stdout and stderr files on each test runDan Fandrich
This allows a test to be run several times in the same test session even when the -k option is given.
2010-08-13Reset environment variables before starting serversDan Fandrich
Otherwise, variables from tests could affect the servers themselves.
2010-08-11runtests: clear old setenv remainders before testDaniel Stenberg
Due to the layout of the singletest function there are situations where it returns before it clears the environment variables that were especially set for the single specific test case. That could lead to subsequent tests getting executed with environment variables sticking around from a previous test which could lead to badness. This change makes sure to clear all custom variables that may be laying around from a previous round, before running a test case. Reported by: Kamil Dudka Bug: http://curl.haxx.se/mail/lib-2010-08/0141.html
2010-08-10callbacks: acknowledge progress callback error returnsDaniel Stenberg
When the progress callback is called during the TCP connection, an error return would accidentally not abort the operation as intended but would instead be counted as a failure to connect to that particular IP and libcurl would just continue to try the next. I made singleipconnect() and trynextip() return CURLcode properly. Added bonus: it corrected the error code for bad --interface usages, like tested in test 1084 and test 1085. Reported by: Adam Light Bug: http://curl.haxx.se/mail/lib-2010-08/0105.html
2010-08-10Added msys Perl since git for Win32 comes with own Perl which identifies as ↵Guenter Knauf
msys.
2010-08-10Make testcurl.pl Watcom-aware.Guenter Knauf
2010-08-10parse_remote_port: fix ;type= URL suffix over HTTP proxyDaniel Stenberg
Test 563 is enabled now and verifies that the combo FTP type=A URL, CURLOPT_PORT set and proxy work fine. As a bonus I managed to remove the somewhat odd FTP check in parse_remote_port() and instead converted it to a better and more generic 'slash_removed' struct field. Checking the ->protocol field isn't right since when an FTP:// URL is sent over a HTTP proxy, the protocol is HTTP but the URL was handled by the FTP code and thus slash_removed is set TRUE for this case.