curl-curl/tests
Daniel Stenberg 8724306e78
runtests: support memory-limits per test
The idea here is to set limits per test how many allocations and maximum
amount of memory it is allowed to use. This is a means to make sure the
number and total size of allocations are kept in check and don't
mistakenly "blow up".

If runtests.pl detects that the given limits have been exceeded it fails
the test case with an error.

The `<verify>` part now supports `<limits>`, and in this section two
limits can be set for each test (verified in debug builds only):

    Allocations: [number of allocation calls]
    Maximum allocated: [maximum concurrent memory allocated]

Default limits (used if nothing is set in the test file):

    Allocations: 1000
    Maximum allocated: 1000000

Closes #17821
2025-07-08 10:14:45 +02:00
..
certs tests: always make bundles, adapt build and tests 2025-06-14 21:08:23 +02:00
client quic: implement CURLINFO_TLS_SSL_PTR 2025-07-06 20:29:54 +02:00
cmake cmake: replace cmakelint with cmake-lint from cmakelang, fix issues 2025-06-11 07:07:49 +02:00
data runtests: support memory-limits per test 2025-07-08 10:14:45 +02:00
http scorecard: flame graphs and documentation 2025-07-07 09:04:22 +02:00
libtest tests/unit: hook up unitprotos to the units-clang-tidy target 2025-07-03 23:49:25 +02:00
server tests/unit: hook up unitprotos to the units-clang-tidy target 2025-07-03 23:49:25 +02:00
tunit tool1621: drop unused internal libcurl headers 2025-07-04 05:48:30 +02:00
unit curl.h: make CURL_IPRESOLVE_* symbols defined as longs 2025-07-07 14:37:12 +02:00
.gitignore tidy-up: .gitignore lines mostly 2025-01-27 20:59:46 +01:00
allversions.pm VERSIONS: list all past releases 2025-04-03 08:26:33 +02:00
appveyor.pm
azure.pm
CMakeLists.txt cmake: replace the way clang-tidy verifies tests, fix issues found 2025-06-22 23:08:46 +02: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 tests: replace hard-coded /dev/null with variable 2024-10-01 12:07:19 +02:00
dictserver.py tidy-up: align MSYS2/Cygwin codepaths, follow Cygwin MAX_PID bump 2025-02-21 11:58:05 +01:00
directories.pm scripts: fix perl indentation, whitespace, semicolons 2025-04-29 19:35:55 +02:00
ech_combos.py
ech_tests.sh doh: httpsrr fix 2025-04-18 23:03:31 +02:00
ftpserver.pl scripts: fix perl indentation, whitespace, semicolons 2025-04-29 19:35:55 +02:00
getpart.pm scripts: fix perl indentation, whitespace, semicolons 2025-04-29 19:35:55 +02:00
globalconfig.pm tests: move GSS-API dynamic stub into debug-mode libcurl 2025-07-01 00:17:15 +02:00
http2-server.pl CI: fix OpenBSD tests stall 2025-06-05 09:12:22 +02:00
http3-server.pl tests: use a more portable null device path 2025-04-04 03:40:47 -04:00
http-server.pl runtests: support multi-target cmake, drop workarounds from CI 2025-02-24 21:00:30 +01:00
Makefile.am tests/http/clients: move to tests/client 2025-06-17 19:39:36 +02:00
memanalyze.pl memanalyze.pl: fix getaddrinfo/freeaddrinfo checks 2025-06-01 10:24:31 +02:00
negtelnetserver.py tidy-up: align MSYS2/Cygwin codepaths, follow Cygwin MAX_PID bump 2025-02-21 11:58:05 +01:00
nghttpx.conf
pathhelp.pm runtests: fix SSH server not starting in cases, re-ignore failing vcpkg CI jobs 2025-03-09 23:28:07 +01:00
processhelp.pm tests: improve server start reliability 2025-06-02 11:03:10 +02:00
requirements.txt
rtspserver.pl runtests: support multi-target cmake, drop workarounds from CI 2025-02-24 21:00:30 +01:00
runner.pm tests: move GSS-API dynamic stub into debug-mode libcurl 2025-07-01 00:17:15 +02:00
runtests.pl runtests: support memory-limits per test 2025-07-08 10:14:45 +02:00
secureserver.pl tests: Add https-mtls server to force client auth 2025-04-07 08:46:56 +02:00
serverhelp.pm tests: always make bundles, adapt build and tests 2025-06-14 21:08:23 +02:00
servers.pm tests/servers.pm: add more ways to figure out current user 2025-06-06 23:07:29 +02:00
smbserver.py tidy-up: align MSYS2/Cygwin codepaths, follow Cygwin MAX_PID bump 2025-02-21 11:58:05 +01:00
sshhelp.pm runtests: fix test key format for libssh2 WinCNG (and others) 2025-03-23 20:26:26 +01:00
sshserver.pl tests: make sshserver less verbose 2025-06-17 12:20:10 +02:00
test745.pl typecheck-gcc.h: fix the typechecks 2025-04-24 13:23:49 +02:00
test971.pl VERSIONS: list all past releases 2025-04-03 08:26:33 +02:00
test1119.pl cmake: fix clang-tidy builds to verify tests, fix fallouts 2025-03-24 10:14:58 +01:00
test1132.pl
test1135.pl tests: Remove unused variables 2025-03-22 11:12:29 -07:00
test1139.pl tool_getparam: add "TLS required" flag for each such option 2025-02-06 11:39:35 +01:00
test1140.pl tests/scripts: call it 'manpage' (single word) 2024-07-18 15:12:09 +02:00
test1165.pl buildinfo: move from tests/server/ to src/, rename to curlinfo 2025-04-28 22:40:10 +02:00
test1167.pl tests: Remove unused variables 2025-03-22 11:12:29 -07:00
test1173.pl test1173.pl: whitelist some option-looking names that aren't options 2025-05-15 22:43:54 +02:00
test1175.pl test1175: scan libcurl-errors.md, not the generated .3 version 2024-07-09 23:13:40 +02:00
test1177.pl
test1222.pl scripts: fix perl indentation, whitespace, semicolons 2025-04-29 19:35:55 +02:00
test1275.pl docs: improve cipher options documentation 2024-08-17 11:14:21 +02:00
test1276.pl
test1477.pl cmake: fix clang-tidy builds to verify tests, fix fallouts 2025-03-24 10:14:58 +01:00
test1486.pl write-out.md: add 'header' and 'output' to the variable list 2025-02-12 17:49:37 -05:00
test1488.pl VERSIONS: list all past releases 2025-04-03 08:26:33 +02:00
test1544.pl scripts: fix perl indentation, whitespace, semicolons 2025-04-29 19:35:55 +02:00
test1707.pl test1707: output diff more for debugging differences in CI outputs 2024-08-16 08:57:19 +02:00
testcurl.pl scripts: fix perl indentation, whitespace, semicolons 2025-04-29 19:35:55 +02:00
testutil.pm runtests: support running tests under wine or qemu 2025-03-23 20:26:38 +01:00
tftpserver.pl tests: Remove unused variables 2025-03-22 11:12:29 -07:00
util.py tests: enable additional ruff Python lint options 2024-10-04 14:03:17 -07:00
valgrind.pm tests/valgrind.pm: fix warnings with no valgrind report to show 2024-09-20 15:40:07 +02:00
valgrind.supp hyper: drop support 2024-12-21 11:33:05 +01:00