aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
2020-04-18tests: run the sws server on "any port"Daniel Stenberg
Makes the test servers for HTTP and Gopher pop up on a currently unused port and runtests adapts to that! Closes #5247
2020-04-18sockfilt: tidy variable naming and data structure in select_wsMarc Hoersken
This commit does not introduce any logical changes to the code. Reviewed-by: Jay Satiro and Marcel Raad Closes #5238
2020-04-16mqttd: s/errno/SOCKERRNODaniel Stenberg
To behave proper on Windows Reported-by: Gisle Vanem Bug: https://github.com/curl/curl/commit/5e855bbd18f84a02c951be7cac6188276818cdac#r38507132 Closes #5241
2020-04-15copyright: bump the copyright year rangeDaniel Stenberg
2020-04-14test2043: use revoked.badssl.com instead of revoked.grc.comMarc Hoersken
The certificate of revoked.grc.com has expired on 2020-04-13. Reviewed-by: Jay Satiro Closes #5233
2020-04-14sockfilt: fix broken pipe on Windows to be ready in select_wsMarc Hoersken
Closes #5228
2020-04-14tests: add four MQTT tests 1190 - 1193Daniel Stenberg
2020-04-14tests: add the mqtt test server mqttdDaniel Stenberg
2020-04-14tests: support hex encoded data and mqtt serverDaniel Stenberg
The mqtt server is started using a "random" port.
2020-04-13test1908: avoid using fixed port number in test dataDaniel Stenberg
Closes #5225
2020-04-12tests/server: add hidden window to gracefully handle WM_CLOSEMarc Hoersken
Forward Window events as signals to existing signal event handler.
2020-04-12tests/server: add CTRL event handler for Win32 consolesMarc Hoersken
Forward CTRL events as signals to existing signal event handler.
2020-04-12tests/server: move all signal handling routines to util.[ch]Marc Hoersken
Avoid code duplication to prepare for portability enhancements.
2020-04-11tests/server/util.c: use curl_off_t instead of long for pidMarc Hoersken
Avoid potential overflow of huge PIDs on Windows. Related to #5188 Assisted-by: Marcel Raad
2020-04-11tests: use Cygwin/msys PIDs for stunnel and sshd on WindowsMarc Hoersken
Since the Windows versions of both programs would write Windows PIDs to their pidfiles which we cannot handle, we need to use our known perl.exe Cygwin/msys PID together with exec() in order to tie the spawned processes to the existance of our perl.exe The perl.exe that is executing secureserver.pl and sshserver.pl has a Cygwin/msys PID, because it is started inside Cygwin/msys. Related to #5188
2020-04-11tests: add Windows compatible pidwait like pidkill and pidtermMarc Hoersken
Related to #5188
2020-04-11tests: fix conflict between Cygwin/msys and Windows PIDsMarc Hoersken
Add 65536 to Windows PIDs to allow Windows specific treatment by having disjunct ranges for Cygwin/msys and Windows PIDs. See also: - https://cygwin.com/git/?p=newlib-cygwin.git;a=commit; ↵ h=b5e1003722cb14235c4f166be72c09acdffc62ea - https://cygwin.com/git/?p=newlib-cygwin.git;a=commit; ↵ h=448cf5aa4b429d5a9cebf92a0da4ab4b5b6d23fe Replaces #5178 Closes #5188
2020-04-11test1148: tolerate progress updates better (again)Jay Satiro
- Ignore intermediate progress updates. - Support locales that use a character other than period as decimal separator (eg 100,0%). test1148 checks that the progress finishes at 100% and has the right bar width. Prior to this change the test assumed that the only progress reported for such a quick transfer was 100%, however in rare instances (like in the CI where transfer time can slow considerably) there may be intermediate updates. For example, below is stderrlog1148 from a failed CI run with explicit \r and \n added (it is one line; broken up so that it's easier to understand). \r \r################################## 48.3% \r######################################################################## 100.0% \n Closes https://github.com/curl/curl/pull/5194
2020-04-10sshserver.pl: use cached Win32 environment check variableMarc Hoersken
2020-04-09server/resolve: remove AI_CANONNAME to make macos tell the truthDaniel Stenberg
With this bit set, my mac successfully resolves "ip6-localhost" when in fact there is no such host known to my machine! That in turn made test 241 wrongly execute and fail. Closes #5202
2020-04-09runtests: fix warning about using an undefined variableDaniel Stenberg
Follow-up from 4d939ef6ceb2db1
2020-04-08runtests: provide nicer errormsg when protocol "dump" file is emptyDaniel Stenberg
2020-04-08tests: verify split initial HTTP requests with CURL_SMALLREQSENDDaniel Stenberg
test1294: "split request" being when the entire request isn't sent in the first go, and the remainder is sent in the PERFORM state. A GET request is otherwise not sending anything during PERFORM. test1295: same kind of split but with POST Closes #5197
2020-04-07tests/README: update the port numbers listDaniel Stenberg
Since the pipelining server is long gone. Reported-by: James Fuller
2020-04-06cleanup: correct copyright year range on a few filesDaniel Stenberg
2020-04-05lib670: use the same Win32 API check as all other lib testsMarc Hoersken
2020-04-05appveyor: show failed tests in log even if test is ignoredMarc Hoersken
And print API response with newline only if there is one
2020-04-05test1566: verify --etag-compare that gets a 304 backDaniel Stenberg
Verifies the fix in #5183 Closes #5186
2020-04-05curl: allow both --etag-compare and --etag-save with same file nameKwon-Young Choi
This change inverse the order of processing for the --etag-compare and --etag-save option to process first --etag-compare. This in turn allows to use the same file name to compare and save an etag. The original behavior of not failing if the etag file does not exists is conserved. Fixes #5179 Closes #5180
2020-04-03sockfilt: remove redundancy in timeout handlingMarc Hoersken
And update other logmsg output in select_ws on Windows.
2020-04-03sockfilt: fix handling of ready closed sockets on WindowsMarc Hoersken
Replace the incomplete workaround regarding FD_CLOSE only signalling once by instead doing a pre-check with standard select and storing the result for later use. select keeps triggering on closed sockets on Windows while WSAEventSelect fires only once with data still available. By doing the pre-check we do not run in a deadlock due to waiting forever for another FD_CLOSE event.
2020-04-03sockfilt: fix race-condition of waiting threads and event handlingMarc Hoersken
Fix race-condition of waiting threads finishing while events are already being processed which lead to invalid or skipped events. Use mutex to check for one event at a time or do post-processing. In addition to mutex-based locking use specific event as signal. Closes #5156
2020-04-02runtests.pl: log host OS as detected by Perl environmentMarc Hoersken
2020-04-02ftpserver.pl: log before and after data connection is closedMarc Hoersken
2020-03-31build: fixed build for systems with select() in unistd.hHarry Sintonen
Closes #5169
2020-03-30cleanup: insert newline after if() conditionsDaniel Stenberg
Our code style mandates we put the conditional block on a separate line. These mistakes are now detected by the updated checksrc.
2020-03-29dist: add tests/version-scan.pl to tarballDaniel Stenberg
... used in test 1177. Follow-up to a97d826f6de3
2020-03-29test1177: verify that all the CURL_VERSION_ bits are documentedDaniel Stenberg
2020-03-27writeout_json: Fix data type issuesMichael Kaufmann
Load long values correctly (e.g. for http_code). Use curl_off_t (not long) for: - size_download (CURLINFO_SIZE_DOWNLOAD_T) - size_upload (CURLINFO_SIZE_UPLOAD_T) The unit for these values is bytes/second, not microseconds: - speed_download (CURLINFO_SPEED_DOWNLOAD_T) - speed_upload (CURLINFO_SPEED_UPLOAD_T) Fixes #5131 Closes #5152
2020-03-26sockfilt: add logmsg output to select_ws_wait_thread on WindowsMarc Hoersken
Assisted-by: Jay Satiro Reviewed-by: Daniel Stenberg Closes #5086
2020-03-24copyright: fix out-of-date copyright ranges and missing headersDaniel Stenberg
Reported by the new script 'scripts/copyright.pl'. The script has a regex whitelist for the files that don't need copyright headers. Removed three (mostly usesless) README files from docs/ Closes #5141
2020-03-22getinfo: provide CURLINFO_HEADER_SIZE and CURLINFO_REQUEST_SIZE overrideDaniel Stenberg
To let debug-builds return fake values, like in test 970. Ref: #5131 Closes #5136
2020-03-22test970: improve the testDaniel Stenberg
- send more data to make problems more obvious - don't start the data with minus, it makes diffs harder to read - skip the headers in the stdout comparison - save to a file name to also verify 'filename_effective' Ref: #5131
2020-03-20tests: add test 430, 431 and 432 to verify the --config fixDaniel Stenberg
Verify the fixes in 4e0b4fee4
2020-03-20test2100: fix static port instead of dynamic value being usedMarc Hoersken
2020-03-20test970: fix static ip:port instead of dynamic values being usedMarc Hoersken
2020-03-19tests: make Python-based servers compatible with Python 2 and 3Marc Hoersken
Update smbserver.py and negtelnetserver.py to be compatible with Python 3 while staying backwards-compatible to support Python 2. Fix string encoding and handling of echoed and transferred data. Tested with both Python 2.7.17 and Python 3.7.7 Reported-by: Daniel Stenberg Assisted-by: Kamil Dudka Reviewed-by: Marcel Raad Fixes #5104 Closes #5110
2020-03-18schannel: add "best effort" revocation check optionJohannes Schindelin
- Implement new option CURLSSLOPT_REVOKE_BEST_EFFORT and --ssl-revoke-best-effort to allow a "best effort" revocation check. A best effort revocation check ignores errors that the revocation check was unable to take place. The reasoning is described in detail below and discussed further in the PR. --- When running e.g. with Fiddler, the schannel backend fails with an unhelpful error message: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate. Sadly, many enterprise users who are stuck behind MITM proxies suffer the very same problem. This has been discussed in plenty of issues: https://github.com/curl/curl/issues/3727, https://github.com/curl/curl/issues/264, for example. In the latter, a Microsoft Edge developer even made the case that the common behavior is to ignore issues when a certificate has no recorded distribution point for revocation lists, or when the server is offline. This is also known as "best effort" strategy and addresses the Fiddler issue. Unfortunately, this strategy was not chosen as the default for schannel (and is therefore a backend-specific behavior: OpenSSL seems to happily ignore the offline servers and missing distribution points). To maintain backward-compatibility, we therefore add a new flag (`CURLSSLOPT_REVOKE_BEST_EFFORT`) and a new option (`--ssl-revoke-best-effort`) to select the new behavior. Due to the many related issues Git for Windows and GitHub Desktop, the plan is to make this behavior the default in these software packages. The test 2070 was added to verify this behavior, adapted from 310. Based-on-work-by: georgeok <giorgos.n.oikonomou@gmail.com> Co-authored-by: Markus Olsson <j.markus.olsson@gmail.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Closes https://github.com/curl/curl/pull/4981
2020-03-17test 970: verify --write-out '%{json}'Daniel Stenberg
Makes curl_easy_getinfo() of "variable" numerical content instead return the number set in the env variable `CURL_TIME`. Makes curl_version() of "variable" textual content. This guarantees a stable version string which can be tested against. Environment variable `CURL_VERSION` defines the content. Assisted-by: Mathias Gumz
2020-03-17DISABLED: disable test 323Daniel Stenberg
The test uses SRP to "a server not supporting it" but modern stunnel versions will silently accept it and remain happy. The test is therefore faulty. I haven't figured out how to make stunnel explicitly reject SRP-using connects. Reported-by: Marc Hörsken Fixes #5105 Closes #5113