curl-curl/tests
Stefan Eissing 1a57302d1a
ratelimit: download finetune
When a download size is known and rate limiting is in effect, adjust the
duration of each measurement step and its rate for maximum precision.

Since it is unpredictable how long the last bytes of a download will
take, download speed can be thrown off if the "last bytes" are a
significant amount of the total download. Make the "last bytes" small in
comparision to the rest and "stretch" the rate limit intervals to
accommodate the difference.

Fix ngtcp2 receive data acknowldgements to be based on a local window
size tracking. This allows window updates controlled by rate limits.

Fix ratelimit wait time calculation to accomodate negative tokens.

h3 rate limit, update timeers

Make download rate limits work correctly in ngtcp2. Fix multi handling
of rate limits to set a timer for when limits will update again.

Without running the transfer on limit updates, protocols like h2/h3 may
stall if the server does not send due to stream windows being too small.

scorecard: measure download speedlimits

When running scorecard with --limit-rate=n, show the reported download
speed averages plus percentage deviation from the limit.

Closes #20228
2026-01-16 16:42:31 +01:00
..
certs badwords: fix issues found in tests 2025-11-17 13:30:35 +01:00
cmake tidy-up: replace banned printf() with puts() 2025-12-15 02:14:28 +01:00
data imap: skip literals inside quoted strings 2026-01-15 22:38:15 +01:00
http ratelimit: download finetune 2026-01-16 16:42:31 +01:00
libtest tidy-up: miscellaneous 2026-01-15 13:06:13 +01:00
server tidy-up: miscellaneous 2026-01-15 13:06:13 +01:00
tunit tool_doswin: remove the max length check 2026-01-04 11:22:43 +01:00
unit ratelimit: download finetune 2026-01-16 16:42:31 +01:00
.gitignore tidy-up: .gitignore lines mostly 2025-01-27 20:59:46 +01:00
allversions.pm badwords: fix issues found in tests 2025-11-17 13:30:35 +01:00
appveyor.pm tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
azure.pm
CMakeLists.txt runtests: improve XML prolog check, enable -w permanently, fix two tests 2025-12-14 12:26:38 +01:00
config.in
configurehelp.pm.in build: use configurehelp.pm.in with autotools and cmake 2024-09-21 12:21:14 +02:00
devtest.pl tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
dictserver.py badwords: add more contractions, fix fallouts 2025-11-17 19:29:15 +01:00
directories.pm tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
ech_combos.py tidy-up: miscellaneous 2025-11-17 13:32:43 +01:00
ech_tests.sh badwords: fix issues found in tests 2025-11-17 13:30:35 +01:00
ftpserver.pl tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
getpart.pm tidy-up: miscellaneous 2026-01-15 13:06:13 +01:00
globalconfig.pm runtests: improve XML prolog check, enable -w permanently, fix two tests 2025-12-14 12:26:38 +01:00
http2-server.pl tidy-up: miscellaneous 2025-11-17 13:32:43 +01:00
http3-server.pl tidy-up: miscellaneous 2025-11-17 13:32:43 +01:00
http-server.pl tidy-up: miscellaneous 2025-11-17 13:32:43 +01:00
Makefile.am tidy-up: miscellaneous 2026-01-15 13:06:13 +01:00
memanalyze.pl runtests: make memanalyzer a Perl module (for 1.1-2x speed-up per test run) 2025-12-04 13:14:32 +01:00
memanalyzer.pm memdebug: stop tracking send and recv 2025-12-26 10:27:27 +01:00
negtelnetserver.py tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
nghttpx.conf
pathhelp.pm tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
processhelp.pm tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
requirements.txt GHA: bump the pip-dependencies group across 2 directories with 3 updates 2025-11-02 17:10:39 +01:00
rtspserver.pl tidy-up: miscellaneous 2025-11-17 13:32:43 +01:00
runner.pm runtests: improve XML prolog check, enable -w permanently, fix two tests 2025-12-14 12:26:38 +01:00
runtests.pl badwords: catch and fix more variants of NN-bit 2026-01-14 02:35:00 +01:00
secureserver.pl tidy-up: miscellaneous 2025-11-17 13:32:43 +01:00
serverhelp.pm tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
servers.pm servers.pm: say the protocol when http server failed to start 2026-01-03 20:39:27 +01:00
smbserver.py tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
sshhelp.pm tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
sshserver.pl tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
test745.pl badwords: fix issues found in tests 2025-11-17 13:30:35 +01:00
test971.pl badwords: fix issues found in tests 2025-11-17 13:30:35 +01:00
test1119.pl tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
test1135.pl badwords: fix issues found in tests 2025-11-17 13:30:35 +01:00
test1139.pl tidy-up: miscellaneous 2025-12-18 21:27:58 +01:00
test1140.pl tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
test1165.pl cmake: match filename suffixes with file content 2025-12-20 11:34:27 +01:00
test1167.pl tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
test1173.pl tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
test1175.pl badwords: fix issues found in tests 2025-11-17 13:30:35 +01:00
test1177.pl NTLM_WB: drop support 2024-04-08 13:58:58 +02:00
test1222.pl tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
test1275.pl tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
test1276.pl scripts: enable strict warnings in Perl where missing, fix fallouts 2025-07-27 22:35:18 +02:00
test1477.pl tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
test1486.pl src: fix formatting nits 2025-12-03 20:50:18 +01:00
test1488.pl badwords: fix issues found in tests 2025-11-17 13:30:35 +01:00
test1544.pl tidy-up: merge root packages directory into projects 2026-01-12 23:49:35 +01:00
test1707.pl scripts: enable strict warnings in Perl where missing, fix fallouts 2025-07-27 22:35:18 +02:00
testcurl.pl tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
testutil.pm tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
tftpserver.pl tidy-up: miscellaneous 2025-11-17 13:32:43 +01:00
util.py tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
valgrind.pm tidy-up: miscellaneous 2025-12-12 04:18:48 +01:00
valgrind.supp hyper: drop support 2024-12-21 11:33:05 +01:00