mirror of
https://github.com/curl/curl.git
synced 2024-12-27 06:59:43 +08:00
70cf50fb4a
When hyper is used, it emits uppercase hexadecimal numbers for chunked encoding lengths. Without hyper, lowercase hexadecimal numbers are used. This change adds preprocessor statements to tests where this is an issue, and adapts the fixtures to match. Closes #6987
202 lines
3.0 KiB
Plaintext
202 lines
3.0 KiB
Plaintext
<testcase>
|
|
<info>
|
|
<keywords>
|
|
HTTP
|
|
HTTP POST
|
|
HTTP MIME POST
|
|
</keywords>
|
|
</info>
|
|
|
|
#
|
|
# Server-side
|
|
<reply>
|
|
<data>
|
|
HTTP/1.1 200 OK
|
|
Date: Tue, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake swsclose
|
|
Connection: close
|
|
Content-Type: text/html
|
|
|
|
hello
|
|
</data>
|
|
<datacheck>
|
|
HTTP/1.1 200 OK
|
|
Date: Tue, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake swsclose
|
|
Connection: close
|
|
Content-Type: text/html
|
|
|
|
hello
|
|
HTTP/1.1 200 OK
|
|
Date: Tue, 09 Nov 2010 14:49:00 GMT
|
|
Server: test-server/fake swsclose
|
|
Connection: close
|
|
Content-Type: text/html
|
|
|
|
hello
|
|
</datacheck>
|
|
</reply>
|
|
|
|
# Client-side
|
|
<client>
|
|
<server>
|
|
http
|
|
</server>
|
|
# tool is what to use instead of 'curl'
|
|
<tool>
|
|
lib%TESTNUMBER
|
|
</tool>
|
|
|
|
<name>
|
|
HTTP multi-part chunked mimepost using read callback for the file part
|
|
</name>
|
|
<command>
|
|
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>
|
|
# Note that the stripping above removes 12 bytes from every occurrence of the
|
|
# boundary string and since 5 of them are in the body contents, we see
|
|
# (5*12) == 60 bytes less
|
|
<protocol>
|
|
POST /%TESTNUMBER HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
Transfer-Encoding: chunked
|
|
Content-Type: multipart/form-data; boundary=----------------------------
|
|
Expect: 100-continue
|
|
|
|
76
|
|
------------------------------
|
|
Content-Disposition: form-data; name="sendfile"; filename="postit2.c"
|
|
|
|
d
|
|
1
|
|
u
|
|
1
|
|
m
|
|
1
|
|
m
|
|
1
|
|
y
|
|
1
|
|
|
|
|
|
65
|
|
|
|
------------------------------
|
|
Content-Disposition: form-data; name="callbackdata"
|
|
|
|
|
|
1
|
|
d
|
|
1
|
|
u
|
|
1
|
|
m
|
|
1
|
|
m
|
|
1
|
|
y
|
|
1
|
|
|
|
|
|
%if hyper
|
|
19A
|
|
%else
|
|
19a
|
|
%endif
|
|
|
|
------------------------------
|
|
Content-Disposition: form-data; name="filename"
|
|
|
|
postit2.c
|
|
------------------------------
|
|
Content-Disposition: form-data; name="submit"
|
|
|
|
send
|
|
------------------------------
|
|
Content-Disposition: form-data; name="somename"; filename="somefile.txt"
|
|
Content-Type: text/plain
|
|
|
|
blah blah
|
|
--------------------------------
|
|
|
|
0
|
|
|
|
POST /%TESTNUMBER HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Accept: */*
|
|
Transfer-Encoding: chunked
|
|
Content-Type: multipart/form-data; boundary=----------------------------
|
|
Expect: 100-continue
|
|
|
|
84
|
|
------------------------------
|
|
Content-Disposition: form-data; name="sendfile alternative"; filename="file name 2"
|
|
|
|
d
|
|
1
|
|
u
|
|
1
|
|
m
|
|
1
|
|
m
|
|
1
|
|
y
|
|
1
|
|
|
|
|
|
65
|
|
|
|
------------------------------
|
|
Content-Disposition: form-data; name="callbackdata"
|
|
|
|
|
|
1
|
|
d
|
|
1
|
|
u
|
|
1
|
|
m
|
|
1
|
|
m
|
|
1
|
|
y
|
|
1
|
|
|
|
|
|
%if hyper
|
|
19A
|
|
%else
|
|
19a
|
|
%endif
|
|
|
|
------------------------------
|
|
Content-Disposition: form-data; name="filename"
|
|
|
|
postit2.c
|
|
------------------------------
|
|
Content-Disposition: form-data; name="submit"
|
|
|
|
send
|
|
------------------------------
|
|
Content-Disposition: form-data; name="somename"; filename="somefile.txt"
|
|
Content-Type: text/plain
|
|
|
|
blah blah
|
|
--------------------------------
|
|
|
|
0
|
|
|
|
</protocol>
|
|
</verify>
|
|
</testcase>
|