mirror of
https://github.com/curl/curl.git
synced 2026-04-13 00:31:41 +08:00
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
46 lines
795 B
Plaintext
46 lines
795 B
Plaintext
<testcase>
|
|
# This test case is primarily meant to verify that parsing and adding the 100K
|
|
# files is a swift operation.
|
|
<info>
|
|
<keywords>
|
|
HTTP
|
|
HTTP PUT
|
|
</keywords>
|
|
</info>
|
|
|
|
#
|
|
# Server-side
|
|
<reply>
|
|
</reply>
|
|
|
|
# Client-side
|
|
<client>
|
|
<server>
|
|
none
|
|
</server>
|
|
<name>
|
|
Attempt to upload 1000 files but fail immediately
|
|
</name>
|
|
<command>
|
|
-K %LOGDIR/cmd%TESTNUMBER --fail-early
|
|
</command>
|
|
<file name="%LOGDIR/upload-this">
|
|
XXXXXXXx
|
|
</file>
|
|
# generate the config file
|
|
<precheck>
|
|
%PERL -e 'for(1 .. 1000) { printf("upload-file=%LOGDIR/upload-this\nurl=htttttp://non-existing-host.haxx.se/upload/%TESTNUMBER\n", $_);}' > %LOGDIR/cmd%TESTNUMBER;
|
|
</precheck>
|
|
</client>
|
|
|
|
# Verify data after the test has been "shot"
|
|
<verify>
|
|
<errorcode>
|
|
1
|
|
</errorcode>
|
|
<limits>
|
|
Allocations: 3100
|
|
</limits>
|
|
</verify>
|
|
</testcase>
|