curl/tests/http
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
..
clients tests: always make bundles, adapt build and tests 2025-06-14 21:08:23 +02:00
testenv pytest: adapt for runs with openssl-1.1.1 2025-06-05 13:52:29 +02:00
.gitignore tidy-up: mostly whitespace nits 2023-08-31 23:02:10 +00:00
CMakeLists.txt cmake: improve httpd detection for pytest 2025-02-28 03:40:40 +01:00
config.ini.in pytest: use httpd/apache2 directly, no apachectl 2025-01-14 11:33:49 +01:00
conftest.py pytest: adapt for runs with openssl-1.1.1 2025-06-05 13:52:29 +02:00
Makefile.am conn: fix connection reuse when SSL is optional 2025-02-20 16:23:35 +01:00
requirements.txt pytest-xdist: pytest in parallel 2025-05-15 21:44:31 +02:00
scorecard.py scorecard: rework format and add json print 2025-06-02 23:15:33 +02:00
test_01_basic.py misc: fix spelling 2025-05-29 10:21:05 +02:00
test_02_download.py pytest: adapt for runs with openssl-1.1.1 2025-06-05 13:52:29 +02:00
test_03_goaway.py pytest-xdist: pytest in parallel 2025-05-15 21:44:31 +02:00
test_04_stuttered.py pytest-xdist: pytest in parallel 2025-05-15 21:44:31 +02:00
test_05_errors.py openssl: error on SSL_ERROR_SYSCALL 2025-06-11 10:44:55 +02:00
test_06_eyeballs.py pytest-xdist: pytest in parallel 2025-05-15 21:44:31 +02:00
test_07_upload.py pytest test_07_70, weaken early data check 2025-06-11 10:15:00 +02:00
test_08_caddy.py pytest-xdist: pytest in parallel 2025-05-15 21:44:31 +02:00
test_09_push.py pytest-xdist: pytest in parallel 2025-05-15 21:44:31 +02:00
test_10_proxy.py TLS: remove support for Secure Transport and BearSSL 2025-06-11 07:54:19 +02:00
test_11_unix.py pytest-xdist: pytest in parallel 2025-05-15 21:44:31 +02:00
test_12_reuse.py spelling: 'a' vs 'an' 2025-05-30 11:38:35 +02:00
test_13_proxy_auth.py pytest-xdist: pytest in parallel 2025-05-15 21:44:31 +02:00
test_14_auth.py pytest-xdist: pytest in parallel 2025-05-15 21:44:31 +02:00
test_15_tracing.py pytest-xdist: pytest in parallel 2025-05-15 21:44:31 +02:00
test_16_info.py pytest-xdist: pytest in parallel 2025-05-15 21:44:31 +02:00
test_17_ssl_use.py tidy-up: drop BearSSL and Secure Transport reference remains 2025-06-11 11:14:29 +02:00
test_18_methods.py pytest-xdist: pytest in parallel 2025-05-15 21:44:31 +02:00
test_19_shutdown.py pytest-xdist: pytest in parallel 2025-05-15 21:44:31 +02:00
test_20_websockets.py ws: tests and fixes 2025-06-02 11:15:38 +02:00
test_30_vsftpd.py ftp: fix race in upload handling 2025-05-25 11:56:16 +02:00
test_31_vsftpds.py pytest-xdist: pytest in parallel 2025-05-15 21:44:31 +02:00
test_32_ftps_vsftpd.py pytest-xdist: pytest in parallel 2025-05-15 21:44:31 +02:00