mirror of
https://github.com/curl/curl.git
synced 2026-06-04 03:35:23 +03:00
hyper: drop support
lib : remove all hyper code configure: stop detecting hyper docs: no more mention of hyper tests: mo more special-handling of hyper builds CI: no jobs using hyper Closes #15120
This commit is contained in:
parent
46093d9e0e
commit
fc3e1cbc50
93 changed files with 118 additions and 2546 deletions
|
|
@ -208,9 +208,6 @@ together as a single identifier. Most keywords are only there to provide a way
|
|||
for users to skip certain classes of tests, if desired, but a few are treated
|
||||
specially by the test harness or build system.
|
||||
|
||||
When using curl built with Hyper, the keywords must include `HTTP` or `HTTPS`
|
||||
for 'hyper mode' to kick in and make line ending checks work for tests.
|
||||
|
||||
When running a unit test and the keywords include `unittest`, the `<tool>`
|
||||
section can be left empty to use the standard unit test tool name `unitN` where
|
||||
`N` is the test number.
|
||||
|
|
@ -447,7 +444,6 @@ Features testable here are:
|
|||
- `http/2`
|
||||
- `http/3`
|
||||
- `HTTPS-proxy`
|
||||
- `hyper`
|
||||
- `IDN`
|
||||
- `IPv6`
|
||||
- `Kerberos`
|
||||
|
|
|
|||
|
|
@ -54,38 +54,6 @@
|
|||
# https://github.com/curl/curl/issues/380
|
||||
1801
|
||||
#
|
||||
#
|
||||
# Tests that are disabled here for Hyper are SUPPOSED to work but
|
||||
# still need adjustments in tests or code. Tests that cannot be
|
||||
# fixed for hyper should be adjusted for it in the test file.
|
||||
#
|
||||
# hyper support remains EXPERIMENTAL as long as there's a test number
|
||||
# listed below
|
||||
#
|
||||
# Several tests fail due to hyper's lack of trailers support: 266, 1417, 1540,
|
||||
# 1591, 1943. See https://github.com/hyperium/hyper/issues/2699 for details.
|
||||
%if hyper
|
||||
266
|
||||
477
|
||||
500
|
||||
579
|
||||
587
|
||||
# 1021 re-added here due to flakiness
|
||||
1021
|
||||
1060
|
||||
1417
|
||||
1460
|
||||
1533
|
||||
1540
|
||||
1591
|
||||
1598
|
||||
1943
|
||||
2301
|
||||
2302
|
||||
2305
|
||||
# response body seem not to be handled by hyper
|
||||
2307
|
||||
%endif
|
||||
2043
|
||||
# The CRL test doesn't work with wolfSSL
|
||||
%if wolfssl
|
||||
|
|
|
|||
|
|
@ -63,11 +63,7 @@ Accept: */*
|
|||
Transfer-Encoding: chunked
|
||||
Expect: 100-continue
|
||||
|
||||
%if hyper
|
||||
7A
|
||||
%else
|
||||
7a
|
||||
%endif
|
||||
This is data we upload with PUT
|
||||
it comes from stdin so MUST be sent
|
||||
with chunked encoding
|
||||
|
|
|
|||
|
|
@ -57,11 +57,7 @@ Accept: */*
|
|||
Transfer-Encoding: chunked
|
||||
Expect: 100-continue
|
||||
|
||||
%if hyper
|
||||
7A
|
||||
%else
|
||||
7a
|
||||
%endif
|
||||
This is data we upload with PUT
|
||||
it comes from stdin so MUST be sent
|
||||
with chunked encoding
|
||||
|
|
|
|||
|
|
@ -24,10 +24,8 @@ bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|||
cccccccccccccccccccccccccccccccc
|
||||
|
||||
0
|
||||
%if !hyper
|
||||
chunky-trailer: header data
|
||||
another-header: yes
|
||||
%endif
|
||||
|
||||
</data>
|
||||
<datacheck>
|
||||
|
|
@ -37,10 +35,8 @@ Transfer-Encoding: chunked
|
|||
Connection: mooo
|
||||
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc
|
||||
%if !hyper
|
||||
chunky-trailer: header data
|
||||
another-header: yes
|
||||
%endif
|
||||
</datacheck>
|
||||
<servercmd>
|
||||
writedelay: 10
|
||||
|
|
@ -77,10 +73,8 @@ Server: fakeit/0.9 fakeitbad/1.0
|
|||
Transfer-Encoding: chunked
|
||||
Connection: mooo
|
||||
|
||||
%if !hyper
|
||||
chunky-trailer: header data
|
||||
another-header: yes
|
||||
%endif
|
||||
</file>
|
||||
</verify>
|
||||
|
||||
|
|
|
|||
|
|
@ -40,10 +40,6 @@ verify
|
|||
#
|
||||
# Client-side
|
||||
<client>
|
||||
# hyper doesn't support HTTP/0.9
|
||||
<features>
|
||||
!hyper
|
||||
</features>
|
||||
<server>
|
||||
http
|
||||
</server>
|
||||
|
|
|
|||
|
|
@ -40,9 +40,7 @@ One: 1
|
|||
Two: 2
|
||||
no-colon
|
||||
|
||||
%if !hyper
|
||||
And A Funny One : wohoo
|
||||
%endif
|
||||
User-Agent:
|
||||
</file>
|
||||
<command>
|
||||
|
|
@ -59,9 +57,7 @@ Host: %HOSTIP:%HTTPPORT
|
|||
Accept: */*
|
||||
One: 1
|
||||
Two: 2
|
||||
%if !hyper
|
||||
And A Funny One : wohoo
|
||||
%endif
|
||||
|
||||
</protocol>
|
||||
</verify>
|
||||
|
|
|
|||
|
|
@ -22,10 +22,6 @@ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
|
|||
#
|
||||
# Client-side
|
||||
<client>
|
||||
# hyper doesn't support HTTP/0.9
|
||||
<features>
|
||||
!hyper
|
||||
</features>
|
||||
<server>
|
||||
http
|
||||
</server>
|
||||
|
|
|
|||
|
|
@ -19,10 +19,6 @@ swsclose
|
|||
#
|
||||
# Client-side
|
||||
<client>
|
||||
# hyper doesn't grok HTTP/0.9
|
||||
<features>
|
||||
!hyper
|
||||
</features>
|
||||
<server>
|
||||
http
|
||||
</server>
|
||||
|
|
|
|||
|
|
@ -19,10 +19,6 @@ swsclose
|
|||
#
|
||||
# Client-side
|
||||
<client>
|
||||
# hyper doesn't grok HTTP/0.9
|
||||
<features>
|
||||
!hyper
|
||||
</features>
|
||||
<server>
|
||||
http
|
||||
</server>
|
||||
|
|
|
|||
|
|
@ -53,22 +53,14 @@ Accept: */*
|
|||
<file name="%LOGDIR/out%TESTNUMBER">
|
||||
HTTP/1.1 200 OK
|
||||
Date: Tue, 09 Nov 2010 14:49:00 GMT
|
||||
%if hyper
|
||||
Server: test-server/ fake folded
|
||||
%else
|
||||
Server: test-server/
|
||||
fake
|
||||
folded
|
||||
%endif
|
||||
Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
|
||||
ETag: "21025-dc7-39462498"
|
||||
Content-Length: 6
|
||||
%if hyper
|
||||
Connection: close
|
||||
%else
|
||||
Connection:
|
||||
close
|
||||
%endif
|
||||
|
||||
</file>
|
||||
</verify>
|
||||
|
|
|
|||
|
|
@ -83,10 +83,8 @@ Accept: */*
|
|||
|
||||
</protocol>
|
||||
<file name="%LOGDIR/stderr%TESTNUMBER" mode="text">
|
||||
%if !hyper
|
||||
* Ignoring Content-Length in CONNECT 200 response
|
||||
* Ignoring Transfer-Encoding in CONNECT 200 response
|
||||
%endif
|
||||
</file>
|
||||
<stripfile>
|
||||
s/^.*(?=\* Ignoring (?:Content-Length|Transfer-Encoding) )// or $_ = ''
|
||||
|
|
|
|||
|
|
@ -28,10 +28,8 @@ Funny-head: yesyes
|
|||
#
|
||||
# Client-side
|
||||
<client>
|
||||
# hyper doesn't support the added crazy header
|
||||
<features>
|
||||
Debug
|
||||
!hyper
|
||||
</features>
|
||||
<server>
|
||||
http
|
||||
|
|
|
|||
|
|
@ -46,11 +46,5 @@ User-Agent: curl/%VERSION
|
|||
Accept: */*
|
||||
|
||||
</protocol>
|
||||
%if hyper
|
||||
# curl: (1) Hyper: [6] invalid HTTP header parsed
|
||||
<errorcode>
|
||||
1
|
||||
</errorcode>
|
||||
%endif
|
||||
</verify>
|
||||
</testcase>
|
||||
|
|
|
|||
|
|
@ -53,15 +53,9 @@ User-Agent: curl/%VERSION
|
|||
Accept: */*
|
||||
|
||||
</protocol>
|
||||
|
||||
# Hyper curl returns unsupported protocol
|
||||
# built-in curl returns weird_server_reply
|
||||
# weird_server_reply
|
||||
<errorcode>
|
||||
%if hyper
|
||||
1
|
||||
%else
|
||||
8
|
||||
%endif
|
||||
</errorcode>
|
||||
</verify>
|
||||
</testcase>
|
||||
|
|
|
|||
|
|
@ -45,14 +45,9 @@ Accept: */*
|
|||
|
||||
</protocol>
|
||||
|
||||
# Hyper curl returns unsupported protocol
|
||||
# built-in curl returns weird_server_reply
|
||||
# weird_server_reply
|
||||
<errorcode>
|
||||
%if hyper
|
||||
1
|
||||
%else
|
||||
8
|
||||
%endif
|
||||
</errorcode>
|
||||
</verify>
|
||||
</testcase>
|
||||
|
|
|
|||
|
|
@ -24,10 +24,8 @@ bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|||
cccccccccccccccccccccccccccccccc
|
||||
|
||||
0
|
||||
%if !hyper
|
||||
chunky-trailer: header data
|
||||
another-header: yes
|
||||
%endif
|
||||
|
||||
</data>
|
||||
<datacheck>
|
||||
|
|
@ -37,10 +35,8 @@ Transfer-Encoding: chunked, chunked
|
|||
Connection: mooo
|
||||
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc
|
||||
%if !hyper
|
||||
chunky-trailer: header data
|
||||
another-header: yes
|
||||
%endif
|
||||
</datacheck>
|
||||
<servercmd>
|
||||
writedelay: 10
|
||||
|
|
@ -77,10 +73,8 @@ Server: fakeit/0.9 fakeitbad/1.0
|
|||
Transfer-Encoding: chunked, chunked
|
||||
Connection: mooo
|
||||
|
||||
%if !hyper
|
||||
chunky-trailer: header data
|
||||
another-header: yes
|
||||
%endif
|
||||
</file>
|
||||
</verify>
|
||||
|
||||
|
|
|
|||
|
|
@ -25,10 +25,8 @@ bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|||
cccccccccccccccccccccccccccccccc
|
||||
|
||||
0
|
||||
%if !hyper
|
||||
chunky-trailer: header data
|
||||
another-header: yes
|
||||
%endif
|
||||
|
||||
</data>
|
||||
<datacheck>
|
||||
|
|
@ -39,10 +37,8 @@ Transfer-Encoding: chunked
|
|||
Connection: mooo
|
||||
|
||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc
|
||||
%if !hyper
|
||||
chunky-trailer: header data
|
||||
another-header: yes
|
||||
%endif
|
||||
</datacheck>
|
||||
<servercmd>
|
||||
writedelay: 10
|
||||
|
|
@ -80,10 +76,8 @@ Transfer-Encoding: chunked
|
|||
Transfer-Encoding: chunked
|
||||
Connection: mooo
|
||||
|
||||
%if !hyper
|
||||
chunky-trailer: header data
|
||||
another-header: yes
|
||||
%endif
|
||||
</file>
|
||||
</verify>
|
||||
|
||||
|
|
|
|||
|
|
@ -48,11 +48,7 @@ Transfer-Encoding: chunked
|
|||
Trailer: my-super-awesome-trailer, my-other-awesome-trailer
|
||||
Expect: 100-continue
|
||||
|
||||
%if hyper
|
||||
E
|
||||
%else
|
||||
e
|
||||
%endif
|
||||
Hello Cloud!
|
||||
|
||||
0
|
||||
|
|
|
|||
|
|
@ -19,11 +19,8 @@ Funny-head: yesyes
|
|||
moooooooooooo
|
||||
</data>
|
||||
<datacheck>
|
||||
%if hyper
|
||||
%else
|
||||
HTTP/1.1 200 OK swsclose
|
||||
Date: Tue, 09 Nov 2010 14:49:00 GMT
|
||||
%endif
|
||||
</datacheck>
|
||||
</reply>
|
||||
|
||||
|
|
@ -51,15 +48,9 @@ User-Agent: curl/%VERSION
|
|||
Accept: */*
|
||||
|
||||
</protocol>
|
||||
|
||||
# Hyper curl returns unsupported protocol
|
||||
# built-in curl returns weird_server_reply
|
||||
# weird_server_reply
|
||||
<errorcode>
|
||||
%if hyper
|
||||
1
|
||||
%else
|
||||
8
|
||||
%endif
|
||||
</errorcode>
|
||||
</verify>
|
||||
</testcase>
|
||||
|
|
|
|||
|
|
@ -58,13 +58,8 @@ Accept: */*
|
|||
|
||||
# curl: (18) transfer closed with outstanding read data remaining
|
||||
# 18 == CURLE_PARTIAL_FILE
|
||||
# 56 == CURLE_RECV_ERROR
|
||||
<errorcode>
|
||||
%if hyper
|
||||
56
|
||||
%else
|
||||
18
|
||||
%endif
|
||||
</errorcode>
|
||||
</verify>
|
||||
</testcase>
|
||||
|
|
|
|||
|
|
@ -46,11 +46,7 @@ User-Agent: curl/%VERSION
|
|||
Accept: */*
|
||||
Transfer-Encoding: chunked
|
||||
|
||||
%if hyper
|
||||
1E
|
||||
%else
|
||||
1e
|
||||
%endif
|
||||
just some tiny teeny contents
|
||||
|
||||
0
|
||||
|
|
|
|||
|
|
@ -54,14 +54,6 @@ http://%HOSTIP:%HTTPPORT/%TESTNUMBER http://%HOSTIP:%HTTPPORT/%TESTNUMBER0002
|
|||
#
|
||||
# Verify data after the test has been "shot"
|
||||
<verify>
|
||||
# hyper doesn't like the bad header in the second request
|
||||
<errorcode>
|
||||
%if hyper
|
||||
1
|
||||
%else
|
||||
0
|
||||
%endif
|
||||
</errorcode>
|
||||
<protocol>
|
||||
GET /%TESTNUMBER HTTP/1.1
|
||||
Host: %HOSTIP:%HTTPPORT
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@ upgrade
|
|||
<features>
|
||||
Debug
|
||||
ws
|
||||
!hyper
|
||||
</features>
|
||||
<server>
|
||||
http
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -26,9 +26,6 @@ muahahaha
|
|||
#
|
||||
# Client-side
|
||||
<client>
|
||||
<features>
|
||||
!hyper
|
||||
</features>
|
||||
<server>
|
||||
http
|
||||
</server>
|
||||
|
|
|
|||
|
|
@ -30,11 +30,7 @@ If this is received, the location following worked
|
|||
HTTP/1.1 301 This is a weirdo text message swsclose
|
||||
Date: Tue, 09 Nov 2010 14:49:00 GMT
|
||||
Server: test-server/fake
|
||||
%if hyper
|
||||
Location: /online/1,1795,Welcome,00.html/%TESTNUMBER0002.txt?logout=TRUE
|
||||
%else
|
||||
Location: /online/1,1795,Welcome,00.html/%TESTNUMBER0002.txt?logout=TRUE
|
||||
%endif
|
||||
Connection: close
|
||||
|
||||
HTTP/1.1 200 Followed here fine swsclose
|
||||
|
|
|
|||
|
|
@ -23,9 +23,6 @@ MooMoo
|
|||
<server>
|
||||
http
|
||||
</server>
|
||||
<features>
|
||||
!hyper
|
||||
</features>
|
||||
<name>
|
||||
CURLOPT_HTTP200ALIASES
|
||||
</name>
|
||||
|
|
|
|||
|
|
@ -37,7 +37,6 @@ verify
|
|||
<client>
|
||||
<features>
|
||||
SSL
|
||||
!hyper
|
||||
</features>
|
||||
<server>
|
||||
https
|
||||
|
|
|
|||
|
|
@ -9,10 +9,6 @@ cookiejar
|
|||
</info>
|
||||
# Server-side
|
||||
#
|
||||
# The cookies set come in two versions. This is because when curl is built
|
||||
# with Hyper, the API provides the headers already "sanitized" so we cannot
|
||||
# compare with the exact server contents unless it too sends the data
|
||||
# "clean".
|
||||
|
||||
<reply>
|
||||
<data>
|
||||
|
|
@ -23,7 +19,6 @@ Content-Length: 4
|
|||
Content-Type: text/html
|
||||
Funny-head: yesyes
|
||||
Set-Cookie: blankdomain=sure; domain=; path=/
|
||||
%if !hyper
|
||||
Set-Cookie: foobar=name; domain=anything.com; path=/ ; secure
|
||||
Set-Cookie:ismatch=this ; domain=test31.curl; path=/silly/
|
||||
Set-Cookie:ISMATCH=this ; domain=test31.curl; path=/silly/
|
||||
|
|
@ -73,57 +68,6 @@ Set-Cookie: withspaces= yes within and around ;
|
|||
Set-Cookie: withspaces2 =before equals;
|
||||
Set-Cookie: prespace= yes before;
|
||||
Set-Cookie: securewithspace=after ; secure =
|
||||
%else
|
||||
Set-Cookie: foobar=name; domain=anything.com; path=/ ; secure
|
||||
Set-Cookie: ismatch=this ; domain=test31.curl; path=/silly/
|
||||
Set-Cookie:ISMATCH=this ; domain=test31.curl; path=/silly/
|
||||
Set-Cookie: overwrite=this ; domain=test31.curl; path=/overwrite/
|
||||
Set-Cookie: overwrite=this2 ; domain=test31.curl; path=/overwrite
|
||||
Set-Cookie: sec1value=secure1 ; domain=test31.curl; path=/secure1/ ; secure
|
||||
Set-Cookie: sec2value=secure2 ; domain=test31.curl; path=/secure2/ ; secure=
|
||||
Set-Cookie: sec3value=secure3 ; domain=test31.curl; path=/secure3/ ; secure=
|
||||
Set-Cookie: sec4value=secure4 ; secure=; domain=test31.curl; path=/secure4/ ;
|
||||
Set-Cookie: sec5value=secure5 ; secure; domain=test31.curl; path=/secure5/ ;
|
||||
Set-Cookie: sec6value=secure6 ; secure ; domain=test31.curl; path=/secure6/ ;
|
||||
Set-Cookie: sec7value=secure7 ; secure ; domain=test31.curl; path=/secure7/ ;
|
||||
Set-Cookie: sec8value=secure8 ; secure= ; domain=test31.curl; path=/secure8/ ;
|
||||
Set-Cookie: secure=very1 ; secure=; domain=test31.curl; path=/secure9/;
|
||||
Set-Cookie: httpo1=value1 ; domain=test31.curl; path=/p1/; httponly
|
||||
Set-Cookie: httpo2=value2 ; domain=test31.curl; path=/p2/; httponly=
|
||||
Set-Cookie: httpo3=value3 ; httponly; domain=test31.curl; path=/p3/;
|
||||
Set-Cookie: httpo4=value4 ; httponly=; domain=test31.curl; path=/p4/;
|
||||
Set-Cookie: httponly=myvalue1 ; domain=test31.curl; path=/p4/; httponly
|
||||
Set-Cookie: httpandsec=myvalue2 ; domain=test31.curl; path=/p4/; httponly; secure
|
||||
Set-Cookie: httpandsec2=myvalue3; domain=test31.curl; path=/p4/; httponly=; secure
|
||||
Set-Cookie: httpandsec3=myvalue4 ; domain=test31.curl; path=/p4/; httponly; secure=
|
||||
Set-Cookie: httpandsec4=myvalue5 ; domain=test31.curl; path=/p4/; httponly=; secure=
|
||||
Set-Cookie: httpandsec5=myvalue6 ; domain=test31.curl; path=/p4/; secure; httponly=
|
||||
Set-Cookie: httpandsec6=myvalue7 ; domain=test31.curl; path=/p4/; secure=; httponly=
|
||||
Set-Cookie: httpandsec7=myvalue8 ; domain=test31.curl; path=/p4/; secure; httponly
|
||||
Set-Cookie: httpandsec8=myvalue9; domain=test31.curl; path=/p4/; secure=; httponly
|
||||
Set-Cookie: partmatch=present; domain=test31.curl ; path=/;
|
||||
Set-Cookie: eat=this; domain=moo.foo.moo;
|
||||
Set-Cookie: eat=this-too; domain=.foo.moo;
|
||||
Set-Cookie: nodomainnovalue
|
||||
%if large-time
|
||||
Set-Cookie: nodomain=value; expires=Fri Feb 13 11:56:27 GMT 2525
|
||||
Set-Cookie: novalue; domain=reallysilly
|
||||
Set-Cookie: test=yes; domain=foo.com; expires=Sat Feb 2 11:56:27 GMT 2525
|
||||
Set-Cookie: test2=yes; domain=se; expires=Sat Feb 2 11:56:27 GMT 2525
|
||||
%else
|
||||
Set-Cookie: nodomain=value; expires=Fri Feb 13 11:56:27 GMT 2037
|
||||
Set-Cookie: novalue; domain=reallysilly
|
||||
Set-Cookie: test=yes; domain=foo.com; expires=Sat Feb 2 11:56:27 GMT 2030
|
||||
Set-Cookie: test2=yes; domain=se; expires=Sat Feb 2 11:56:27 GMT 2030
|
||||
%endif
|
||||
Set-Cookie: magic=yessir; path=/silly/; HttpOnly
|
||||
Set-Cookie: blexp=yesyes; domain=test31.curl; domain=test31.curl; expiry=totally bad;
|
||||
Set-Cookie: partialip=nono; domain=.0.0.1;
|
||||
Set-Cookie: withspaces= yes within and around ;
|
||||
Set-Cookie: withspaces2 =before equals;
|
||||
Set-Cookie: prespace= yes before;
|
||||
Set-Cookie: securewithspace=after ; secure =
|
||||
%endif
|
||||
|
||||
boo
|
||||
</data>
|
||||
|
|
|
|||
|
|
@ -39,9 +39,6 @@ line 1
|
|||
#
|
||||
# Client-side
|
||||
<client>
|
||||
<features>
|
||||
!hyper
|
||||
</features>
|
||||
<server>
|
||||
http
|
||||
</server>
|
||||
|
|
|
|||
|
|
@ -40,14 +40,10 @@ http://%HOSTIP:%HTTPPORT/%TESTNUMBER -o %LOGDIR/save-%TESTNUMBER --remove-on-err
|
|||
</client>
|
||||
|
||||
#
|
||||
# Verify data after the test has been "shot". hyper doesn't do error 18
|
||||
# Verify data after the test has been "shot"
|
||||
<verify>
|
||||
<errorcode>
|
||||
%if hyper
|
||||
56
|
||||
%else
|
||||
18
|
||||
%endif
|
||||
</errorcode>
|
||||
<protocol>
|
||||
GET /%TESTNUMBER HTTP/1.1
|
||||
|
|
|
|||
|
|
@ -43,14 +43,10 @@ http://%HOSTIP:%HTTPPORT/%TESTNUMBER -o %LOGDIR/save --remove-on-error --no-clob
|
|||
</client>
|
||||
|
||||
#
|
||||
# Verify data after the test has been "shot". hyper doesn't do error 18
|
||||
# Verify data after the test has been "shot".
|
||||
<verify>
|
||||
<errorcode>
|
||||
%if hyper
|
||||
56
|
||||
%else
|
||||
18
|
||||
%endif
|
||||
</errorcode>
|
||||
<protocol>
|
||||
GET /%TESTNUMBER HTTP/1.1
|
||||
|
|
|
|||
|
|
@ -18,11 +18,7 @@ Server: test-server/fake
|
|||
Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
|
||||
ETag: "21025-dc7-39462498"
|
||||
Accept-Ranges: bytes
|
||||
%if hyper
|
||||
Content-Length: 3689348814741910323
|
||||
%else
|
||||
Content-Length: 36893488147419103232
|
||||
%endif
|
||||
Connection: close
|
||||
Content-Type: text/html
|
||||
Funny-head: yesyes
|
||||
|
|
|
|||
|
|
@ -44,11 +44,7 @@ http://%HOSTIP:%HTTPPORT/%TESTNUMBER
|
|||
# Verify data after the test has been "shot"
|
||||
<verify>
|
||||
<errorcode>
|
||||
%if hyper
|
||||
1
|
||||
%else
|
||||
8
|
||||
%endif
|
||||
</errorcode>
|
||||
<protocol>
|
||||
GET /%TESTNUMBER HTTP/1.1
|
||||
|
|
|
|||
|
|
@ -49,12 +49,5 @@ User-Agent: curl/%VERSION
|
|||
Accept: */*
|
||||
|
||||
</protocol>
|
||||
|
||||
# hyper cannot work with too-large content-length
|
||||
%if hyper
|
||||
<errorcode>
|
||||
1
|
||||
</errorcode>
|
||||
%endif
|
||||
</verify>
|
||||
</testcase>
|
||||
|
|
|
|||
|
|
@ -54,11 +54,7 @@ Accept: */*
|
|||
|
||||
</protocol>
|
||||
<errorcode>
|
||||
%if hyper
|
||||
1
|
||||
%else
|
||||
8
|
||||
%endif
|
||||
</errorcode>
|
||||
</verify>
|
||||
</testcase>
|
||||
|
|
|
|||
|
|
@ -26,11 +26,7 @@ body
|
|||
</data2>
|
||||
<datacheck>
|
||||
HTTP/1.1 302 OK swsclose
|
||||
%if !hyper
|
||||
Location: ../moo.html/?name=d a niel&testcase=/%TESTNUMBER0002
|
||||
%else
|
||||
Location: ../moo.html/?name=d a niel&testcase=/%TESTNUMBER0002
|
||||
%endif
|
||||
Date: Tue, 09 Nov 2010 14:49:00 GMT
|
||||
Connection: close
|
||||
|
||||
|
|
|
|||
|
|
@ -19,11 +19,8 @@ Funny-head: yesyes
|
|||
moooooooooooo
|
||||
</data>
|
||||
<datacheck>
|
||||
%if hyper
|
||||
%else
|
||||
HTTP/1.1 200 OK swsclose
|
||||
Date: Tue, 09 Nov 2010 14:49:00 GMT
|
||||
%endif
|
||||
</datacheck>
|
||||
</reply>
|
||||
|
||||
|
|
@ -52,14 +49,9 @@ Accept: */*
|
|||
|
||||
</protocol>
|
||||
|
||||
# Hyper curl returns unsupported protocol
|
||||
# built-in curl returns weird_server_reply
|
||||
<errorcode>
|
||||
%if hyper
|
||||
1
|
||||
%else
|
||||
8
|
||||
%endif
|
||||
</errorcode>
|
||||
</verify>
|
||||
</testcase>
|
||||
|
|
|
|||
|
|
@ -26,11 +26,7 @@ body
|
|||
</data2>
|
||||
<datacheck>
|
||||
HTTP/1.1 302 OK swsclose
|
||||
%if !hyper
|
||||
Location: ../m o o.html/%TESTNUMBER0002
|
||||
%else
|
||||
Location: ../m o o.html/%TESTNUMBER0002
|
||||
%endif
|
||||
Date: Tue, 09 Nov 2010 14:49:00 GMT
|
||||
Connection: close
|
||||
|
||||
|
|
|
|||
|
|
@ -28,9 +28,6 @@ Funny-head: yesyes
|
|||
#
|
||||
# Client-side
|
||||
<client>
|
||||
<features>
|
||||
!hyper
|
||||
</features>
|
||||
<server>
|
||||
http
|
||||
</server>
|
||||
|
|
|
|||
|
|
@ -49,14 +49,8 @@ Accept: */*
|
|||
|
||||
</protocol>
|
||||
# curl: (56) Too large response headers: 307215 > 307200
|
||||
# hyper returns a generic error that libcurl converts to an even more
|
||||
# generic error
|
||||
<errorcode>
|
||||
%if hyper
|
||||
1
|
||||
%else
|
||||
56
|
||||
%endif
|
||||
</errorcode>
|
||||
</verify>
|
||||
</testcase>
|
||||
|
|
|
|||
|
|
@ -43,14 +43,8 @@ http://%HOSTIP:%HTTPPORT/%TESTNUMBER --max-redirs 400 --location
|
|||
# Verify data after the test has been "shot"
|
||||
<verify>
|
||||
# curl: (56) Too large response headers: 6144086 > 6144000
|
||||
# hyper returns a generic error that libcurl converts to an even more
|
||||
# generic error
|
||||
<errorcode>
|
||||
%if hyper
|
||||
1
|
||||
%else
|
||||
56
|
||||
%endif
|
||||
</errorcode>
|
||||
</verify>
|
||||
</testcase>
|
||||
|
|
|
|||
|
|
@ -56,11 +56,7 @@ one
|
|||
two
|
||||
5
|
||||
three
|
||||
%if hyper
|
||||
1D
|
||||
%else
|
||||
1d
|
||||
%endif
|
||||
and a final longer crap: four
|
||||
0
|
||||
|
||||
|
|
|
|||
|
|
@ -52,11 +52,7 @@ Accept: */*
|
|||
Transfer-Encoding: chunked
|
||||
Content-Type: application/x-www-form-urlencoded
|
||||
|
||||
%if hyper
|
||||
C
|
||||
%else
|
||||
c
|
||||
%endif
|
||||
we post this
|
||||
0
|
||||
|
||||
|
|
|
|||
|
|
@ -100,11 +100,7 @@ one
|
|||
two
|
||||
5
|
||||
three
|
||||
%if hyper
|
||||
1D
|
||||
%else
|
||||
1d
|
||||
%endif
|
||||
and a final longer crap: four
|
||||
0
|
||||
|
||||
|
|
|
|||
|
|
@ -43,9 +43,7 @@ Host: %HOSTIP:%HTTPPORT
|
|||
User-Agent: curl/%VERSION
|
||||
Accept: */*
|
||||
Transfer-Encoding: chunked
|
||||
%if !hyper
|
||||
Content-Length: 1
|
||||
%endif
|
||||
Expect: 100-continue
|
||||
|
||||
13
|
||||
|
|
|
|||
|
|
@ -76,11 +76,7 @@ Transfer-Encoding: chunked
|
|||
Content-Type: multipart/form-data; boundary=----------------------------
|
||||
Expect: 100-continue
|
||||
|
||||
%if hyper
|
||||
7C
|
||||
%else
|
||||
7c
|
||||
%endif
|
||||
------------------------------
|
||||
Content-Disposition: form-data; name="sendfile"; filename="postit2.c"
|
||||
|
||||
|
|
@ -96,11 +92,7 @@ y
|
|||
1
|
||||
|
||||
|
||||
%if hyper
|
||||
6B
|
||||
%else
|
||||
6b
|
||||
%endif
|
||||
|
||||
------------------------------
|
||||
Content-Disposition: form-data; name="callbackdata"
|
||||
|
|
@ -119,11 +111,7 @@ y
|
|||
1
|
||||
|
||||
|
||||
%if hyper
|
||||
1B2
|
||||
%else
|
||||
1b2
|
||||
%endif
|
||||
|
||||
------------------------------
|
||||
Content-Disposition: form-data; name="filename"
|
||||
|
|
@ -149,11 +137,7 @@ Transfer-Encoding: chunked
|
|||
Content-Type: multipart/form-data; boundary=----------------------------
|
||||
Expect: 100-continue
|
||||
|
||||
%if hyper
|
||||
8A
|
||||
%else
|
||||
8a
|
||||
%endif
|
||||
------------------------------
|
||||
Content-Disposition: form-data; name="sendfile alternative"; filename="file name 2"
|
||||
|
||||
|
|
@ -169,11 +153,7 @@ y
|
|||
1
|
||||
|
||||
|
||||
%if hyper
|
||||
6B
|
||||
%else
|
||||
6b
|
||||
%endif
|
||||
|
||||
------------------------------
|
||||
Content-Disposition: form-data; name="callbackdata"
|
||||
|
|
@ -192,11 +172,7 @@ y
|
|||
1
|
||||
|
||||
|
||||
%if hyper
|
||||
1B2
|
||||
%else
|
||||
1b2
|
||||
%endif
|
||||
|
||||
------------------------------
|
||||
Content-Disposition: form-data; name="filename"
|
||||
|
|
|
|||
|
|
@ -104,11 +104,7 @@ Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"
|
|||
Content-Type: text/whatever
|
||||
|
||||
|
||||
%if hyper
|
||||
AB
|
||||
%else
|
||||
ab
|
||||
%endif
|
||||
This is data from a file.
|
||||
|
||||
------------------------------
|
||||
|
|
@ -116,11 +112,7 @@ Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"
|
|||
Content-Type: text/whatever
|
||||
|
||||
|
||||
%if hyper
|
||||
BB
|
||||
%else
|
||||
bb
|
||||
%endif
|
||||
This is data from a file.
|
||||
|
||||
--------------------------------
|
||||
|
|
@ -129,11 +121,7 @@ This is data from a file.
|
|||
Content-Disposition: form-data; name="filecontents"
|
||||
|
||||
|
||||
%if hyper
|
||||
11B
|
||||
%else
|
||||
11b
|
||||
%endif
|
||||
This is data from a file.
|
||||
|
||||
------------------------------
|
||||
|
|
@ -188,11 +176,7 @@ Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"
|
|||
Content-Type: text/whatever
|
||||
|
||||
|
||||
%if hyper
|
||||
AB
|
||||
%else
|
||||
ab
|
||||
%endif
|
||||
This is data from a file.
|
||||
|
||||
------------------------------
|
||||
|
|
@ -200,11 +184,7 @@ Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"
|
|||
Content-Type: text/whatever
|
||||
|
||||
|
||||
%if hyper
|
||||
BB
|
||||
%else
|
||||
bb
|
||||
%endif
|
||||
This is data from a file.
|
||||
|
||||
--------------------------------
|
||||
|
|
@ -213,11 +193,7 @@ This is data from a file.
|
|||
Content-Disposition: form-data; name="filecontents"
|
||||
|
||||
|
||||
%if hyper
|
||||
11B
|
||||
%else
|
||||
11b
|
||||
%endif
|
||||
This is data from a file.
|
||||
|
||||
------------------------------
|
||||
|
|
|
|||
|
|
@ -84,11 +84,7 @@ Transfer-Encoding: chunked
|
|||
Content-Type: multipart/form-data; boundary=----------------------------
|
||||
Expect: 100-continue
|
||||
|
||||
%if hyper
|
||||
1C1
|
||||
%else
|
||||
1c1
|
||||
%endif
|
||||
------------------------------
|
||||
Content-Disposition: form-data; name="greeting"
|
||||
Content-Type: application/X-Greeting
|
||||
|
|
|
|||
|
|
@ -15,9 +15,6 @@ no headers swsclose
|
|||
|
||||
# Client-side
|
||||
<client>
|
||||
<features>
|
||||
!hyper
|
||||
</features>
|
||||
<server>
|
||||
http
|
||||
</server>
|
||||
|
|
|
|||
|
|
@ -77,11 +77,7 @@ Content-Transfer-Encoding: base64
|
|||
|
||||
4
|
||||
ZHVt
|
||||
%if hyper
|
||||
3A
|
||||
%else
|
||||
3a
|
||||
%endif
|
||||
bXk=
|
||||
--------------------------------
|
||||
|
||||
|
|
|
|||
|
|
@ -72,11 +72,7 @@ Transfer-Encoding: chunked
|
|||
Content-Type: multipart/form-data; boundary=----------------------------
|
||||
Expect: 100-continue
|
||||
|
||||
%if hyper
|
||||
CD
|
||||
%else
|
||||
cd
|
||||
%endif
|
||||
------------------------------
|
||||
Content-Disposition: form-data; name="field1"
|
||||
|
||||
|
|
@ -94,11 +90,7 @@ Content-Disposition: form-data; name="field3"; filename="file%TESTNUMBER.txt"
|
|||
Content-Type: text/plain
|
||||
|
||||
|
||||
%if hyper
|
||||
4F
|
||||
%else
|
||||
4f
|
||||
%endif
|
||||
This is data from a file
|
||||
|
||||
--------------------------------
|
||||
|
|
|
|||
|
|
@ -450,15 +450,14 @@ class ScoreCard:
|
|||
p['name'] = 'h2'
|
||||
if not self.env.have_h2_curl():
|
||||
raise ScoreCardError('curl does not support HTTP/2')
|
||||
for lib in ['nghttp2', 'hyper']:
|
||||
for lib in ['nghttp2']:
|
||||
if self.env.curl_uses_lib(lib):
|
||||
p['implementation'] = lib
|
||||
break
|
||||
elif self.protocol == 'h1' or self.protocol == 'http/1.1':
|
||||
proto = 'http/1.1'
|
||||
p['name'] = proto
|
||||
p['implementation'] = 'hyper' if self.env.curl_uses_lib('hyper')\
|
||||
else 'native'
|
||||
p['implementation'] = 'native'
|
||||
else:
|
||||
raise ScoreCardError(f"unknown protocol: {self.protocol}")
|
||||
|
||||
|
|
|
|||
|
|
@ -356,8 +356,7 @@ sub prepro {
|
|||
# The processor does CRLF replacements in the <data*> sections if
|
||||
# necessary since those parts might be read by separate servers.
|
||||
if($s =~ /^ *<data(.*)\>/) {
|
||||
if($1 =~ /crlf="yes"/ ||
|
||||
($feature{"hyper"} && ($keywords{"HTTP"} || $keywords{"HTTPS"}))) {
|
||||
if($1 =~ /crlf="yes"/) {
|
||||
$data_crlf = 1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -591,11 +591,8 @@ sub checksystemfeatures {
|
|||
$feature{"c-ares"} = 1;
|
||||
$resolver="c-ares";
|
||||
}
|
||||
if ($libcurl =~ /Hyper/i) {
|
||||
$feature{"hyper"} = 1;
|
||||
}
|
||||
if ($libcurl =~ /nghttp2/i) {
|
||||
# nghttp2 supports h2c, hyper does not
|
||||
# nghttp2 supports h2c
|
||||
$feature{"h2c"} = 1;
|
||||
}
|
||||
if ($libcurl =~ /AppleIDN/) {
|
||||
|
|
@ -1286,9 +1283,7 @@ sub singletest_check {
|
|||
chomp($validstdout[-1]);
|
||||
}
|
||||
|
||||
if($hash{'crlf'} ||
|
||||
($feature{"hyper"} && ($keywords{"HTTP"}
|
||||
|| $keywords{"HTTPS"}))) {
|
||||
if($hash{'crlf'}) {
|
||||
subnewlines(0, \$_) for @validstdout;
|
||||
}
|
||||
|
||||
|
|
@ -1326,12 +1321,6 @@ sub singletest_check {
|
|||
|
||||
# get the mode attribute
|
||||
my $filemode=$hash{'mode'};
|
||||
if($filemode && ($filemode eq "text") && $feature{"hyper"}) {
|
||||
# text mode check in hyper-mode. Sometimes necessary if the stderr
|
||||
# data *looks* like HTTP and thus has gotten CRLF newlines
|
||||
# mistakenly
|
||||
normalize_text(\@validstderr);
|
||||
}
|
||||
if($filemode && ($filemode eq "text")) {
|
||||
normalize_text(\@validstderr);
|
||||
normalize_text(\@actual);
|
||||
|
|
@ -1434,9 +1423,7 @@ sub singletest_check {
|
|||
# of the datacheck
|
||||
chomp($replycheckpart[-1]);
|
||||
}
|
||||
if($replycheckpartattr{'crlf'} ||
|
||||
($feature{"hyper"} && ($keywords{"HTTP"}
|
||||
|| $keywords{"HTTPS"}))) {
|
||||
if($replycheckpartattr{'crlf'}) {
|
||||
subnewlines(0, \$_) for @replycheckpart;
|
||||
}
|
||||
push(@reply, @replycheckpart);
|
||||
|
|
@ -1457,9 +1444,7 @@ sub singletest_check {
|
|||
if($filemode && ($filemode eq "text")) {
|
||||
normalize_text(\@reply);
|
||||
}
|
||||
if($replyattr{'crlf'} ||
|
||||
($feature{"hyper"} && ($keywords{"HTTP"}
|
||||
|| $keywords{"HTTPS"}))) {
|
||||
if($replyattr{'crlf'}) {
|
||||
subnewlines(0, \$_) for @reply;
|
||||
}
|
||||
}
|
||||
|
|
@ -1552,8 +1537,7 @@ sub singletest_check {
|
|||
}
|
||||
}
|
||||
|
||||
if($hash{'crlf'} ||
|
||||
($feature{"hyper"} && ($keywords{"HTTP"} || $keywords{"HTTPS"}))) {
|
||||
if($hash{'crlf'}) {
|
||||
subnewlines(0, \$_) for @proxyprot;
|
||||
}
|
||||
|
||||
|
|
@ -1611,9 +1595,7 @@ sub singletest_check {
|
|||
normalize_text(\@outfile);
|
||||
normalize_text(\@generated);
|
||||
}
|
||||
if($hash{'crlf'} ||
|
||||
($feature{"hyper"} && ($keywords{"HTTP"}
|
||||
|| $keywords{"HTTPS"}))) {
|
||||
if($hash{'crlf'}) {
|
||||
subnewlines(0, \$_) for @outfile;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -150,13 +150,6 @@ sub subnewlines {
|
|||
return;
|
||||
}
|
||||
|
||||
# When curl is built with Hyper, it gets all response headers delivered as
|
||||
# name/value pairs and curl "invents" the newlines when it saves the
|
||||
# headers. Therefore, curl will always save headers with CRLF newlines
|
||||
# when built to use Hyper. By making sure we deliver all tests using CRLF
|
||||
# as well, all test comparisons will survive without knowing about this
|
||||
# little quirk.
|
||||
|
||||
if(($$thing =~ /^HTTP\/(1.1|1.0|2|3) [1-5][^\x0d]*\z/) ||
|
||||
($$thing =~ /^(GET|POST|PUT|DELETE) \S+ HTTP\/\d+(\.\d+)?/) ||
|
||||
(($$thing =~ /^[a-z0-9_-]+: [^\x0d]*\z/i) &&
|
||||
|
|
|
|||
|
|
@ -1,12 +1,3 @@
|
|||
{
|
||||
zstd_decompression-1.3.3-on-Ubuntu-18.04_with_hyper
|
||||
Memcheck:Cond
|
||||
fun:ZSTD_decompressStream
|
||||
fun:zstd_unencode_write
|
||||
fun:Curl_unencode_write
|
||||
fun:hyper_body_chunk
|
||||
}
|
||||
|
||||
{
|
||||
zstd_decompression-1.3.3-on-Ubuntu-18.04
|
||||
Memcheck:Cond
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue