aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2020-06-02urldata: let the HTTP method be in the set.* structDaniel Stenberg
When the method is updated inside libcurl we must still not change the method as set by the user as then repeated transfers with that same handle might not execute the same operation anymore! This fixes the libcurl part of #5462 Test 1633 added to verify. Closes #5499
2020-06-02test970: make it require proxy supportDaniel Stenberg
This test verifies the -w %json output and the test case includes a full generated "blob". If there's no proxy support built into libcurl, it will return an error for proxy related info variables and they will not be included in the json, thus causing a mismatch and this test fails. Reported-by: Marc Hörsken Fixes #5501 Closes #5502
2020-05-30build: disable more code/data when built without proxy supportDaniel Stenberg
Added build to travis to verify Closes #5466
2020-05-30url: alloc the download buffer at transfer startDaniel Stenberg
... and free it as soon as the transfer is done. It removes the extra alloc when a new size is set with setopt() and reduces memory for unused easy handles. In addition: the closure_handle now doesn't use an allocated buffer at all but the smallest supported size as a stack based one. Closes #5472
2020-05-30unit1604.c: fix implicit conv from 'SANITIZEcode' to 'CURLcode'Marc Hoersken
GCC 10 warns about this with warning: implicit conversion from 'SANITIZEcode' to 'CURLcode' [-Wenum-conversion] Since 'expected_result' is not really of type 'CURLcode' and it is not exposed in any way, we can just use 'SANITIZEcode'. Reviewed-by: Daniel Stenberg Reviewed-by: Marcel Raad Closes #5476
2020-05-30tests/libtest: fix undefined reference to 'curlx_win32_fopen'Marc Hoersken
Since curl_setup.h now makes use of curlx_win32_fopen for Win32 builds with USE_WIN32_LARGE_FILES or USE_WIN32_SMALL_FILES defined, we need to include the relevant files for tests using fopen, because the libtest sources are also including curl_setup.h Reviewed-by: Marcel Raad Reviewed-by: Daniel Stenberg Follow up to #3784 (ffdddb45d9) Closes #5475
2020-05-29server/sws: fix asan warning on use of uninitialized variableDaniel Stenberg
2020-05-29mk-lib1521: generate code for testing BLOB options as wellDaniel Stenberg
Follow-up to cac5374298b3 Closes #5478
2020-05-27FILEFORMAT: add more features that tests can depend onDaniel Stenberg
2020-05-25url: accept "any length" credentials for proxy authDaniel Stenberg
They're only limited to the maximum string input restrictions, not to 256 bytes. Added test 1178 to verify Reported-by: Will Roberts Fixes #5448 Closes #5449
2020-05-25test1167: fixes in badsymbols.plMaksim Stsepanenka
Closes #5442
2020-05-25altsvc: fix parser for lines ending with CRLFDaniel Stenberg
Fixed the alt-svc parser to treat a newline as end of line. The unit tests in test 1654 were done without CRLF and thus didn't quite match the real world. Now they use CRLF as well. Reported-by: Peter Wu Assisted-by: Peter Wu Assisted-by: Jay Satiro Fixes #5445 Closes #5446
2020-05-25all: fix codespell errorsViktor Szakats
Reviewed-by: Jay Satiro Reviewed-by: Daniel Stenberg Closes https://github.com/curl/curl/pull/5452
2020-05-23curl: remove -J "informational" written on stdoutDaniel Stenberg
curl would previously show "curl: Saved to filename 'name from header'" if -J was used and a name was picked from the Content-Disposition header. That output could interfer with other stdout output, such as -w. This commit removes that output line. Bug: https://curl.haxx.se/mail/archive-2020-05/0044.html Reported-by: Коваленко Анатолий Викторович Closes #5435
2020-05-20tests/server/util.h: add extern to silence compiler warningDaniel Stenberg
Follow-up from a3b0699d5c1
2020-05-15source cleanup: remove all custom typedef structsDaniel Stenberg
- Stick to a single unified way to use structs - Make checksrc complain on 'typedef struct {' - Allow them in tests, public headers and examples - Let MD4_CTX, MD5_CTX, and SHA256_CTX typedefs remain as they actually typedef different types/structs depending on build conditions. Closes #5338
2020-05-15test1632: verify FTP through HTTPS-proxy with connection re-useDaniel Stenberg
2020-05-15test1631: verify FTP download through HTTPS-proxyDaniel Stenberg
2020-05-15sws: as last resort, get test number from server cmd fileDaniel Stenberg
If it can't be found in the request. Also support --cmdfile to set it to a custom file name. runtests.pl always writes this file with the test number in it since a while back.
2020-05-14curl_multibyte: add to curlxMarcel Raad
This will also be needed in the tool and tests. Ref: https://github.com/curl/curl/pull/3758#issuecomment-482197512 Closes https://github.com/curl/curl/pull/3784
2020-05-14url: make the updated credentials URL-encoded in the URLDaniel Stenberg
Found-by: Gregory Jefferis Reported-by: Jeroen Ooms Added test 1168 to verify. Bug spotted when doing a redirect. Bug: https://github.com/jeroen/curl/issues/224 Closes #5400
2020-05-14tests: add https-proxy support to the test suiteDaniel Stenberg
Initial test 1630 added with basic HTTPS-proxy use. HTTPS-proxy is like HTTP proxy but with a full TLS connection to the proxy. Closes #5399
2020-05-14checksrc: enhance the ASTERISKSPACE and update code accordinglyDaniel Stenberg
Fine: "struct hello *world" Not fine: "struct hello* world" (and variations) Closes #5386
2020-05-13docs/options-in-versions: which version added each cmdline optionDaniel Stenberg
Added test 971 to verify that the list is in sync with the files in cmdline-opts. The check also verifies that .d-files that uses Added: specify the same version number as the options-in-versions file does. Closes #5381
2020-05-12tool: Add option --retry-all-errors to retry on any errorJay Satiro
The "sledgehammer" of retrying. Closes https://github.com/curl/curl/pull/5185
2020-05-12CMake: fix runtests.pl with CMake, add new test targetsPeter Wu
* runtests.pl: - Fix out-of-tree build under CMake when srcdir is not set. Default srcdir to the location of runtests.pl. - Add a hack to allow CMake to use the TFLAGS option as documented in tests/README and used in scripts/travis/script.sh. * Bump CMake version to 3.2 for USES_TERMINAL, dropping Debian Jessie support (no one should care, it is already EOL.). * Remove CTest since it defines its own 'test' target with no tests since all unittests are already broken and not built by default. * Add new test targets based on the options from Makefile.am. Since new test targets are rarely added, I opted for duplicating the runtests.pl options as opposed to creating a new Makefile.inc file. Use top-level target names (test-x) instead of x-test since that is used by CI and others. Closes #5358
2020-05-12CMake: do not build test programs by defaultPeter Wu
The default target should only build libcurl and curl. Add a dedicated 'testdeps' target which will be used later when running tests. Note that unittests are currently broken in CMake and already excluded. Closes #5368
2020-05-12FILEFORMAT: moved up the variables section and further polishedDaniel Stenberg
2020-05-12runtests: remove ftp2 support, not usedDaniel Stenberg
We once supported two separate ftp instances in the test suite. Has not been used the last decade. Closes #5375
2020-05-11test1238: avoid tftpd being busy for tests shortly followingMarc Hoersken
The tftpd server may still be busy if the total timeout of 25 seconds has not been reached or no sread error was received during or after the execution of the timeout test 1238. Once the next TFTP test comes around (eg. 1242 or 1243), those will fail because the tftpd server is still waiting on data from curl due to the UDP protocol being stateless and having no connection close. On Linux this error may not happen, because ICMP errors generated due to a swrite error can also be returned async on the next sread call instead. Therefore we will now just kill the tftpd server after test 1238 to make sure that the following tests are not affected. This enables us to no longer ignore tests 1242, 1243, 2002 and 2003 on the CI platforms CirrusCI and AppVeyor. Assisted-by: Peter Wu Closes #5364
2020-05-10tests/server/tftpd.c: fix include and enhance debug loggingMarc Hoersken
setjmp.h should only be included if HAVE_SETJMP_H is defined. Add additional log statements to see wether reads and writes are blocking or finishing before an alarm signal is received. Assisted-by: Peter Wu Part of #5364
2020-05-08urlapi: accept :: as a valid IPv6 addressDaniel Stenberg
Text 1560 is extended to verify. Reported-by: Pavel Volgarev Fixes #5344 Closes #5351
2020-05-07runtests: show elapsed test time with higher precision (ms)Daniel Stenberg
2020-05-06test613.pl: make tests 613 and 614 work with OpenSSH for WindowsMarc Hoersken
OpenSSH for Windows shows group and other/world permissions as *, because those concepts do not exist on Windows. It also does not show the current or parent directory, so we just ignore those. Reviewed-by: Daniel Stenberg Closes #5328
2020-05-06runtests: set +x mode againDaniel Stenberg
2020-05-04dynbuf: introduce internal generic dynamic buffer functionsDaniel Stenberg
A common set of functions instead of many separate implementations for creating buffers that can grow when appending data to them. Existing functionality has been ported over. In my early basic testing, the total number of allocations seem at roughly the same amount as before, possibly a few less. See docs/DYNBUF.md for a description of the API. Closes #5300
2020-05-03runtests: remove sleep callsDaniel Stenberg
Remove many one second sleeps that were done *after* each newly started test server already has been verified. They should not have any purpose there. Closes #5323
2020-05-02sockfilt: make select_ws stop waiting on exit signal eventMarc Hoersken
This makes sure that select_ws behaves similar to real select which stops waiting on a signal handler being triggered. This makes it possible to gracefully stop sockfilt.exe on Windows with taskkill /IM sockfilt.exe (without /F force flag). Reviewed-by: Jay Satiro Part of #5260
2020-05-02tests/server/util.[ch]: add exit event to stop waiting on WindowsMarc Hoersken
This commit adds a global exit event to the test servers that Windows-specific wait routines can use to get triggered if the program was signaled to be terminated, eg. select_ws in sockfilt.c The exit event will be managed by the signal handling code and is set to not reset automatically to support multiple wait routines. Reviewed-by: Jay Satiro Closes #5260
2020-05-02tests/server/util.c: fix thread handle not being closedMarc Hoersken
Reviewed-by: Jay Satiro Part of #5260
2020-05-02tests/server/util.c: use raise instead of calling signal handlerMarc Hoersken
Use raise to trigger signal handler instead of calling it directly and causing potential unexpected control flow. Reviewed-by: Jay Satiro Part of #5260
2020-05-02tests: add support for SSH server variant specific transfer pathsMarc Hoersken
OpenSSH for Windows requires paths in the format of /C:/ instead of the pseudo-POSIX paths /cygdrive/c/ or just /c/ Reviewed-by: Daniel Stenberg Closes #5298
2020-05-02runtests: make the logmsg from the ssh server only show in verboseDaniel Stenberg
2020-05-02tests: make test 1248 + 1249 use %NOLISTENPORTDaniel Stenberg
... instead of a port of a non-running server so that it works stand-alone. Closes #5318
2020-04-30runtests: fix typo in the existence of disabled tests checkerEmil Engler
Closes #5316
2020-04-30test75: Remove precheck testDan Fandrich
This has not been needed since commit 9fa42bed and often prevents it from running at all with dynamic test ports.
2020-04-30tests: Stop referring to server ports when they're not usedDan Fandrich
Several tests referred to specific server ports even when the test didn't actually use that server or specify that it's needed. In such cases, the test harness substitutes the text "[not running]" as the port number which causes many such tests to fail due to the inability to parse the URL. These tests are changed to use %NOLISTENPORT which will always be substituted correctly.
2020-04-30conncache: various concept cleanupsDaniel Stenberg
More connection cache accesses are protected by locks. CONNCACHE_* is a beter prefix for the connection cache lock macros. Curl_attach_connnection: now called as soon as there's a connection struct available and before the connection is added to the connection cache. Curl_disconnect: now assumes that the connection is already removed from the connection cache. Ref: #4915 Closes #5009
2020-04-30tests: tests: run stunnel for HTTPS and FTPS on dynamic portsDaniel Stenberg
As stunnel is an external tool and it has no specific option to export the actually used port number when asked to listen to 0, runtests instead iterates over ten randomly picked high number ports and sticks to the first one stunnel can listen to. Closes #5267
2020-04-30tests: pick a random port number for SSHDaniel Stenberg
Since sshd doesn't have such an option by itself, we iterate over a series of random ports until one works. Closes #5273