This test is designed to connect to the server, then immediately send a few bytes and disconnect. In some situations, such as on a loaded server, this doesn't give the server enough time to write its lock file before its existence is checked. The test harness then fails to find the server's input log file (because it hasn't been written yet) and fails the test. By adding a short delay after the test, the HTTP server has enough time to write its lock file which gives itself more time to write its remaining files. Ref: #11328
65 lines
1.1 KiB
Plaintext
65 lines
1.1 KiB
Plaintext
<testcase>
|
|
<info>
|
|
<keywords>
|
|
HTTP
|
|
HTTP POST
|
|
FORM
|
|
flaky
|
|
</keywords>
|
|
</info>
|
|
|
|
#
|
|
# Server-side
|
|
<reply>
|
|
<data>
|
|
</data>
|
|
</reply>
|
|
|
|
# Client-side
|
|
<client>
|
|
<features>
|
|
form-api
|
|
</features>
|
|
<server>
|
|
http
|
|
</server>
|
|
# tool is what to use instead of 'curl'
|
|
<tool>
|
|
lib%TESTNUMBER
|
|
</tool>
|
|
|
|
<name>
|
|
HTTP multi-part formpost with aborted read callback
|
|
</name>
|
|
# Add a delay to give server time to write its output since we otherwise might
|
|
# not even give it enough time to write its lock file.
|
|
<command delay="1">
|
|
http://%HOSTIP:%HTTPPORT/%TESTNUMBER
|
|
</command>
|
|
</client>
|
|
|
|
#
|
|
# Verify data after the test has been "shot"
|
|
<verify>
|
|
<strippart>
|
|
s/^--------------------------[a-z0-9]*/------------------------------/
|
|
s/boundary=------------------------[a-z0-9]*/boundary=----------------------------/
|
|
</strippart>
|
|
<protocol>
|
|
POST /%TESTNUMBER HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
Content-Length: 744
|
|
Content-Type: multipart/form-data; boundary=----------------------------
|
|
|
|
------------------------------
|
|
Content-Disposition: form-data; name="sendfile"; filename="postit2.c"
|
|
|
|
</protocol>
|
|
# CURLE_ABORTED_BY_CALLBACK (42)
|
|
<errorcode>
|
|
42
|
|
</errorcode>
|
|
</verify>
|
|
</testcase>
|