aboutsummaryrefslogtreecommitdiff
path: root/tests/data
AgeCommit message (Collapse)Author
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-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-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-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-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-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-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-29test1177: look for curl.h in source directoryKamil Dudka
If we use a separate build directory, there is no copy of the header. Closes #5310
2020-04-24tests: make runtests check that disabled tests existsDaniel Stenberg
... and error out if so. Removed '536' from DISABLED as there is no such test file. Closes #5288
2020-04-24test1154: set a proper nameDaniel Stenberg
2020-04-22transfer: Switch PUT to GET/HEAD on 303 redirectJay Satiro
Prior to this change if there was a 303 reply to a PUT request then the subsequent request to respond to that redirect would also be a PUT. It was determined that was most likely incorrect based on the language of the RFCs. Basically 303 means "see other" resource, which implies it is most likely not the same resource, therefore we should not try to PUT to that different resource. Refer to the discussions in #5237 and #5248 for more information. Fixes https://github.com/curl/curl/issues/5237 Closes https://github.com/curl/curl/pull/5248
2020-04-20tests: add %NOLISTENPORT and use itDaniel Stenberg
The purpose with this variable is to provide a port number that is reasonably likely to not have a listener on the local host so that tests can try connect failures against it. It uses port 47 - "reserved" according to IANA. Updated six tests to use it instead of the previous different ports. Assisted-by: Emil Engler Closes #5270
2020-04-20mqtt: improve the state machineDaniel Stenberg
To handle PUBLISH before SUBACK and more. Updated the existing tests and added three new ones. Reported-by: Christoph Krey Bug: https://curl.haxx.se/mail/lib-2020-04/0021.html Closes #5246
2020-04-20ensure all references to ports are replaced by varsxquery
2020-04-20add more alt-svc test coveragexquery
2020-04-20test1247: use http server to get the port number setDaniel Stenberg
Follow-up to 0f5db7b263f
2020-04-19mime: properly check Content-Type even if it has parametersPatrick Monnerat
New test 669 checks this fix is effective. Fixes #5256 Closes #5258 Reported-by: thanhchungbtc on github
2020-04-18test1245: make it work with dynamic FTP server portDaniel Stenberg
2020-04-18test1055: make it work with dynamic FTP portDaniel Stenberg
2020-04-18test1028: make it run on dynamic FTP server portDaniel Stenberg
2020-04-18test1056: work with dynamic HTTP ipv6 portDaniel Stenberg
2020-04-18test1448: work with dynamic HTTP server portDaniel Stenberg
2020-04-18tests: introduce preprocessed test casesDaniel Stenberg
The runtests script now always performs variable replacement on the entire test source file before the test gets executed, and saves the updated version in a temporary file (log/test[num]) so that all test case readers/servers can use that version (if present) and thus enjoy the powers of test case variable substitution. This is necessary to allow complete port number freedom. Test 309 is updated to work with a non-fixed port number thanks to this.
2020-04-18tests: make 2006-2010 handle different port number lengthsDaniel 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-14tests: add four MQTT tests 1190 - 1193Daniel Stenberg
2020-04-13test1908: avoid using fixed port number in test dataDaniel Stenberg
Closes #5225
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-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-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-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-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
2020-03-15tests: fix verification of stdout in test 1452 due to newlineMarc Hoersken
Fixes test1452:41:1: error: missing </stdout> tag before </verify>
2020-03-15tests: remove python_dependencies for smbserver from our treeMarc Hoersken
Users of the SMB tests will have to install impacket manually. Reasoning: our in-tree version of impacket was quite outdated and only compatible with Python 2 which is already end-of-life. Upgrading to Python 3 and a compatible impacket version would require to import additional Python-only and CPython-extension dependencies. This would have hindered portability enormously. Closes #5094
2020-03-13server/getpart: make the "XML-parser" stricterDaniel Stenberg
When extracting a <section> <part> and there's no </part> before </section>, this now outputs an error and returns a wrong string to make users spot the mistake. Ref: #5070 Closes #5071
2020-03-11tests/data: Fix some XML formatting issues in test casesDan Fandrich
This allows these test files to pass xmllint.
2020-03-10test1129: fix invalid case of closing XML-tag and Content-LengthMarc Hoersken
Fixes #5070 Closes #5072