curl/tests/http
Stefan Eissing 9bc8b078eb
multi: improve wakeup and wait code
- Split WINSOCK and POSIX code in `multi_wait()` as the ifdef'ery
  was becoming unreadable
- define `ENABLE_WAKEUP` to mean the wakeup socketpair is enabled,
  no additional USE_WINSOCK check needed. Under WINSOCK
  `ENABLE_WAKEUP` is not defined, so it's availability is as before
  under the double defined() checks
- When the multi handle has "alive" transfers, the admin handle's
  pollset include the wakeup receive socket. This results in the
  admin handle running when someone uses `curl_multi_wakeup()`.
- Without any "alive" transfers, the wakeup socket is removed from
  the pollset. Otherwise, event based processing would never finish,
  eg. leave the event loop.
- The wakeup socket was never registered for event processing before,
  e.g. `curl_multi_wakeup()` never worked in that mode.
- Adjust test exepectations on socket callback invocations and
  number of sockets appearing in waitfds sets.

Closes #20832
2026-03-21 11:58:24 +01:00
..
testenv mod_curltest: fix allocation size 2026-03-19 12:02:10 +01:00
.gitignore tidy-up: mostly whitespace nits 2023-08-31 23:02:10 +00:00
CMakeLists.txt cmake: update a comment 2025-12-12 13:09:52 +01:00
config.ini.in pytest: add tests using sshd 2025-12-12 11:58:57 +01:00
conftest.py pytest: add tests using sshd 2025-12-12 11:58:57 +01:00
Makefile.am tidy-up: miscellaneous 2026-01-15 13:06:13 +01:00
requirements.txt GHA: bump actions and pip dependencies 2026-03-01 19:06:39 +01:00
scorecard.py ratelimit: download finetune 2026-01-16 16:42:31 +01:00
test_01_basic.py pytest: fix and improve reliability 2025-12-02 17:15:36 +01:00
test_02_download.py OpenSSL: check reuse of sessions for verify status 2026-01-27 14:03:47 +01:00
test_03_goaway.py pytest: remove 03_02 2026-01-28 11:39:02 +01:00
test_04_stuttered.py pytest fixes and improvements 2025-11-17 08:02:52 +01:00
test_05_errors.py pytest: add additional quiche check for flaky test_05_01 2026-03-17 14:53:15 +01:00
test_06_eyeballs.py test: increase altsvc test reliability 2025-12-10 00:23:33 +01:00
test_07_upload.py vquic: drop support for OpenSSL-QUIC 2026-01-17 22:49:34 +01:00
test_08_caddy.py OpenSSL: check reuse of sessions for verify status 2026-01-27 14:03:47 +01:00
test_09_push.py pytest fixes and improvements 2025-11-17 08:02:52 +01:00
test_10_proxy.py badwords: fix issues found in tests 2025-11-17 13:30:35 +01:00
test_11_unix.py ip_quadruple/proxy: make port uint16_t 2025-11-27 14:32:01 +01:00
test_12_reuse.py test: increase altsvc test reliability 2025-12-10 00:23:33 +01:00
test_13_proxy_auth.py proxy-auth: additional tests 2026-03-06 22:52:39 +01:00
test_14_auth.py vquic: drop support for OpenSSL-QUIC 2026-01-17 22:49:34 +01:00
test_15_tracing.py pytest: skip specific tests for no-verbose builds 2025-10-02 10:41:46 +02:00
test_16_info.py lib: timer stats improvements 2025-11-25 16:18:59 +01:00
test_17_ssl_use.py OpenSSL: check reuse of sessions for verify status 2026-01-27 14:03:47 +01:00
test_18_methods.py pytest fixes and improvements 2025-11-17 08:02:52 +01:00
test_19_shutdown.py multi: improve wakeup and wait code 2026-03-21 11:58:24 +01:00
test_20_websockets.py websocket: improve handling of 0-len frames 2025-08-28 11:00:02 +02:00
test_30_vsftpd.py ftp: make EPRT connections non-blocking 2025-12-06 14:48:04 +01:00
test_31_vsftpds.py ftp: make EPRT connections non-blocking 2025-12-06 14:48:04 +01:00
test_32_ftps_vsftpd.py ftp: make EPRT connections non-blocking 2025-12-06 14:48:04 +01:00
test_40_socks.py pytest: socksd startup delay 2025-12-09 16:03:38 +01:00
test_50_scp.py pytest: add tests using sshd 2025-12-12 11:58:57 +01:00
test_51_sftp.py pytest: add tests using sshd 2025-12-12 11:58:57 +01:00