curl-curl/docs
Viktor Szakats 2c27a67daa
tests: always make bundles, adapt build and tests
Make test bundles the default. Drop non-bundle build mode.
Also do all the optimizations and tidy-ups this allows, simpler builds,
less bundle exceptions, streamlined build mechanics.

Also rework the init/deinit macro magic for unit tests. The new method
allows using unique init/deinit function names, and calling them with
arguments. This is in turn makes it possible to reduce the use of global
variables.

Note this drop existing build options `-DCURL_TEST_BUNDLES=` from cmake
and `--enable-test-bundles` / `--disable-test-bundles` from autotools.

Also:
- rename test entry functions to have unique names: `test_<testname>`
  This removes the last exception that was handled in the generator.
- fix `make dist` to not miss test sources with test bundles enabled.
- sync and merge `tests/mk-bundle.pl` into `scripts/mk-unity.pl`.
- mk-unity.pl: add `--embed` option and use it when `CURL_CLANG_TIDY=ON`
  to ensure that `clang-tidy` does not miss external test C sources.
  (because `clang-tidy` ignores code that's #included.)
- tests/unit: drop no-op setup/stop functions.
- tests: reduce symbol scopes, global macros, other fixes and tidy-ups.
- tool1621: fix to run, also fix it to pass.
- sockfilt: fix Windows compiler warning in certain unity include order,
  by explicitly including `warnless.h`.

Follow-up to 6897aeb105 #17468

Closes #17590
2025-06-14 21:08:23 +02:00
..
cmdline-opts tests: always make bundles, adapt build and tests 2025-06-14 21:08:23 +02:00
examples tests: always make bundles, adapt build and tests 2025-06-14 21:08:23 +02:00
internals spelling: call it null-terminate consistently 2025-05-30 17:29:45 +02:00
libcurl tests: always make bundles, adapt build and tests 2025-06-14 21:08:23 +02:00
tests tests: always make bundles, adapt build and tests 2025-06-14 21:08:23 +02:00
.gitignore docs: add RELEASE-TOOLS.md.dist to .gitignore 2024-07-01 22:49:55 +02:00
ALTSVC.md docs: bring back ALTSVC.md and HSTS.md 2024-12-09 09:32:19 +01:00
BINDINGS.md BINDINGS: add zig binding 2024-08-07 14:51:09 +02:00
BUG-BOUNTY.md BUG-BOUNTY.md. mention the medium bounty amount in 2025 2025-05-28 08:47:26 +02:00
BUGS.md docs: use lowercase curl and libcurl 2025-01-02 17:15:54 +01:00
CIPHERS-TLS12.md docs: update CIPHERS.md 2024-08-12 23:35:56 +02:00
CIPHERS.md TLS: remove support for Secure Transport and BearSSL 2025-06-11 07:54:19 +02:00
CMakeLists.txt tests: move test docs into /docs 2025-05-28 15:00:03 +02:00
CODE_OF_CONDUCT.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
CODE_REVIEW.md docs: misc language polish 2024-07-01 16:45:17 +02:00
CONTRIBUTE.md CONTRIBUTE: add project guidelines for AI use 2025-05-15 14:07:39 +02:00
curl-config.md docs: minor edits to please the new spellchecker regime 2025-02-27 13:15:21 +01:00
CURL-DISABLE.md cmake: document -D and env build options 2024-10-24 23:06:40 +02:00
CURLDOWN.md TLS: remove support for Secure Transport and BearSSL 2025-06-11 07:54:19 +02:00
DEPRECATE.md TLS: remove support for Secure Transport and BearSSL 2025-06-11 07:54:19 +02:00
DISTROS.md docs: update distros links 2025-05-12 13:51:38 -07:00
EARLY-RELEASE.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
ECH.md ECH: reference the OpenSSL ECH feature branch 2025-05-06 09:02:24 +02:00
EXPERIMENTAL.md docs/EXPERIMENTAL.md: add a mention of HTTPSRR as experimental 2025-01-16 19:41:42 +01:00
FAQ TLS: remove support for Secure Transport and BearSSL 2025-06-11 07:54:19 +02:00
FEATURES.md FEATURES.md: fix typo 2024-08-23 08:46:09 +02:00
GOVERNANCE.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
HELP-US.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
HISTORY.md docs/HISTORY: add some events from the last year 2025-03-06 16:06:17 +01:00
HSTS.md docs: bring back ALTSVC.md and HSTS.md 2024-12-09 09:32:19 +01:00
HTTP3.md vquic: ngtcp2 + openssl support 2025-04-16 22:32:07 +02:00
HTTP-COOKIES.md docs/HTTP-COOKIES.md: link to more information 2025-01-01 22:45:48 +01:00
HTTPSRR.md HTTPSRR.md: clarify somewhat 2025-04-28 09:11:48 +02:00
INFRASTRUCTURE.md INFRASTRUCTURE.md: add IRC and Matrix details 2025-03-24 15:21:59 +01:00
INSTALL INSTALL: converted to markdown => INSTALL.md 2016-10-21 15:57:29 +02:00
INSTALL-CMAKE.md tests: always make bundles, adapt build and tests 2025-06-14 21:08:23 +02:00
INSTALL.md TLS: remove support for Secure Transport and BearSSL 2025-06-11 07:54:19 +02:00
INTERNALS.md zlib: bump minimum to 1.2.5.2 (was: 1.2.0.4) 2025-03-08 00:39:04 +01:00
IPFS.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
KNOWN_BUGS TLS: remove support for Secure Transport and BearSSL 2025-06-11 07:54:19 +02:00
MAIL-ETIQUETTE.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
Makefile.am tests: move test docs into /docs 2025-05-28 15:00:03 +02:00
MANUAL.md docs: use valid example domain names 2025-02-09 00:17:05 +01:00
mk-ca-bundle.md curldown: make 'added-in:' a mandatory header field 2024-07-18 18:04:09 +02:00
options-in-versions TLS: add CURLOPT_SSL_SIGNATURE_ALGORITHMS and --sigalgs 2025-04-30 17:47:22 +02:00
README.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
RELEASE-PROCEDURE.md RELEASE-PROCEDURE.md: update docs/VERSIONS 2025-06-11 09:21:44 +02:00
ROADMAP.md CI: add whitespace checker 2024-06-27 13:33:30 +02:00
runtests.md tests: move test docs into /docs 2025-05-28 15:00:03 +02:00
RUSTLS.md docs: rework RUSTLS install instructions 2025-03-27 08:47:43 +01:00
SECURITY-ADVISORY.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
SPONSORS.md SPONSORS.md: clarify that we don't promise goods or services 2025-02-05 23:40:24 +01:00
SSL-PROBLEMS.md spelling: 'a' vs 'an' 2025-05-30 11:38:35 +02:00
SSLCERTS.md TLS: remove support for Secure Transport and BearSSL 2025-06-11 07:54:19 +02:00
testcurl.md tests: move test docs into /docs 2025-05-28 15:00:03 +02:00
THANKS THANKS: add names from 8.14.1 release 2025-06-04 07:40:18 +02:00
THANKS-filter docs/THANKS: updated from the 8.14.0 release 2025-05-28 07:40:54 +02:00
TheArtOfHttpScripting.md docs: use lowercase curl and libcurl 2025-01-02 17:15:54 +01:00
TODO spelling: 'a' vs 'an' 2025-05-30 11:38:35 +02:00
URL-SYNTAX.md spelling: 'a' vs 'an' 2025-05-30 11:38:35 +02:00
VERSIONS.md VERSIONS.md: update 2025-06-11 08:49:15 +02:00
VULN-DISCLOSURE-POLICY.md VULN-DISCLOSURE-POLICY.md: the distros list wants <= 7 days embargo 2025-05-31 18:00:58 +02:00
wcurl.md wcurl: import v2025.04.20 script + docs 2025-04-21 11:06:44 +02:00

curl logo

Documentation

You find a mix of various documentation in this directory and subdirectories, using several different formats. Some of them are not ideal for reading directly in your browser.

If you would rather see the rendered version of the documentation, check out the curl website's documentation section for general curl stuff or the libcurl section for libcurl related documentation.