#
5d3016ad |
| 16-Apr-2024 |
Viktor Szakats |
dist: add ECH files to tarball Also sort `EXTRA_DIST` list in `tests/Makefile.am` and make it diffable. Follow-up to a362962b7289ec02b412890c9515657cf0ed50ac #11922 Closes #13381
|
#
0a4419ae |
| 11-Apr-2024 |
Viktor Szakats |
dist: add files missing from release tarball Closes #13346
|
#
eefcc1bd |
| 17-Jan-2024 |
Daniel Stenberg |
docs: introduce "curldown" for libcurl man page format curldown is this new file format for libcurl man pages. It is markdown inspired with differences: - Each file has a set of
docs: introduce "curldown" for libcurl man page format curldown is this new file format for libcurl man pages. It is markdown inspired with differences: - Each file has a set of leading headers with meta-data - Supports a small subset of markdown - Uses .md file extensions for editors/IDE/GitHub to treat them nicely - Generates man pages very similar to the previous ones - Generates man pages that still convert nicely to HTML on the website - Detects and highlights mentions of curl symbols automatically (when their man page section is specified) tools: - cd2nroff: converts from curldown to nroff man page - nroff2cd: convert an (old) nroff man page to curldown - cdall: convert many nroff pages to curldown versions - cd2cd: verifies and updates a curldown to latest curldown This setup generates .3 versions of all the curldown versions at build time. CI: Since the documentation is now technically markdown in the eyes of many things, the CI runs many more tests and checks on this documentation, including proselint, link checkers and tests that make sure we capitalize the first letter after a period... Closes #12730
show more ...
|
#
c3860658 |
| 08-Dec-2023 |
Daniel Stenberg |
tests: rename tests scripts to the test number It is hard to name the scripts sensibly. Lots of them are similarly named and the name did not tell which test that used them. The
tests: rename tests scripts to the test number It is hard to name the scripts sensibly. Lots of them are similarly named and the name did not tell which test that used them. The new approach is rather to name them based on the test number that runs them. Also helps us see which scripts are for individual tests rather than for general test infra. - badsymbols.pl -> test1167.pl - check-deprecated.pl -> test1222.pl - check-translatable-options.pl -> test1544.pl - disable-scan.pl -> test1165.pl - error-codes.pl -> test1175.pl - errorcodes.pl -> test1477.pl - extern-scan.pl -> test1135.pl - manpage-scan.pl -> test1139.pl - manpage-syntax.pl -> test1173.pl - markdown-uppercase.pl -> test1275.pl - mem-include-scan.pl -> test1132.pl - nroff-scan.pl -> test1140.pl - option-check.pl -> test1276.pl - options-scan.pl -> test971.pl - symbol-scan.pl -> test1119.pl - version-scan.pl -> test1177.pl Closes #12487
show more ...
|
#
da8c1d15 |
| 06-Dec-2023 |
Daniel Stenberg |
dist: add tests/errorcodes.pl to the tarball Used by test 1477 Reported-by: Xi Ruoyao Follow-up to 0ca3a4ec9a7 Fixes #12462 Closes #12463
|
#
589dca76 |
| 15-Sep-2023 |
Dan Fandrich |
CI: ignore the "flaky" and "timing-dependent" test results CI builds will now run these tests, but will ignore the results if they fail. The relevant tests are ones that are sensitive to
CI: ignore the "flaky" and "timing-dependent" test results CI builds will now run these tests, but will ignore the results if they fail. The relevant tests are ones that are sensitive to timing or have edge conditions that make them more likely to fail on CI servers, which are often heavily overloaded and slow. This change only adds two additional tests to be ignored, since the others already had the flaky keyword. Closes #11865
show more ...
|
#
5949369c |
| 01-Sep-2023 |
Dan Fandrich |
build: fix portability of mancheck and checksrc targets At least FreeBSD preserves cwd across makefile lines, so rules consisting of more than one "cd X; do_something" must be explicitly
build: fix portability of mancheck and checksrc targets At least FreeBSD preserves cwd across makefile lines, so rules consisting of more than one "cd X; do_something" must be explicitly run in a subshell to avoid this. This problem caused the Cirrus FreeBSD build to fail when parallel make jobs were enabled.
show more ...
|
#
98483a8a |
| 18-Aug-2023 |
Daniel Stenberg |
tests/Makefile: add check-translatable-options.pl to tarball Used in test 1544 Follow-up to ae806395abc8c
|
#
acd82c8b |
| 26-Apr-2023 |
Stefan Eissing |
tests/http: more tests with specific clients - Makefile support for building test specific clients in tests/http/clients - auto-make of clients when invoking pytest - added test_09_0
tests/http: more tests with specific clients - Makefile support for building test specific clients in tests/http/clients - auto-make of clients when invoking pytest - added test_09_02 for server PUSH_PROMISEs using clients/h2-serverpush - added test_02_21 for lib based downloads and pausing/unpausing transfers curl url parser: - added internal method `curl_url_set_authority()` for setting the authority part of a url (used for PUSH_PROMISE) http2: - made logging of PUSH_PROMISE handling nicer Placing python test requirements in requirements.txt files - separate files to base test suite and http tests since use and module lists differ - using the files in the gh workflows websocket test cases, fixes for we and bufq - bufq: account for spare chunks in space calculation - bufq: reset chunks that are skipped empty - ws: correctly encode frames with 126 bytes payload - ws: update frame meta information on first call of collect callback that fills user buffer - test client ws-data: some test/reporting improvements Closes #11006
show more ...
|
#
20fa5b74 |
| 19-Apr-2023 |
Dan Fandrich |
devtest: add a new script for testing the test harness This is currently useful for starting a test server on its own without an associated test, which can be used for interactive curl t
devtest: add a new script for testing the test harness This is currently useful for starting a test server on its own without an associated test, which can be used for interactive curl testing or for validating parts of the test harness itself. More commands can be added to perform additional functions in the future. Ref: #10818 Closes #11008
show more ...
|
#
707f74c0 |
| 15-Apr-2023 |
Dan Fandrich |
runtests: refactor into more packages testutil.pm now contains a few miscellaneous functions that are used in several places but have no better place to live. subvariables moves to
runtests: refactor into more packages testutil.pm now contains a few miscellaneous functions that are used in several places but have no better place to live. subvariables moves to servers.pm since most variables that it substitutes relate to servers, so this is the most appropriate place. Rename a few functions for better naming consistency. Ref: #10818 Closes #10995
show more ...
|
#
390af1ed |
| 13-Apr-2023 |
Dan Fandrich |
runtests: refactor test runner code into runner.pm This is code that is directly responsible for running a single test. This will eventually run in a separate process as part of the para
runtests: refactor test runner code into runner.pm This is code that is directly responsible for running a single test. This will eventually run in a separate process as part of the parallel testing project. Ref: #10818
show more ...
|
#
d39db811 |
| 06-Apr-2023 |
Dan Fandrich |
tests: factor out the test server management code This now lives in servers.pm with some configuration variables moved to globalconfig.pm Ref: #10818
|
#
efbaa612 |
| 05-Apr-2023 |
Dan Fandrich |
tests: turn perl modules into full packages This helps enforce more modularization and encapsulation. Enable and fix warnings on a few packages. Also, rename ftp.pm to processhelp.pm si
tests: turn perl modules into full packages This helps enforce more modularization and encapsulation. Enable and fix warnings on a few packages. Also, rename ftp.pm to processhelp.pm since there's really nothing ftp-specific in it. Ref: #10818
show more ...
|
#
e497a96a |
| 01-Mar-2023 |
Stefan Eissing |
tests: rename tests/tests-httpd to tests/http - httpd is only one server we test with - the suite coveres the HTTP protocol in general where the default test cases need a more b
tests: rename tests/tests-httpd to tests/http - httpd is only one server we test with - the suite coveres the HTTP protocol in general where the default test cases need a more beefy environment Closes #10654
show more ...
|
#
cbf57176 |
| 20-Feb-2023 |
Matt Jolly |
tests: HTTP server fixups - httpserver.pl -> http-server.pl for consistency - add http3-server.pl to EXTRA_DIST; alphabetise for maintainability - nghttpx proxy invocation scripts sh
tests: HTTP server fixups - httpserver.pl -> http-server.pl for consistency - add http3-server.pl to EXTRA_DIST; alphabetise for maintainability - nghttpx proxy invocation scripts should not use getcwd Closes #10568
show more ...
|
#
67115824 |
| 01-Feb-2023 |
Stefan Eissing |
connections: introduce http/3 happy eyeballs New cfilter HTTP-CONNECT for h3/h2/http1.1 eyeballing. - filter is installed when `--http3` in the tool is used (or the equivalent CURL
connections: introduce http/3 happy eyeballs New cfilter HTTP-CONNECT for h3/h2/http1.1 eyeballing. - filter is installed when `--http3` in the tool is used (or the equivalent CURLOPT_ done in the library) - starts a QUIC/HTTP/3 connect right away. Should that not succeed after 100ms (subject to change), a parallel attempt is started for HTTP/2 and HTTP/1.1 via TCP - both attempts are subject to IPv6/IPv4 eyeballing, same as happens for other connections - tie timeout to the ip-version HAPPY_EYEBALLS_TIMEOUT - use a `soft` timeout at half the value. When the soft timeout expires, the HTTPS-CONNECT filter checks if the QUIC filter has received any data from the server. If not, it will start the HTTP/2 attempt. HTTP/3(ngtcp2) improvements. - setting call_data in all cfilter calls similar to http/2 and vtls filters for use in callback where no stream data is available. - returning CURLE_PARTIAL_FILE for prematurely terminated transfers - enabling pytest test_05 for h3 - shifting functionality to "connect" UDP sockets from ngtcp2 implementation into the udp socket cfilter. Because unconnected UDP sockets are weird. For example they error when adding to a pollset. HTTP/3(quiche) improvements. - fixed upload bug in quiche implementation, now passes 251 and pytest - error codes on stream RESET - improved debug logs - handling of DRAIN during connect - limiting pending event queue HTTP/2 cfilter improvements. - use LOG_CF macros for dynamic logging in debug build - fix CURLcode on RST streams to be CURLE_PARTIAL_FILE - enable pytest test_05 for h2 - fix upload pytests and improve parallel transfer performance. GOAWAY handling for ngtcp2/quiche - during connect, when the remote server refuses to accept new connections and closes immediately (so the local conn goes into DRAIN phase), the connection is torn down and a another attempt is made after a short grace period. This is the behaviour observed with nghttpx when we tell it to shut down gracefully. Tested in pytest test_03_02. TLS improvements - ALPN selection for SSL/SSL-PROXY filters in one vtls set of functions, replaces copy of logic in all tls backends. - standardized the infof logging of offered ALPNs - ALPN negotiated: have common function for all backends that sets alpn proprty and connection related things based on the negotiated protocol (or lack thereof). - new tests/tests-httpd/scorecard.py for testing h3/h2 protocol implementation. Invoke: python3 tests/tests-httpd/scorecard.py --help for usage. Improvements on gathering connect statistics and socket access. - new CF_CTRL_CONN_REPORT_STATS cfilter control for having cfilters report connection statistics. This is triggered when the connection has completely connected. - new void Curl_pgrsTimeWas(..) method to report a timer update with a timestamp of when it happend. This allows for updating timers "later", e.g. a connect statistic after full connectivity has been reached. - in case of HTTP eyeballing, the previous changes will update statistics only from the filter chain that "won" the eyeballing. - new cfilter query CF_QUERY_SOCKET for retrieving the socket used by a filter chain. Added methods Curl_conn_cf_get_socket() and Curl_conn_get_socket() for convenient use of this query. - Change VTLS backend to query their sub-filters for the socket when checks during the handshake are made. HTTP/3 documentation on how https eyeballing works. TLS improvements - ALPN selection for SSL/SSL-PROXY filters in one vtls set of functions, replaces copy of logic in all tls backends. - standardized the infof logging of offered ALPNs - ALPN negotiated: have common function for all backends that sets alpn proprty and connection related things based on the negotiated protocol (or lack thereof). Scorecard with Caddy. - configure can be run with `--with-test-caddy=path` to specify which caddy to use for testing - tests/tests-httpd/scorecard.py now measures download speeds with caddy pytest improvements - adding Makfile to clean gen dir - adding nghttpx rundir creation on start - checking httpd version 2.4.55 for test_05 cases where it is needed. Skipping with message if too old. - catch exception when checking for caddy existance on system. Closes #10349
show more ...
|
#
2bc1d775 |
| 02-Jan-2023 |
Daniel Stenberg |
copyright: update all copyright lines and remove year ranges - they are mostly pointless in all major jurisdictions - many big corporations and projects already don't use them - save
copyright: update all copyright lines and remove year ranges - they are mostly pointless in all major jurisdictions - many big corporations and projects already don't use them - saves us from pointless churn - git keeps history for us - the year range is kept in COPYING checksrc is updated to allow non-year using copyright statements Closes #10205
show more ...
|
#
3075fdcc |
| 28-Nov-2022 |
Daniel Stenberg |
test1276: verify lib/optiontable.pl Checks that it generates an output identical to the file.
|
#
6967571b |
| 14-Nov-2022 |
Patrick Monnerat |
lib: feature deprecation warnings in gcc >= 4.3 Add a deprecated attribute to functions and enum values that should not be used anymore. This uses a gcc 4.3 dialect, thus is only ava
lib: feature deprecation warnings in gcc >= 4.3 Add a deprecated attribute to functions and enum values that should not be used anymore. This uses a gcc 4.3 dialect, thus is only available for this version of gcc and newer. Note that the _Pragma() keyword is introduced by C99, but is available as part of the gcc dialect even when compiling in C89 mode. It is still possible to disable deprecation at a calling module compile time by defining CURL_DISABLE_DEPRECATION. Gcc type checking macros are made aware of possible deprecations. Some testing support Perl programs are adapted to the extended declaration syntax. Several test and unit test C programs intentionally use deprecated functions/options and are annotated to not generate a warning. New test 1222 checks the deprecation status in doc and header files. Closes #9667
show more ...
|
#
1d2e6f92 |
| 13-Oct-2022 |
Daniel Stenberg |
tests: add tests/markdown-uppercase.pl to dist tarball Follow-up to aafb06c5928183d Closes #9722
|
#
3f44eb81 |
| 06-Oct-2022 |
Daniel Stenberg |
tests/Makefile: remove run time stats from ci-test The ci-test is the normal makefile target invoked in CI jobs. This has been using the -r option to runtests.pl since a long time, but I
tests/Makefile: remove run time stats from ci-test The ci-test is the normal makefile target invoked in CI jobs. This has been using the -r option to runtests.pl since a long time, but I find that it mostly just adds many lines to the test output report without anyone caring much about those stats. Remove it. Closes #9656
show more ...
|
#
ad9bc597 |
| 17-May-2022 |
max.mehl |
copyright: make repository REUSE compliant Add licensing and copyright information for all files in this repository. This either happens in the file itself as a comment header or in the
copyright: make repository REUSE compliant Add licensing and copyright information for all files in this repository. This either happens in the file itself as a comment header or in the file `.reuse/dep5`. This commit also adds a Github workflow to check pull requests and adapts copyright.pl to the changes. Closes #8869
show more ...
|
#
9121032f |
| 29-Oct-2021 |
Marc Hoersken |
CI/runtests.pl: restore -u flag, but remove it from CI runs This makes it possible to use -u again for local testing, but removes the flag from CI config files and make targets.
CI/runtests.pl: restore -u flag, but remove it from CI runs This makes it possible to use -u again for local testing, but removes the flag from CI config files and make targets. Reviewed-by: Daniel Stenberg Partially reverts #7841 Closes #7921
show more ...
|
#
ccb466fd |
| 15-Oct-2021 |
Daniel Stenberg |
misc: update copyright years
|