tests: replace remaining CR bytes with the new macro `%CR`
No binary (build failed)
—
(log yok)
| @@ -34,10 +34,6 @@ my @tabs = ( | |
| "^tests/data/test", | |
| ); | |
| - | my @mixed_eol = ( |
| - | "^tests/data/test", |
| - | ); |
| - | |
| my @need_crlf = ( | |
| "\\.(bat|sln)\$", | |
| ); | |
| @@ -109,8 +105,7 @@ while(my $filename = <$git_ls_files>) { | |
| my $eol = eol_detect($content); | |
| - | if($eol eq "" && |
| - | !fn_match($filename, @mixed_eol)) { |
| + | if($eol eq "") { |
| push @err, "content: has mixed EOL types"; | |
| } | |
| @@ -120,8 +115,7 @@ while(my $filename = <$git_ls_files>) { | |
| } | |
| if($eol ne "lf" && $content ne "" && | |
| - | !fn_match($filename, @need_crlf) && |
| - | !fn_match($filename, @mixed_eol)) { |
| + | !fn_match($filename, @need_crlf)) { |
| push @err, "content: must use LF EOL for this file type"; | |
| } | |
| @@ -289,6 +289,10 @@ Enable verbose output. Speaks more than by default. If used in conjunction | |
| with parallel testing, it is difficult to associate the logs with the specific | |
| test being run. | |
| + | ## `-w` |
| + | |
| + | Verify test data. |
| + | |
| ## `-vc \<curl\>` | |
| Provide a path to a custom curl binary to run when verifying that the servers | |
| @@ -78,6 +78,10 @@ For example, to insert the word hello 100 times: | |
| ## Whitespace | |
| + | To force CRLF newline, add this macro to the end of the line: |
| + | |
| + | %CR - carriage return |
| + | |
| To add significant whitespace characters at the end of the line, or to empty | |
| lines: | |
| @@ -120,15 +120,15 @@ configure_file( | |
| "${CMAKE_CURRENT_SOURCE_DIR}/configurehelp.pm.in" | |
| "${CMAKE_CURRENT_BINARY_DIR}/configurehelp.pm" @ONLY) | |
| - | curl_add_runtests(tests "") # Avoid 'test', which is a reserved target name in CMake |
| - | curl_add_runtests(test-quiet "-a -s") |
| - | curl_add_runtests(test-am "-a -am") |
| - | curl_add_runtests(test-full "-a -p -r") |
| + | curl_add_runtests(tests "-a -w") # Avoid 'test', which is a reserved target name in CMake |
| + | curl_add_runtests(test-quiet "-a -w -s") |
| + | curl_add_runtests(test-am "-a -w -am") |
| + | curl_add_runtests(test-full "-a -w -p -r") |
| # ~flaky means that it ignores results of tests using the flaky keyword | |
| - | curl_add_runtests(test-nonflaky "-a -p ~flaky ~timing-dependent") |
| + | curl_add_runtests(test-nonflaky "-a -w -p ~flaky ~timing-dependent") |
| curl_add_runtests(test-ci "-a -p ~flaky ~timing-dependent -r --retry=5 -j20 --buildinfo") | |
| - | curl_add_runtests(test-torture "-a -t -j20") |
| - | curl_add_runtests(test-event "-a -e") |
| + | curl_add_runtests(test-torture "-a -w -t -j20") |
| + | curl_add_runtests(test-event "-a -w -e") |
| curl_add_pytests(curl-pytest "-n auto") | |
| curl_add_pytests(curl-pytest-ci "-n auto -v") | |
| @@ -118,18 +118,18 @@ TEST_COMMON += !documentation | |
| endif | |
| TEST = srcdir=$(srcdir) @PERL@ $(PERLFLAGS) $(srcdir)/runtests.pl $(TEST_COMMON) | |
| - | TEST_Q = -a -s |
| - | TEST_AM = -a -am |
| - | TEST_F = -a -p -r |
| - | TEST_T = -a -t -j20 |
| - | TEST_E = -a -e |
| + | TEST_Q = -a -w -s |
| + | TEST_AM = -a -w -am |
| + | TEST_F = -a -w -p -r |
| + | TEST_T = -a -w -t -j20 |
| + | TEST_E = -a -w -e |
| # ~<keyword> means that it will run all tests matching the keyword, but will | |
| # ignore their results (since these ones are likely to fail for no good reason) | |
| - | TEST_NF = -a -p ~flaky ~timing-dependent |
| + | TEST_NF = -a -w -p ~flaky ~timing-dependent |
| - | # special CI target derived from nonflaky with CI-specific flags |
| - | TEST_CI = $(TEST_NF) -r --retry=5 -j20 --buildinfo |
| + | # special target for CI use |
| + | TEST_CI = -a -p ~flaky ~timing-dependent -r --retry=5 -j20 --buildinfo |
| PYTEST = pytest | |
| endif | |
| @@ -54,21 +54,21 @@ daniel | |
| # then this is returned when we get proxy-auth | |
| <data1000> | |
| - | HTTP/1.1 200 OK swsbounce |
| + | HTTP/1.1 200 OK swsbounce%CR |
| Server: no | |
| - | |
| + | %CR |
| Nice proxy auth sir! | |
| </data1000> | |
| <datacheck> | |
| - | HTTP/1.1 407 Authorization Required to proxy me my dear |
| - | Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== |
| - | Transfer-Encoding: chunked |
| - | |
| - | HTTP/1.1 200 Things are fine in proxy land |
| - | Server: Microsoft-IIS/5.0 |
| - | Content-Type: text/html; charset=iso-8859-1 |
| - | |
| + | HTTP/1.1 407 Authorization Required to proxy me my dear%CR |
| + | Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==%CR |
| + | Transfer-Encoding: chunked%CR |
| + | %CR |
| + | HTTP/1.1 200 Things are fine in proxy land%CR |
| + | Server: Microsoft-IIS/5.0%CR |
| + | Content-Type: text/html; charset=iso-8859-1%CR |
| + | %CR |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Content-Length: 7 | |
| @@ -54,26 +54,26 @@ daniel | |
| # then this is returned when we get proxy-auth | |
| <data1000> | |
| - | HTTP/1.1 200 OK swsbounce |
| + | HTTP/1.1 200 OK swsbounce%CR |
| Server: no | |
| - | |
| + | %CR |
| Nice proxy auth sir! | |
| </data1000> | |
| <datacheck> | |
| - | HTTP/1.1 407 Authorization Required to proxy me my dear swsclose |
| - | Proxy-Authenticate: NTLM |
| - | Content-Length: 16 |
| - | Connection: close |
| - | |
| - | HTTP/1.1 407 Authorization Required to proxy me my dear |
| - | Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== |
| - | Content-Length: 28 |
| - | |
| - | HTTP/1.1 200 Things are fine in proxy land |
| - | Server: Microsoft-IIS/5.0 |
| - | Content-Type: text/html; charset=iso-8859-1 |
| - | |
| + | HTTP/1.1 407 Authorization Required to proxy me my dear swsclose%CR |
| + | Proxy-Authenticate: NTLM%CR |
| + | Content-Length: 16%CR |
| + | Connection: close%CR |
| + | %CR |
| + | HTTP/1.1 407 Authorization Required to proxy me my dear%CR |
| + | Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==%CR |
| + | Content-Length: 28%CR |
| + | %CR |
| + | HTTP/1.1 200 Things are fine in proxy land%CR |
| + | Server: Microsoft-IIS/5.0%CR |
| + | Content-Type: text/html; charset=iso-8859-1%CR |
| + | %CR |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Content-Length: 7 | |
| @@ -30,10 +30,10 @@ Content-Length: 0 | |
| 012345678 | |
| 012345678 | |
| 012345678 | |
| - | HTTP/1.1 416 Invalid range |
| - | Connection: close |
| - | Content-Length: 0 |
| - | |
| + | HTTP/1.1 416 Invalid range%CR |
| + | Connection: close%CR |
| + | Content-Length: 0%CR |
| + | %CR |
| </datacheck> | |
| </reply> | |
| @@ -42,11 +42,11 @@ Content-Type: text/plain | |
| 012345678 | |
| 012345678 | |
| 012345678 | |
| - | HTTP/1.1 200 OK |
| - | Connection: close |
| - | Content-Length: 100 |
| - | Content-Type: text/plain |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | Connection: close%CR |
| + | Content-Length: 100%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| </datacheck> | |
| </reply> | |
| @@ -32,13 +32,13 @@ Content-Range: bytes 40-99/100 | |
| 012345678 | |
| 012345678 | |
| 012345678 | |
| - | HTTP/1.1 206 Partial Content |
| - | Date: Mon, 13 Nov 2007 13:41:09 GMT |
| - | Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT |
| - | Accept-Ranges: bytes |
| - | Content-Length: 60 |
| - | Content-Range: bytes 40-99/100 |
| - | |
| + | HTTP/1.1 206 Partial Content%CR |
| + | Date: Mon, 13 Nov 2007 13:41:09 GMT%CR |
| + | Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT%CR |
| + | Accept-Ranges: bytes%CR |
| + | Content-Length: 60%CR |
| + | Content-Range: bytes 40-99/100%CR |
| + | %CR |
| 012345678 | |
| 012345678 | |
| 012345678 | |
| @@ -77,54 +77,54 @@ bar | |
| ^(Content-Type: multipart/form-data;|------------).* | |
| </strip> | |
| <protocol> | |
| - | POST /we/want/%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Content-Length: 434 |
| - | Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763 |
| - | |
| - | ------------------------------9ef8d6205763 |
| - | Content-Disposition: form-data; name="name" |
| - | |
| - | daniel |
| - | ------------------------------9ef8d6205763 |
| - | Content-Disposition: form-data; name="tool" |
| - | |
| - | curl |
| - | ------------------------------9ef8d6205763 |
| - | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt" |
| - | Content-Type: text/plain |
| - | |
| + | POST /we/want/%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Content-Length: 434%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763%CR |
| + | %CR |
| + | ------------------------------9ef8d6205763%CR |
| + | Content-Disposition: form-data; name="name"%CR |
| + | %CR |
| + | daniel%CR |
| + | ------------------------------9ef8d6205763%CR |
| + | Content-Disposition: form-data; name="tool"%CR |
| + | %CR |
| + | curl%CR |
| + | ------------------------------9ef8d6205763%CR |
| + | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| foo- | |
| This is a moo- | |
| bar | |
| - | |
| - | ------------------------------9ef8d6205763-- |
| - | POST /we/want/data/%TESTNUMBER0002.txt?coolsite=yes HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Content-Length: 434 |
| - | Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763 |
| - | |
| - | ------------------------------9ef8d6205763 |
| - | Content-Disposition: form-data; name="name" |
| - | |
| - | daniel |
| - | ------------------------------9ef8d6205763 |
| - | Content-Disposition: form-data; name="tool" |
| - | |
| - | curl |
| - | ------------------------------9ef8d6205763 |
| - | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt" |
| - | Content-Type: text/plain |
| - | |
| + | %CR |
| + | ------------------------------9ef8d6205763--%CR |
| + | POST /we/want/data/%TESTNUMBER0002.txt?coolsite=yes HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Content-Length: 434%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763%CR |
| + | %CR |
| + | ------------------------------9ef8d6205763%CR |
| + | Content-Disposition: form-data; name="name"%CR |
| + | %CR |
| + | daniel%CR |
| + | ------------------------------9ef8d6205763%CR |
| + | Content-Disposition: form-data; name="tool"%CR |
| + | %CR |
| + | curl%CR |
| + | ------------------------------9ef8d6205763%CR |
| + | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| foo- | |
| This is a moo- | |
| bar | |
| - | |
| - | ------------------------------9ef8d6205763-- |
| + | %CR |
| + | ------------------------------9ef8d6205763--%CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -55,12 +55,12 @@ the | |
| # Verify data after the test has been "shot" | |
| <verify> | |
| <protocol> | |
| - | PUT /%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Content-Length: 78 |
| - | |
| + | PUT /%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Content-Length: 78%CR |
| + | %CR |
| Weird | |
| file | |
| to | |
| @@ -70,13 +70,13 @@ for | |
| the | |
| PUT | |
| feature | |
| - | USER anonymous |
| - | PASS [email protected] |
| - | PWD |
| - | EPSV |
| - | TYPE I |
| - | STOR %TESTNUMBER |
| - | QUIT |
| + | USER anonymous%CR |
| + | PASS [email protected]%CR |
| + | PWD%CR |
| + | EPSV%CR |
| + | TYPE I%CR |
| + | STOR %TESTNUMBER%CR |
| + | QUIT%CR |
| </protocol> | |
| <upload> | |
| Weird | |
| @@ -37,20 +37,20 @@ daniel | |
| # then this is returned when we get proxy-auth | |
| <connect1000> | |
| - | HTTP/1.1 200 OK |
| + | HTTP/1.1 200 OK%CR |
| Server: no | |
| - | |
| + | %CR |
| </connect1000> | |
| <datacheck> | |
| - | HTTP/1.1 407 Authorization Required to proxy me my dear |
| - | Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345" |
| - | Content-Length: 35701 |
| - | X-tra-long-header: %repeat[16080 x a]% |
| - | |
| - | HTTP/1.1 200 OK |
| + | HTTP/1.1 407 Authorization Required to proxy me my dear%CR |
| + | Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"%CR |
| + | Content-Length: 35701%CR |
| + | X-tra-long-header: %repeat[16080 x a]%%CR |
| + | %CR |
| + | HTTP/1.1 200 OK%CR |
| Server: no | |
| - | |
| + | %CR |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Content-Length: 7 | |
| @@ -16,16 +16,16 @@ HTTP proxy Digest auth | |
| # this is returned first since we get no proxy-auth | |
| <connect> | |
| - | HTTP/1.1 407 Authorization Required to proxy me my dear |
| - | Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345" |
| - | Transfer-Encoding: chunked |
| - | X-tra-long-header: %repeat[16080 x a]% |
| - | |
| - | 9c41 |
| + | HTTP/1.1 407 Authorization Required to proxy me my dear%CR |
| + | Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"%CR |
| + | Transfer-Encoding: chunked%CR |
| + | X-tra-long-header: %repeat[16080 x a]%%CR |
| + | %CR |
| + | 9c41%CR |
| %repeat[800 x And you should ignore this data. aaaaaaaaaaaaaaa %0a]% | |
| - | |
| - | 0 |
| - | |
| + | %CR |
| + | 0%CR |
| + | %CR |
| </connect> | |
| # this is returned when we get a GET! | |
| @@ -42,20 +42,20 @@ daniel | |
| # then this is returned when we get proxy-auth | |
| <connect1000> | |
| - | HTTP/1.1 200 OK |
| + | HTTP/1.1 200 OK%CR |
| Server: no | |
| - | |
| + | %CR |
| </connect1000> | |
| <datacheck> | |
| - | HTTP/1.1 407 Authorization Required to proxy me my dear |
| - | Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345" |
| - | Transfer-Encoding: chunked |
| - | X-tra-long-header: %repeat[16080 x a]% |
| - | |
| - | HTTP/1.1 200 OK |
| + | HTTP/1.1 407 Authorization Required to proxy me my dear%CR |
| + | Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"%CR |
| + | Transfer-Encoding: chunked%CR |
| + | X-tra-long-header: %repeat[16080 x a]%%CR |
| + | %CR |
| + | HTTP/1.1 200 OK%CR |
| Server: no | |
| - | |
| + | %CR |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Content-Length: 7 | |
| @@ -54,27 +54,27 @@ Accept: */* | |
| </protocol> | |
| <stdout> | |
| - | HTTP/1.1 200 OK |
| - | HTTP/1.1 200 OK |
| - | Server: thebest/1.0 |
| - | Server: thebest/1.0 |
| - | Content-Type: text/plain |
| - | Content-Type: text/plain |
| - | Content-Length: 6 |
| - | Content-Length: 6 |
| - | |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | HTTP/1.1 200 OK%CR |
| + | Server: thebest/1.0%CR |
| + | Server: thebest/1.0%CR |
| + | Content-Type: text/plain%CR |
| + | Content-Type: text/plain%CR |
| + | Content-Length: 6%CR |
| + | Content-Length: 6%CR |
| + | %CR |
| + | %CR |
| first | |
| - | HTTP/1.1 200 OK |
| - | HTTP/1.1 200 OK |
| - | Server: thebest/1.0 |
| - | Server: thebest/1.0 |
| - | Content-Type: text/plain |
| - | Content-Type: text/plain |
| - | Content-Length: 7 |
| - | Content-Length: 7 |
| - | |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | HTTP/1.1 200 OK%CR |
| + | Server: thebest/1.0%CR |
| + | Server: thebest/1.0%CR |
| + | Content-Type: text/plain%CR |
| + | Content-Type: text/plain%CR |
| + | Content-Length: 7%CR |
| + | Content-Length: 7%CR |
| + | %CR |
| + | %CR |
| second | |
| </stdout> | |
| </verify> | |
| @@ -39,18 +39,18 @@ more than one byte | |
| # Verify data after the test has been "shot" | |
| <verify> | |
| <protocol> | |
| - | PUT /bzz/%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Transfer-Encoding: chunked |
| - | Expect: 100-continue |
| - | |
| - | 13 |
| + | PUT /bzz/%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Expect: 100-continue%CR |
| + | %CR |
| + | 13%CR |
| more than one byte | |
| - | |
| - | 0 |
| - | |
| + | %CR |
| + | 0%CR |
| + | %CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -56,21 +56,21 @@ which is impossible in HTTP/1.0 | |
| 25 | |
| </errorcode> | |
| <protocol> | |
| - | PUT /%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Transfer-Encoding: chunked |
| - | Expect: 100-continue |
| - | |
| - | 7a |
| + | PUT /%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Expect: 100-continue%CR |
| + | %CR |
| + | 7a%CR |
| This is data we upload with PUT | |
| it comes from stdin so MUST be sent | |
| with chunked encoding | |
| which is impossible in HTTP/1.0 | |
| - | |
| - | 0 |
| - | |
| + | %CR |
| + | 0%CR |
| + | %CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -50,21 +50,21 @@ which is impossible in HTTP/1.0 | |
| 25 | |
| </errorcode> | |
| <protocol> | |
| - | PUT /%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Transfer-Encoding: chunked |
| - | Expect: 100-continue |
| - | |
| - | 7a |
| + | PUT /%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Expect: 100-continue%CR |
| + | %CR |
| + | 7a%CR |
| This is data we upload with PUT | |
| it comes from stdin so MUST be sent | |
| with chunked encoding | |
| which is impossible in HTTP/1.0 | |
| - | |
| - | 0 |
| - | |
| + | %CR |
| + | 0%CR |
| + | %CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -11,30 +11,30 @@ Transfer-Encoding | |
| # Server-side | |
| <reply> | |
| <data> | |
| - | HTTP/1.1 200 OK |
| - | Date: Mon, 29 Nov 2004 21:56:53 GMT |
| - | Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29 |
| - | Vary: Accept-Encoding |
| - | Content-Type: text/html; charset=ISO-8859-1 |
| - | Transfer-Encoding: deflate, chunked |
| - | |
| - | 519 |
| + | HTTP/1.1 200 OK%CR |
| + | Date: Mon, 29 Nov 2004 21:56:53 GMT%CR |
| + | Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29%CR |
| + | Vary: Accept-Encoding%CR |
| + | Content-Type: text/html; charset=ISO-8859-1%CR |
| + | Transfer-Encoding: deflate, chunked%CR |
| + | %CR |
| + | 519%CR |
| %hex[%78%9c%dc%58%db%6e%e3%36%10%7d%37%90%7f%60%fd%d4%02%b6%6e%b6%13%39%70%b4%28%72%d9%04%cd%36%c1%da%05%ba%4f%06%2d%d1%36%1b%49%14%48%ca%b9%3c%f4%db%3b%94%28%89%b1%1c%af%77%83%be%04%48%62%72%e6%9c%c3%e1%0c%49%93%99%7c%7a%4a%62%b4%21%5c%50%96%9e%75%5d%cb%e9%22%92%86%2c%a2%e9%ea%ac%7b%33%bd%eb%fb%fe%68%dc%77%bb%9f%82%ce%e4%97%8b%bb%f3%d9%b7%fb%4b%94%71%f6%0f%09%65%3f%a6%42%02%10%4d%bf%4d%67%97%5f%50%77%2d%65%76%6a%db%4b%4e%c4%3a%21%58%5a%29%91%f6%02%87%0f%24%8d%ec%65%d2%d7%3c%d1%77%ac%a1%15%c9%a8%0b%a2%5b%5a%41%07%a1%ca%a6%da%4d%6f%4e%a3%c0%3d%76%bd%89%6d%18%4a%44%84%25%99%e3%28%22%80%18%8f%fd%be%e3%f7%3d%17%39%c3%53%c7%3d%f5%c6%13%db%f0%1b%84%3c%53%1f%51%e0%39%ce%b0%ef%3a%7d%d7%47%8e%77%ea%c1%cf%40%53%2a%c4%ab%38%52%9c%90%b9%58%33%2e%83%30%e7%71%1d%8e%61%6f%e3%97%79%1c%17%70%84%d3%08%c5%74%d1%a6%16%10%1d%1e%11%a1%96%3a%67%49%52%52%52%82%24%63%b5%00%c7%fc%19%2d%19%47%61%4c%49%2a%fb%82%46%04%fd%f5%f5%16%49%8e%53%b1%84%8a%5a%30%8b%46%c8%50%de%19%0c%a2%02%e1%72%04%a5%5a%a9%70%55%df%25%8d%89%38%ea%e4%42%75%d4%18%e2%39%95%f8%c9%42%37%12%89%3c%cb%40%5f%a0%eb%d9%ec%be%57%fc%9d%f6%d0%15%b4%8f%3a%57%45%fb%e2%e6%7c%d6%43%b3%cb%db%3f%2f%e1%f3%f6%e2%77%80%5d%dd%dc%5e%f6%8a%e1%3f%df%dd%5f%5f%7e%85%36%0c%f0%48%62%88%a9%94%ea%67%4c%c8%9e%6e%e6%d0]hex% | |
| %hex[%19%7b%a0%44%14%da%28%cf%62%86%23%18%02%96%5a%9e%90%a8%99%75%0f%65%58%88%47%c6%23%d5%84%c8%d2%3c%59%14%f6%e9%f4%f6%a8%13%12%2e%e9%92%86%50%57%30%fd%41%38%f8%98%28%43%81%6a%3c%c1%08%c5%b4%20%1b%19%7b%24%9c%44%47%9d%c5%73%95%a4%1e%92%6b%f2%66%c6%ab%b2%58%47%9d%d9%1a%a8%08%c3%ef%82%a6%6a%33%09%48%6d%9d%6a%95%60%06%9b%0e%79%ce%51%27%c6%e9%2a%c7%2b%22%8a%18%48%ba%a1%9c%a5%09%0c%20%40%47%97%d0%58%1b%1b%2a%71%4c%e5%f3%5c%84%8c%93%60%74%e2%0f%ad%d1%c9%c4%de%b2%6f%81%33%c2%43%90%0c%06%96%7b%6c%60%2b%f3%16%1a%e6%f3%00%7b%6d%6c%20%0b%93%5e%d7%2c%cb%63%cc%9b%b1%8e%47%63%88%61%08%cb%79%db%d3%22%54%03%ba%03%cb%77%5f%11%5e%87%62%38%ca%60%9c%d1%2b%b4%11%0e%c7%c5%b9%e1%5b%23%67%62%eb%8e%e9%99%87%2c%07%5d%cf%ad%bc%da%f0]hex% | |
| %hex[%53%0e%e2%0f%6a%8c%31%80%c8%17%22%e4%34%93%70%44%8a%60%a0%4e%87%d7%a6%12%06%a5%4f%c3%f5%5c%ed%e5%e0%82%2c%71%1e%cb%89%6d%1a%4b%18%d4%7f%5e%1d%60%19%94%3d%d8%79%68%56%27%a5%ad%d6%8b%3d%b1%5b%ac%46%6c%cd%12%f2%b6%10%2c%60%ca%4b%15%75%78%da%26%43%eb%d6%02%8d%a6%5c%bd%1c%2e%07%60%ad%a4%68%8d%c8%e2%c5%3b%5c%04%c0%5a%44%d1%1a%91%17%9a%1d%2e%02%60%2d%a2%68%8d%48%b8%86%3d%46%62%b6%3a%5c%aa%a6%68%c1%46%a2%91%e5%59%72%b8%20%80%b5%94%a2%35%22%11%59%1c%2e%02%60%2d%a2%68%8d%08%13%4f%87%8b%00%58%8b%28%9a%51%2f%11%a9%f3%f2%07%6a%56%12%aa%ba%69%ba%b1%cc%73%0e%69%13%24%d0%eb%b7%ea%1a%85%d9%88%1f%28%c9%46%54%c5%d8%08%43%44%dd%1c%0e%57%51%68%2d%53%10%1b%9d%84%72%ce%f8%e1%4a%25%5e%6b%69%b2%59%d7%84%05%55%ad%a0%59%7a%62]hex% | |
| %hex[%87%1c%a4%e0%cb%cd%cc%fe%1b%9d%c3%e9%01%29%a3%79%82%6e%4b%c7%c4%ae%10%1a%af%be%a7%e4%9c%93%98%d4%99%6b%99%e7%fa%fe%16%9c%58%ae%67%c1%05%e9%0d%f7%1b%6c%75%af%3a%39%76%fc%51%8b%58%5d%b0%da%1c%75%2f%da%7d%71%da%05%2c%e7%62%ef%9a%cc%04%ce%51%02%13%5e%33%39%97%6b%f8%aa%86%9c%b5%4c%25%12%e7%12%6e%32%a2%0e%a9%ec%57%dd%da%a0%4f%60%9c%52%12%a3%a9%24%29%7c%c3%af%26%b6%e9%6c%51%a0%4a%bb%eb%fe%ef%02%af%22%a2%8a%6c%20%5b%74%ce%62%12%dc%3d%a6%84%d7%b8%c2%54%45%6a%9b%a1%56%bd%6a%09%ab%2f%78%4e%13%9a%62%69%ce%4e%72%b8%21%14%b5%81%82%d6%9d%96%d7%f3%8e%f7%b9%07%7b%b9%fb%9c%ae%ef%ef%e5%ba%7b%c7%85%a5%b1%3f%ea%bd%6e%f7%78%b8%cf%3d%de%4b%f6%c7%7b%bd%ce%5e%b7%3b%fa%4e%dc%df%09%6c%7f%64%83%d6%d8%e5%fd%6e%bb%fc%b0%26%32%78%32%c1%43%0c%ae%a3%b5%4e%6d%7c%46%f2%39%23%67%5d%4e%42%78%1d%28%9b%7a%49%d5%8b%b2%c1%99%1b%d9%51%43%ed%72%ec%24%ea%7b%0b%b8%4f%86%aa%18%3b%5d%3b%99%c6%e3%ac%45%dd%7e%b8%bd%c5%95%54%aa%0d%05%76%b8%b3%a3%5f%f5%6d%ea%b7%9d%5a%25%b6%de%69%0d%e2%ed%bc%b1%e2%de%86%e3%ff%2f%69%ce%4f%67%6c%38%78%67%c6%d4%fb%ea%e3%27%ca%f5%06%23%f7%1d%99%7a%81%a7%d8%c7%cf%d2%c0%73%86%27%ef%c8%d2%35%a1%49%84%e3%8f%9f%a8%e1%70%34%f0%de%91%a8%b0%0f%4f%7d%f1%33%79%32%2c%fa%ac%af%ff%2b%14%74%fe%03%00%00%ff%ff%82%33%11%a3%63%00%00%00%00%ff%ff%03%00%dd%38%8e%d1%0d]hex% | |
| - | 0 |
| - | |
| + | 0%CR |
| + | %CR |
| </data> | |
| <datacheck> | |
| - | HTTP/1.1 200 OK |
| - | Date: Mon, 29 Nov 2004 21:56:53 GMT |
| - | Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29 |
| - | Vary: Accept-Encoding |
| - | Content-Type: text/html; charset=ISO-8859-1 |
| - | Transfer-Encoding: deflate, chunked |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | Date: Mon, 29 Nov 2004 21:56:53 GMT%CR |
| + | Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29%CR |
| + | Vary: Accept-Encoding%CR |
| + | Content-Type: text/html; charset=ISO-8859-1%CR |
| + | Transfer-Encoding: deflate, chunked%CR |
| + | %CR |
| <?xml version="1.0" encoding="ISO-8859-1"?> | |
| <!DOCTYPE project-listing SYSTEM "http://freshmeat.net/backend/fm-projects-0.4.dtd"> | |
| <project-listing> | |
| @@ -45,15 +45,15 @@ Transfer-Encoding: deflate, chunked | |
| <projectname_short>curl</projectname_short> | |
| <projectname_full>curl and libcurl</projectname_full> | |
| <desc_short>Command line tool and library for client-side URL transfers.</desc_short> | |
| - | <desc_full>curl and libcurl is a tool for transferring files |
| - | using URL syntax. It supports HTTP, HTTPS, FTP, |
| - | FTPS, DICT, TELNET, LDAP, FILE, and GOPHER, as |
| - | well as HTTP-post, HTTP-put, cookies, FTP upload, |
| - | resumed transfers, passwords, portnumbers, SSL |
| - | certificates, Kerberos, and proxies. It is powered |
| - | by libcurl, the client-side URL transfer library. |
| - | There are bindings to libcurl for over 20 |
| - | languages and environments. |
| + | <desc_full>curl and libcurl is a tool for transferring files%CR |
| + | using URL syntax. It supports HTTP, HTTPS, FTP,%CR |
| + | FTPS, DICT, TELNET, LDAP, FILE, and GOPHER, as%CR |
| + | well as HTTP-post, HTTP-put, cookies, FTP upload,%CR |
| + | resumed transfers, passwords, portnumbers, SSL%CR |
| + | certificates, Kerberos, and proxies. It is powered%CR |
| + | by libcurl, the client-side URL transfer library.%CR |
| + | There are bindings to libcurl for over 20%CR |
| + | languages and environments.%CR |
| </desc_full> | |
| <vitality_score>5784.57</vitality_score> | |
| <vitality_percent>3.16</vitality_percent> | |
| @@ -46,60 +46,60 @@ foo | |
| ^(Content-Type: multipart/form-data;|Content-Type: multipart/mixed; boundary=|-------).* | |
| </strip> | |
| <protocol> | |
| - | POST /we/want/%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Content-Length: 1324 |
| - | Content-Type: multipart/form-data; boundary=----------------------------24e78000bd32 |
| - | |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="file"; filename="faker,and;.txt" |
| - | Content-Type: mo/foo |
| - | |
| + | POST /we/want/%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Content-Length: 1324%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------24e78000bd32%CR |
| + | %CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="file"; filename="faker,and;.txt"%CR |
| + | Content-Type: mo/foo%CR |
| + | %CR |
| foo bar | |
| This is a bar foo | |
| bar | |
| foo | |
| - | |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="file2"; filename="test%TESTNUMBER,and;.txt" |
| - | Content-Type: text/plain |
| - | |
| + | %CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="file2"; filename="test%TESTNUMBER,and;.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| foo bar | |
| This is a bar foo | |
| bar | |
| foo | |
| - | |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="file3" |
| - | Content-Type: multipart/mixed; boundary=----------------------------7f0e85a48b0b |
| - | |
| - | Content-Disposition: attachment; filename="test%TESTNUMBER,and;.txt" |
| - | Content-Type: m/f |
| - | |
| + | %CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="file3"%CR |
| + | Content-Type: multipart/mixed; boundary=----------------------------7f0e85a48b0b%CR |
| + | %CR |
| + | Content-Disposition: attachment; filename="test%TESTNUMBER,and;.txt"%CR |
| + | Content-Type: m/f%CR |
| + | %CR |
| foo bar | |
| This is a bar foo | |
| bar | |
| foo | |
| - | |
| - | Content-Disposition: attachment; filename="test%TESTNUMBER,and;.txt" |
| - | Content-Type: text/plain |
| - | |
| + | %CR |
| + | Content-Disposition: attachment; filename="test%TESTNUMBER,and;.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| foo bar | |
| This is a bar foo | |
| bar | |
| foo | |
| - | |
| - | |
| - | Content-Disposition: form-data; name="a" |
| - | |
| - | {"field1":"value1","field2":"value2"} |
| - | Content-Disposition: form-data; name="b"; filename="param_b" |
| - | Content-Type: text/foo; charset=utf-8 |
| - | |
| - | \value1;type="whatever" |
| - | ------------------------------24e78000bd32-- |
| + | %CR |
| + | %CR |
| + | Content-Disposition: form-data; name="a"%CR |
| + | %CR |
| + | {"field1":"value1","field2":"value2"}%CR |
| + | Content-Disposition: form-data; name="b"; filename="param_b"%CR |
| + | Content-Type: text/foo; charset=utf-8%CR |
| + | %CR |
| + | \value1;type="whatever" %CR |
| + | ------------------------------24e78000bd32--%CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -47,53 +47,53 @@ foo | |
| ^(Content-Type: multipart/form-data;|Content-Type: multipart/mixed; boundary=|-------).* | |
| </strip> | |
| <protocol> | |
| - | POST /we/want/%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Content-Length: 1006 |
| - | Content-Type: multipart/form-data; boundary=----------------------------24e78000bd32 |
| - | |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER%22.txt" |
| - | Content-Type: mo/foo |
| - | |
| + | POST /we/want/%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Content-Length: 1006%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------24e78000bd32%CR |
| + | %CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER%22.txt"%CR |
| + | Content-Type: mo/foo%CR |
| + | %CR |
| foo bar | |
| This is a bar foo | |
| bar | |
| foo | |
| - | |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="file2"; filename="test%TESTNUMBER%22.txt" |
| - | Content-Type: text/plain |
| - | |
| + | %CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="file2"; filename="test%TESTNUMBER%22.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| foo bar | |
| This is a bar foo | |
| bar | |
| foo | |
| - | |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="file3" |
| - | Content-Type: multipart/mixed; boundary=----------------------------7f0e85a48b0b |
| - | |
| - | Content-Disposition: attachment; filename="test%TESTNUMBER%22.txt" |
| - | Content-Type: m/f |
| - | |
| + | %CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="file3"%CR |
| + | Content-Type: multipart/mixed; boundary=----------------------------7f0e85a48b0b%CR |
| + | %CR |
| + | Content-Disposition: attachment; filename="test%TESTNUMBER%22.txt"%CR |
| + | Content-Type: m/f%CR |
| + | %CR |
| foo bar | |
| This is a bar foo | |
| bar | |
| foo | |
| - | |
| - | Content-Disposition: attachment; filename="test%TESTNUMBER%22.txt" |
| - | Content-Type: text/plain |
| - | |
| + | %CR |
| + | Content-Disposition: attachment; filename="test%TESTNUMBER%22.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| foo bar | |
| This is a bar foo | |
| bar | |
| foo | |
| - | |
| - | |
| - | ------------------------------24e78000bd32-- |
| + | %CR |
| + | %CR |
| + | ------------------------------24e78000bd32--%CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -47,53 +47,53 @@ foo | |
| ^(Content-Type: multipart/form-data;|Content-Type: multipart/mixed; boundary=|-------).* | |
| </strip> | |
| <protocol> | |
| - | POST /we/want/%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Content-Length: 1002 |
| - | Content-Type: multipart/form-data; boundary=----------------------------24e78000bd32 |
| - | |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER\".txt" |
| - | Content-Type: mo/foo |
| - | |
| + | POST /we/want/%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Content-Length: 1002%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------24e78000bd32%CR |
| + | %CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER\".txt"%CR |
| + | Content-Type: mo/foo%CR |
| + | %CR |
| foo bar | |
| This is a bar foo | |
| bar | |
| foo | |
| - | |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="file2"; filename="test%TESTNUMBER\".txt" |
| - | Content-Type: text/plain |
| - | |
| + | %CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="file2"; filename="test%TESTNUMBER\".txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| foo bar | |
| This is a bar foo | |
| bar | |
| foo | |
| - | |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="file3" |
| - | Content-Type: multipart/mixed; boundary=----------------------------7f0e85a48b0b |
| - | |
| - | Content-Disposition: attachment; filename="test%TESTNUMBER\".txt" |
| - | Content-Type: m/f |
| - | |
| + | %CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="file3"%CR |
| + | Content-Type: multipart/mixed; boundary=----------------------------7f0e85a48b0b%CR |
| + | %CR |
| + | Content-Disposition: attachment; filename="test%TESTNUMBER\".txt"%CR |
| + | Content-Type: m/f%CR |
| + | %CR |
| foo bar | |
| This is a bar foo | |
| bar | |
| foo | |
| - | |
| - | Content-Disposition: attachment; filename="test%TESTNUMBER\".txt" |
| - | Content-Type: text/plain |
| - | |
| + | %CR |
| + | Content-Disposition: attachment; filename="test%TESTNUMBER\".txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| foo bar | |
| This is a bar foo | |
| bar | |
| foo | |
| - | |
| - | |
| - | ------------------------------24e78000bd32-- |
| + | %CR |
| + | %CR |
| + | ------------------------------24e78000bd32--%CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -46,66 +46,66 @@ foo | |
| ^(Content-Type: multipart/form-data;|-------).* | |
| </strip> | |
| <protocol> | |
| - | POST /we/want/%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Content-Length: 1240 |
| - | Content-Type: multipart/form-data; boundary=----------------------------24e78000bd32 |
| - | |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="name" |
| - | |
| - | daniel |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="tool" |
| - | |
| - | curl |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="str1" |
| - | |
| - | @literal |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="str2" |
| - | |
| - | <verbatim;type=xxx/yyy |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="file"; filename="fakerfile" |
| - | Content-Type: moo/foobar |
| - | |
| + | POST /we/want/%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Content-Length: 1240%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------24e78000bd32%CR |
| + | %CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="name"%CR |
| + | %CR |
| + | daniel%CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="tool"%CR |
| + | %CR |
| + | curl%CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="str1"%CR |
| + | %CR |
| + | @literal%CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="str2"%CR |
| + | %CR |
| + | <verbatim;type=xxx/yyy%CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="file"; filename="fakerfile"%CR |
| + | Content-Type: moo/foobar%CR |
| + | %CR |
| foo bar | |
| This is a bar foo | |
| bar | |
| foo | |
| - | |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="file2"; filename="test%TESTNUMBER.txt" |
| - | Content-Type: text/plain |
| - | |
| + | %CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="file2"; filename="test%TESTNUMBER.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| foo bar | |
| This is a bar foo | |
| bar | |
| foo | |
| - | |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="file3"; filename="f\\\\ak\\\\er,\\an\\d;.t\"xt" |
| - | Content-Type: mo/foo |
| - | |
| + | %CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="file3"; filename="f\\\\ak\\\\er,\\an\\d;.t\"xt"%CR |
| + | Content-Type: mo/foo%CR |
| + | %CR |
| foo bar | |
| This is a bar foo | |
| bar | |
| foo | |
| - | |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="file4"; filename="A\\AA\"\"\\\"ZZZ" |
| - | Content-Type: text/plain |
| - | |
| + | %CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="file4"; filename="A\\AA\"\"\\\"ZZZ"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| foo bar | |
| This is a bar foo | |
| bar | |
| foo | |
| - | |
| - | ------------------------------24e78000bd32-- |
| + | %CR |
| + | ------------------------------24e78000bd32--%CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -31,10 +31,10 @@ Content-Length: 0 | |
| 012345678 | |
| 012345678 | |
| 012345678 | |
| - | HTTP/1.1 416 Invalid range |
| - | Connection: close |
| - | Content-Length: 0 |
| - | |
| + | HTTP/1.1 416 Invalid range%CR |
| + | Connection: close%CR |
| + | Content-Length: 0%CR |
| + | %CR |
| </datacheck> | |
| </reply> | |
| @@ -11,17 +11,17 @@ header line folding | |
| # Server-side | |
| <reply> | |
| <data nocheck="yes"> | |
| - | HTTP/1.1 200 OK |
| - | Date: Tue, 09 Nov 2010 14:49:00 GMT |
| - | Server: test-server/ |
| - | fake |
| - | folded |
| - | Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT |
| - | ETag: "21025-dc7-39462498" |
| - | Content-Length: 6 |
| - | Connection: |
| - | close |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | Date: Tue, 09 Nov 2010 14:49:00 GMT%CR |
| + | Server: test-server/%CR |
| + | fake%CR |
| + | folded%CR |
| + | Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT%CR |
| + | ETag: "21025-dc7-39462498"%CR |
| + | Content-Length: 6%CR |
| + | Connection: %CR |
| + | close%CR |
| + | %CR |
| -foo- | |
| </data> | |
| </reply> | |
| @@ -12,33 +12,33 @@ Content-Encoding | |
| # Server-side | |
| <reply> | |
| <data> | |
| - | HTTP/1.1 200 OK |
| - | Date: Mon, 29 Nov 2004 21:56:53 GMT |
| - | Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29 |
| - | Vary: Accept-Encoding |
| - | Content-Type: text/html; charset=ISO-8859-1 |
| - | Transfer-Encoding: gzip, chunked |
| - | Content-Encoding: deflate |
| - | |
| - | 522 |
| + | HTTP/1.1 200 OK%CR |
| + | Date: Mon, 29 Nov 2004 21:56:53 GMT%CR |
| + | Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29%CR |
| + | Vary: Accept-Encoding%CR |
| + | Content-Type: text/html; charset=ISO-8859-1%CR |
| + | Transfer-Encoding: gzip, chunked%CR |
| + | Content-Encoding: deflate%CR |
| + | %CR |
| + | 522%CR |
| %hex[%1f%8b%08%00%07%81%b0%63%02%ff%01%0b%05%f4%fa%78%da%dd%58%db%6e%e3%36%10%7d%37%90%7f%60%fd%d4%02%b6%6e%b6%13%39%70%b4%28%72%d9%04%cd%36%c1%da%05%ba%4f%06%2d%d1%36%1b%49%14%48%ca%b9%3c%f4%db%3b%94%28%89%b1%1c%af%77%83%be%04%48%62%72%e6%9c%c3%e1%0c%49%93%99%7c%7a%4a%62%b4%21%5c%50%96%9e%75%5d%cb%e9%22%92%86%2c%a2%e9%ea%ac%7b%33%bd%eb%fb%fe%68%dc%77%bb%9f%82%ce%e4%97%8b%bb%f3%d9%b7%fb%4b%94%71%f6%0f%09%65%3f%a6%42%02%10%4d%bf%4d%67%97%5f%50%77%2d%65%76%6a%db%4b%4e%c4%3a%21%58%5a%29%91%f6%02%87%0f%24%8d%ec%65%d2%d7%3c%d1%77%ac%a1%15%c9%a8%0b%a2%5b%5a%41%07%a1%ca%a6%da%4d%6f%4e%a3%c0%3d%76%bd%89%6d%18%4a%44%84%25%99%e3%28%22%80%18%8f%fd%be%e3%f7%3d%17%39%c3%53%c7%3d%f5%c6%13%db%f0%1b%84%3c%53%1f%51%e0%39%ce%b0%ef%3a%7d%d7%47%8e%77%ea%c1%cf%40%53%2a%c4%ab%38%52%9c%90%b9%58%33%2e%83%30%e7%71%1d%8e%61%6f%e3%97%79%1c%17%70%84%d3%08%c5%74%d1%a6%16%10%1d%1e%11%a1%96%3a%67%49%52%52%52%82%24%63%b5%00%c7%fc%19%2d%19%47%61%4c%49%2a%fb%82%46%04%fd%f5%f5%16%49%8e%53%b1%84%8a%5a%30%8b%46%c8%50%de%19%0c%a2%02%e1%72%04%a5%5a%a9%70%55%df%25%8d%89%38%ea%e4%42%75%d4%18%e2%39%95%f8%c9%42%37%12%89%3c%cb%40%5f%a0%eb%d9%ec%be%57%fc%9d%f6%d0%15%b4%8f%3a%57%45%fb%e2%e6%7c%d6%43%b3%cb%db%3f%2f%e1%f3%f6%e2%77%80%5d%dd%dc%5e%f6%8a%e1%3f%df%dd%5f%5f%7e%85%36%0c%f0%48%62%88%a9%94%ea%67%4c%c8%9e%6e%e6%d0]hex% | |
| %hex[%19%7b%a0%44%14%da%28%cf%62%86%23%18%02%96%5a%9e%90%a8%99%75%0f%65%58%88%47%c6%23%d5%84%c8%d2%3c%59%14%f6%e9%f4%f6%a8%13%12%2e%e9%92%86%50%57%30%fd%41%38%f8%98%28%43%81%6a%3c%c1%08%c5%b4%20%1b%19%7b%24%9c%44%47%9d%c5%73%95%a4%1e%92%6b%f2%66%c6%ab%b2%58%47%9d%d9%1a%a8%08%c3%ef%82%a6%6a%33%09%48%6d%9d%6a%95%60%06%9b%0e%79%ce%51%27%c6%e9%2a%c7%2b%22%8a%18%48%ba%a1%9c%a5%09%0c%20%40%47%97%d0%58%1b%1b%2a%71%4c%e5%f3%5c%84%8c%93%60%74%e2%0f%ad%d1%c9%c4%de%b2%6f%81%33%c2%43%90%0c%06%96%7b%6c%60%2b%f3%16%1a%e6%f3%00%7b%6d%6c%20%0b%93%5e%d7%2c%cb%63%cc%9b%b1%8e%47%63%88%61%08%cb%79%db%d3%22%54%03%ba%03%cb%77%5f%11%5e%87%62%38%ca%60%9c%d1%2b%b4%11%0e%c7%c5%b9%e1%5b%23%67%62%eb%8e%e9%99%87%2c%07%5d%cf%ad%bc%da%f0]hex% | |
| %hex[%53%0e%e2%0f%6a%8c%31%80%c8%17%22%e4%34%93%70%44%8a%60%a0%4e%87%d7%a6%12%06%a5%4f%c3%f5%5c%ed%e5%e0%82%2c%71%1e%cb%89%6d%1a%4b%18%d4%7f%5e%1d%60%19%94%3d%d8%79%68%56%27%a5%ad%d6%8b%3d%b1%5b%ac%46%6c%cd%12%f2%b6%10%2c%60%ca%4b%15%75%78%da%26%43%eb%d6%02%8d%a6%5c%bd%1c%2e%07%60%ad%a4%68%8d%c8%e2%c5%3b%5c%04%c0%5a%44%d1%1a%91%17%9a%1d%2e%02%60%2d%a2%68%8d%48%b8%86%3d%46%62%b6%3a%5c%aa%a6%68%c1%46%a2%91%e5%59%72%b8%20%80%b5%94%a2%35%22%11%59%1c%2e%02%60%2d%a2%68%8d%08%13%4f%87%8b%00%58%8b%28%9a%51%2f%11%a9%f3%f2%07%6a%56%12%aa%ba%69%ba%b1%cc%73%0e%69%13%24%d0%eb%b7%ea%1a%85%d9%88%1f%28%c9%46%54%c5%d8%08%43%44%dd%1c%0e%57%51%68%2d%53%10%1b%9d%84%72%ce%f8%e1%4a%25%5e%6b%69%b2%59%d7%84%05%55%ad%a0%59%7a%62]hex% | |
| %hex[%87%1c%a4%e0%cb%cd%cc%fe%1b%9d%c3%e9%01%29%a3%79%82%6e%4b%c7%c4%ae%10%1a%af%be%a7%e4%9c%93%98%d4%99%6b%99%e7%fa%fe%16%9c%58%ae%67%c1%05%e9%0d%f7%1b%6c%75%af%3a%39%76%fc%51%8b%58%5d%b0%da%1c%75%2f%da%7d%71%da%05%2c%e7%62%ef%9a%cc%04%ce%51%02%13%5e%33%39%97%6b%f8%aa%86%9c%b5%4c%25%12%e7%12%6e%32%a2%0e%a9%ec%57%dd%da%a0%4f%60%9c%52%12%a3%a9%24%29%7c%c3%af%26%b6%e9%6c%51%a0%4a%bb%eb%fe%ef%02%af%22%a2%8a%6c%20%5b%74%ce%62%12%dc%3d%a6%84%d7%b8%c2%54%45%6a%9b%a1%56%3d%61%5c%c9%38%4d%68%8a%a5%39%3b%c9%e1%86%50%d4%06]hex% | |
| %hex[%5a%77%5a%5e%cf%3b%de%e7%1e%ec%e5%ee%73%ba%be%bf%97%eb%ee%1d%17%96%c6%fe%a8%f7%ba%dd%e3%e1%3e%f7%78%2f%d9%1f%ef%f5%3a%7b%dd%ee%e8%3b%71%7f%27%b0%fd%91%0d%5a%63%97%f7%bb%ed%f2%c3%9a%c8%e0%c9%04%0f%31%b8%8e%d6%3a%b5%f1%19%c9%e7%8c%9c%75%39%09%e1%75%a0%6c%ea%25%55%2f%ca%06%67%6e%64%47%0d%b5%cb%b1%93%a8%ef%2d%e0%3e%19%aa%62%ec%74%ed%64%1a%8f%b3%16%75%fb%e1%f6%16%57%52%a9%36%14%d8%e1%ce%8e%7e%d5%b7%a9%df%76%6a%95%d8%7a%a7%35%88%b7%f3%c6%8a%7b%1b%8e%ff%bf%a4%39%3f%9d%b1%e1%e0%9d%19%53%ef%ab%8f%9f%28%d7%1b%8c%dc%77%64%ea%05%9e%62%1f%3f%4b%03%cf%19%9e%bc%23%4b%d7%84%26%11%8e%3f%7e%a2%86%c3%d1%c0%7b%47%a2%c2%3e%3c%f5%c5%cf%e4%c9%b0%e8%b3%be%fe%af%50%d0%a9%9b%cd%7f%c7%fe%03%dd%38%8e%d1%d3%ef%e8%18%0b%05%00%00%0d]hex% | |
| - | 0 |
| - | |
| + | 0%CR |
| + | %CR |
| </data> | |
| <datacheck> | |
| - | HTTP/1.1 200 OK |
| - | Date: Mon, 29 Nov 2004 21:56:53 GMT |
| - | Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29 |
| - | Vary: Accept-Encoding |
| - | Content-Type: text/html; charset=ISO-8859-1 |
| - | Transfer-Encoding: gzip, chunked |
| - | Content-Encoding: deflate |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | Date: Mon, 29 Nov 2004 21:56:53 GMT%CR |
| + | Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29%CR |
| + | Vary: Accept-Encoding%CR |
| + | Content-Type: text/html; charset=ISO-8859-1%CR |
| + | Transfer-Encoding: gzip, chunked%CR |
| + | Content-Encoding: deflate%CR |
| + | %CR |
| <?xml version="1.0" encoding="ISO-8859-1"?> | |
| <!DOCTYPE project-listing SYSTEM "http://freshmeat.net/backend/fm-projects-0.4.dtd"> | |
| <project-listing> | |
| @@ -49,15 +49,15 @@ Content-Encoding: deflate | |
| <projectname_short>curl</projectname_short> | |
| <projectname_full>curl and libcurl</projectname_full> | |
| <desc_short>Command line tool and library for client-side URL transfers.</desc_short> | |
| - | <desc_full>curl and libcurl is a tool for transferring files |
| - | using URL syntax. It supports HTTP, HTTPS, FTP, |
| - | FTPS, DICT, TELNET, LDAP, FILE, and GOPHER, as |
| - | well as HTTP-post, HTTP-put, cookies, FTP upload, |
| - | resumed transfers, passwords, portnumbers, SSL |
| - | certificates, Kerberos, and proxies. It is powered |
| - | by libcurl, the client-side URL transfer library. |
| - | There are bindings to libcurl for over 20 |
| - | languages and environments. |
| + | <desc_full>curl and libcurl is a tool for transferring files%CR |
| + | using URL syntax. It supports HTTP, HTTPS, FTP,%CR |
| + | FTPS, DICT, TELNET, LDAP, FILE, and GOPHER, as%CR |
| + | well as HTTP-post, HTTP-put, cookies, FTP upload,%CR |
| + | resumed transfers, passwords, portnumbers, SSL%CR |
| + | certificates, Kerberos, and proxies. It is powered%CR |
| + | by libcurl, the client-side URL transfer library.%CR |
| + | There are bindings to libcurl for over 20%CR |
| + | languages and environments.%CR |
| </desc_full> | |
| <vitality_score>5784.57</vitality_score> | |
| <vitality_percent>3.16</vitality_percent> | |
| @@ -73,22 +73,22 @@ Accept: */* | |
| # Must not suppress in --verbose and --trace | |
| # Must not suppress in statistics (eg received header byte total) | |
| <stdout> | |
| - | HTTP/1.1 200 OK |
| - | HTTP/1.1 200 OK |
| - | Date: Tue, 09 Nov 2010 14:49:00 GMT |
| - | Date: Tue, 09 Nov 2010 14:49:00 GMT |
| - | Server: test-server/fake |
| - | Server: test-server/fake |
| - | Content-Type: text/html |
| - | Content-Type: text/html |
| - | Funny-head: yesyes |
| - | Funny-head: yesyes |
| - | Content-Length: 9 |
| - | Content-Length: 9 |
| - | Connection: keep-alive |
| - | Connection: keep-alive |
| - | |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | HTTP/1.1 200 OK%CR |
| + | Date: Tue, 09 Nov 2010 14:49:00 GMT%CR |
| + | Date: Tue, 09 Nov 2010 14:49:00 GMT%CR |
| + | Server: test-server/fake%CR |
| + | Server: test-server/fake%CR |
| + | Content-Type: text/html%CR |
| + | Content-Type: text/html%CR |
| + | Funny-head: yesyes%CR |
| + | Funny-head: yesyes%CR |
| + | Content-Length: 9%CR |
| + | Content-Length: 9%CR |
| + | Connection: keep-alive%CR |
| + | Connection: keep-alive%CR |
| + | %CR |
| + | %CR |
| contents | |
| CONNECT CODE: 200 | |
| @@ -46,41 +46,41 @@ dummy data | |
| -----+\w+ | |
| </strip> | |
| <protocol> | |
| - | POST /we/want/%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Content-Length: 845 |
| - | Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763 |
| - | |
| - | ------------------------------9ef8d6205763 |
| - | Content-Disposition: form-data; name="name" |
| - | |
| - | value |
| - | ------------------------------9ef8d6205763 |
| - | Content-Disposition: form-data; name="file" |
| - | Content-Type: multipart/mixed; boundary=----------------------------aaaaaaaaaaaa |
| - | |
| - | Content-Disposition: attachment; filename="test%TESTNUMBER.txt" |
| - | Content-Type: text/plain |
| - | |
| + | POST /we/want/%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Content-Length: 845%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763%CR |
| + | %CR |
| + | ------------------------------9ef8d6205763%CR |
| + | Content-Disposition: form-data; name="name"%CR |
| + | %CR |
| + | value%CR |
| + | ------------------------------9ef8d6205763%CR |
| + | Content-Disposition: form-data; name="file"%CR |
| + | Content-Type: multipart/mixed; boundary=----------------------------aaaaaaaaaaaa%CR |
| + | %CR |
| + | Content-Disposition: attachment; filename="test%TESTNUMBER.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| dummy data | |
| - | |
| - | ------------------------------9ef8d6205763 |
| - | Content-Disposition: attachment; filename="test%TESTNUMBER.txt" |
| - | Content-Type: magic/content |
| - | |
| + | %CR |
| + | ------------------------------9ef8d6205763%CR |
| + | Content-Disposition: attachment; filename="test%TESTNUMBER.txt"%CR |
| + | Content-Type: magic/content%CR |
| + | %CR |
| dummy data | |
| - | |
| - | ------------------------------9ef8d6205763 |
| - | Content-Disposition: attachment; filename="test%TESTNUMBER.txt" |
| - | Content-Type: text/plain |
| - | |
| + | %CR |
| + | ------------------------------9ef8d6205763%CR |
| + | Content-Disposition: attachment; filename="test%TESTNUMBER.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| dummy data | |
| - | |
| - | ------------------------------aaaaaaaaaaaa-- |
| - | |
| - | ------------------------------9ef8d6205763-- |
| + | %CR |
| + | ------------------------------aaaaaaaaaaaa--%CR |
| + | %CR |
| + | ------------------------------9ef8d6205763--%CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -27,7 +27,7 @@ To: fake@nowhere | |
| body | |
| -- | |
| - | yours sincerely |
| + | yours sincerely%CR |
| </data> | |
| <datacheck> | |
| @@ -37,7 +37,7 @@ To: fake@nowhere | |
| body | |
| -- | |
| - | yours sincerely |
| + | yours sincerely%CR |
| </datacheck> | |
| </reply> | |
| @@ -9,14 +9,14 @@ HTTP GET | |
| # | |
| <reply> | |
| <data nocheck="yes"> | |
| - | HTTP/1.1 200 OK |
| - | Date: Tue, 09 Nov 2010 14:49:00 GMT |
| - | Server: test-server/fake |
| - | Content-Length: 6 |
| - | Connection: close |
| - | Content-Type: text/html |
| - | Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | Date: Tue, 09 Nov 2010 14:49:00 GMT%CR |
| + | Server: test-server/fake%CR |
| + | Content-Length: 6%CR |
| + | Connection: close%CR |
| + | Content-Type: text/html%CR |
| + | Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange%CR |
| + | %CR |
| 12345 | |
| </data> | |
| </reply> | |
| @@ -9,13 +9,13 @@ HTTP GET | |
| # | |
| <reply> | |
| <data nocheck="yes"> | |
| - | HTTP/1.1 200 OK |
| - | Date: Tue, 09 Nov 2010 14:49:00 GMT |
| - | Server: test-server/fake |
| - | Content-Length: 6 |
| - | Connection: close |
| - | Content-Type: text/html |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | Date: Tue, 09 Nov 2010 14:49:00 GMT%CR |
| + | Server: test-server/fake%CR |
| + | Content-Length: 6%CR |
| + | Connection: close%CR |
| + | Content-Type: text/html%CR |
| + | %CR |
| 12345 | |
| </data> | |
| </reply> | |
| @@ -9,14 +9,14 @@ HTTP GET | |
| # | |
| <reply> | |
| <data nocheck="yes"> | |
| - | HTTP/1.1 200 OK |
| - | Date: Tue, 09 Nov 2010 14:49:00 GMT |
| - | Server: test-server/fake |
| - | Content-Length: 6 |
| - | Connection: close |
| - | Content-Type: text/html |
| - | Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | Date: Tue, 09 Nov 2010 14:49:00 GMT%CR |
| + | Server: test-server/fake%CR |
| + | Content-Length: 6%CR |
| + | Connection: close%CR |
| + | Content-Type: text/html%CR |
| + | Content-Disposition: filename=name%TESTNUMBER; charset=funny; option=strange%CR |
| + | %CR |
| 12345 | |
| </data> | |
| </reply> | |
| @@ -51,44 +51,44 @@ dummy data | |
| -----+\w+ | |
| </strip> | |
| <protocol> | |
| - | POST /we/want/%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Content-Length: 930 |
| - | Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763 |
| - | |
| - | ------------------------------9ef8d6205763 |
| - | Content-Disposition: form-data; name="name" |
| - | |
| - | value |
| - | ------------------------------9ef8d6205763 |
| - | Content-Disposition: form-data; name="file" |
| - | Content-Type: multipart/mixed; boundary=----------------------------aaaaaaaaaaaa |
| - | |
| - | Content-Disposition: attachment; filename="test%TESTNUMBER.txt" |
| - | Content-Type: text/plain |
| - | |
| + | POST /we/want/%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Content-Length: 930%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763%CR |
| + | %CR |
| + | ------------------------------9ef8d6205763%CR |
| + | Content-Disposition: form-data; name="name"%CR |
| + | %CR |
| + | value%CR |
| + | ------------------------------9ef8d6205763%CR |
| + | Content-Disposition: form-data; name="file"%CR |
| + | Content-Type: multipart/mixed; boundary=----------------------------aaaaaaaaaaaa%CR |
| + | %CR |
| + | Content-Disposition: attachment; filename="test%TESTNUMBER.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| dummy data | |
| - | |
| - | ------------------------------9ef8d6205763 |
| - | Content-Disposition: attachment; filename="test%TESTNUMBER.txt" |
| - | Content-Type: magic/content |
| - | Content-Transfer-Encoding: 8bit |
| - | |
| + | %CR |
| + | ------------------------------9ef8d6205763%CR |
| + | Content-Disposition: attachment; filename="test%TESTNUMBER.txt"%CR |
| + | Content-Type: magic/content%CR |
| + | Content-Transfer-Encoding: 8bit%CR |
| + | %CR |
| dummy data | |
| - | |
| - | ------------------------------9ef8d6205763 |
| - | Content-Disposition: attachment; filename="test%TESTNUMBER.txt" |
| - | Content-Type: text/plain |
| - | X-testheader-1: header 1 |
| - | X-testheader-2: header 2 |
| - | |
| + | %CR |
| + | ------------------------------9ef8d6205763%CR |
| + | Content-Disposition: attachment; filename="test%TESTNUMBER.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | X-testheader-1: header 1%CR |
| + | X-testheader-2: header 2%CR |
| + | %CR |
| dummy data | |
| - | |
| - | ------------------------------aaaaaaaaaaaa-- |
| - | |
| - | ------------------------------9ef8d6205763-- |
| + | %CR |
| + | ------------------------------aaaaaaaaaaaa--%CR |
| + | %CR |
| + | ------------------------------9ef8d6205763--%CR |
| </protocol> | |
| <stripfile> | |
| # curl's default user-agent varies with version, libraries etc. | |
| @@ -15,15 +15,15 @@ Server: fakeit/0.9 fakeitbad/1.0 | |
| Transfer-Encoding: chunked | |
| Connection: mooo | |
| - | 12345678123456789 |
| - | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
| - | 30 |
| - | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb |
| - | 21;heresatest=moooo |
| + | 12345678123456789%CR |
| + | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%CR |
| + | 30%CR |
| + | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%CR |
| + | 21;heresatest=moooo%CR |
| cccccccccccccccccccccccccccccccc | |
| - | |
| - | 0 |
| - | |
| + | %CR |
| + | 0%CR |
| + | %CR |
| </data> | |
| </reply> | |
| @@ -10,12 +10,12 @@ chunked Transfer-Encoding | |
| # Server-side | |
| <reply> | |
| <data> | |
| - | HTTP/1.1 200 funky chunky! |
| - | Server: fakeit/0.9 fakeitbad/1.0 |
| - | Transfer-Encoding: chunked |
| - | Trailer: chunky-trailer |
| - | Connection: mooo |
| - | |
| + | HTTP/1.1 200 funky chunky!%CR |
| + | Server: fakeit/0.9 fakeitbad/1.0%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Trailer: chunky-trailer%CR |
| + | Connection: mooo%CR |
| + | %CR |
| 40 | |
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | |
| 30 | |
| @@ -28,14 +28,14 @@ chunky-trailer: header data | |
| </data> | |
| <datacheck> | |
| - | HTTP/1.1 200 funky chunky! |
| - | Server: fakeit/0.9 fakeitbad/1.0 |
| - | Transfer-Encoding: chunked |
| - | Trailer: chunky-trailer |
| - | Connection: mooo |
| - | |
| + | HTTP/1.1 200 funky chunky!%CR |
| + | Server: fakeit/0.9 fakeitbad/1.0%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Trailer: chunky-trailer%CR |
| + | Connection: mooo%CR |
| + | %CR |
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc | |
| - | chunky-trailer: header data |
| + | chunky-trailer: header data%CR |
| </datacheck> | |
| </reply> | |
| @@ -26,8 +26,8 @@ HTTP/1.1 200 Mighty fine indeed | |
| </connect> | |
| <datacheck> | |
| - | HTTP/1.1 200 Mighty fine indeed |
| - | |
| + | HTTP/1.1 200 Mighty fine indeed%CR |
| + | %CR |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Server: test-server/fake swsclose | |
| @@ -9,17 +9,17 @@ HTTP/0.9 | |
| <reply> | |
| <data nocheck="yes"> | |
| - | HTTP/1.1 999 OK |
| - | Date: Tue, 09 Nov 2010 14:49:00 GMT |
| - | Server: test-server/fake |
| - | Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT |
| - | ETag: "21025-dc7-39462498" |
| - | Accept-Ranges: bytes |
| - | Content-Length: 6 |
| - | Connection: close |
| - | Content-Type: text/html |
| - | Funny-head: yesyes |
| - | |
| + | HTTP/1.1 999 OK%CR |
| + | Date: Tue, 09 Nov 2010 14:49:00 GMT%CR |
| + | Server: test-server/fake%CR |
| + | Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT%CR |
| + | ETag: "21025-dc7-39462498"%CR |
| + | Accept-Ranges: bytes%CR |
| + | Content-Length: 6%CR |
| + | Connection: close%CR |
| + | Content-Type: text/html%CR |
| + | Funny-head: yesyes%CR |
| + | %CR |
| -foo- | |
| </data> | |
| </reply> | |
| @@ -11,11 +11,11 @@ Resume | |
| <reply> | |
| # Some servers (e.g. Apache 1.2) respond this way to an invalid byte range | |
| <data> | |
| - | HTTP/1.1 200 OK |
| - | Connection: close |
| - | Content-Length: 100 |
| - | Content-Type: text/plain |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | Connection: close%CR |
| + | Content-Length: 100%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| 012345678 | |
| 012345678 | |
| 012345678 | |
| @@ -41,11 +41,11 @@ Content-Type: text/plain | |
| 012345678 | |
| 012345678 | |
| 012345678 | |
| - | HTTP/1.1 200 OK |
| - | Connection: close |
| - | Content-Length: 100 |
| - | Content-Type: text/plain |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | Connection: close%CR |
| + | Content-Length: 100%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| </datacheck> | |
| </reply> | |
| @@ -12,11 +12,11 @@ Resume | |
| # Server-side | |
| <reply> | |
| <data> | |
| - | HTTP/1.1 416 Invalid range |
| - | Connection: close |
| - | Content-Length: 0 |
| + | HTTP/1.1 416 Invalid range%CR |
| + | Connection: close%CR |
| + | Content-Length: 0%CR |
| Content-Range: */100 | |
| - | |
| + | %CR |
| </data> | |
| # The file data that exists at the start of the test must be included in | |
| @@ -32,11 +32,11 @@ Content-Range: */100 | |
| 012345678 | |
| 012345678 | |
| 012345678 | |
| - | HTTP/1.1 416 Invalid range |
| - | Connection: close |
| - | Content-Length: 0 |
| + | HTTP/1.1 416 Invalid range%CR |
| + | Connection: close%CR |
| + | Content-Length: 0%CR |
| Content-Range: */100 | |
| - | |
| + | %CR |
| </datacheck> | |
| </reply> | |
| @@ -11,32 +11,32 @@ DELAY | |
| # Server-side | |
| <reply> | |
| <data> | |
| - | HTTP/1.1 200 funky chunky! |
| - | Server: fakeit/0.9 fakeitbad/1.0 |
| - | Transfer-Encoding: chunked, chunked |
| - | Connection: mooo |
| - | |
| - | 40 |
| - | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
| - | 30 |
| - | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb |
| - | 21;heresatest=moooo |
| + | HTTP/1.1 200 funky chunky!%CR |
| + | Server: fakeit/0.9 fakeitbad/1.0%CR |
| + | Transfer-Encoding: chunked, chunked%CR |
| + | Connection: mooo%CR |
| + | %CR |
| + | 40%CR |
| + | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%CR |
| + | 30%CR |
| + | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%CR |
| + | 21;heresatest=moooo%CR |
| cccccccccccccccccccccccccccccccc | |
| - | |
| - | 0 |
| - | chunky-trailer: header data |
| - | another-header: yes |
| - | |
| + | %CR |
| + | 0%CR |
| + | chunky-trailer: header data%CR |
| + | another-header: yes%CR |
| + | %CR |
| </data> | |
| <datacheck> | |
| - | HTTP/1.1 200 funky chunky! |
| - | Server: fakeit/0.9 fakeitbad/1.0 |
| - | Transfer-Encoding: chunked, chunked |
| - | Connection: mooo |
| - | |
| + | HTTP/1.1 200 funky chunky!%CR |
| + | Server: fakeit/0.9 fakeitbad/1.0%CR |
| + | Transfer-Encoding: chunked, chunked%CR |
| + | Connection: mooo%CR |
| + | %CR |
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc | |
| - | chunky-trailer: header data |
| - | another-header: yes |
| + | chunky-trailer: header data%CR |
| + | another-header: yes%CR |
| </datacheck> | |
| <servercmd> | |
| writedelay: 10 | |
| @@ -11,34 +11,34 @@ DELAY | |
| # Server-side | |
| <reply> | |
| <data> | |
| - | HTTP/1.1 200 funky chunky! |
| - | Server: fakeit/0.9 fakeitbad/1.0 |
| - | Transfer-Encoding: chunked |
| - | Transfer-Encoding: chunked |
| - | Connection: mooo |
| - | |
| - | 40 |
| - | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
| - | 30 |
| - | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb |
| - | 21;heresatest=moooo |
| + | HTTP/1.1 200 funky chunky!%CR |
| + | Server: fakeit/0.9 fakeitbad/1.0%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Connection: mooo%CR |
| + | %CR |
| + | 40%CR |
| + | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%CR |
| + | 30%CR |
| + | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%CR |
| + | 21;heresatest=moooo%CR |
| cccccccccccccccccccccccccccccccc | |
| - | |
| - | 0 |
| - | chunky-trailer: header data |
| - | another-header: yes |
| - | |
| + | %CR |
| + | 0%CR |
| + | chunky-trailer: header data%CR |
| + | another-header: yes%CR |
| + | %CR |
| </data> | |
| <datacheck> | |
| - | HTTP/1.1 200 funky chunky! |
| - | Server: fakeit/0.9 fakeitbad/1.0 |
| - | Transfer-Encoding: chunked |
| - | Transfer-Encoding: chunked |
| - | Connection: mooo |
| - | |
| + | HTTP/1.1 200 funky chunky!%CR |
| + | Server: fakeit/0.9 fakeitbad/1.0%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Connection: mooo%CR |
| + | %CR |
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc | |
| - | chunky-trailer: header data |
| - | another-header: yes |
| + | chunky-trailer: header data%CR |
| + | another-header: yes%CR |
| </datacheck> | |
| <servercmd> | |
| writedelay: 10 | |
| @@ -11,32 +11,32 @@ DELAY | |
| # Server-side | |
| <reply> | |
| <data> | |
| - | HTTP/1.1 200 funky chunky! |
| - | Server: fakeit/0.9 fakeitbad/1.0 |
| - | Transfer-Encoding: identity, chunked |
| - | Connection: mooo |
| - | |
| - | 40 |
| - | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
| - | 30 |
| - | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb |
| - | 21;heresatest=moooo |
| + | HTTP/1.1 200 funky chunky!%CR |
| + | Server: fakeit/0.9 fakeitbad/1.0%CR |
| + | Transfer-Encoding: identity, chunked%CR |
| + | Connection: mooo%CR |
| + | %CR |
| + | 40%CR |
| + | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%CR |
| + | 30%CR |
| + | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%CR |
| + | 21;heresatest=moooo%CR |
| cccccccccccccccccccccccccccccccc | |
| - | |
| - | 0 |
| - | chunky-trailer: header data |
| - | another-header: yes |
| - | |
| + | %CR |
| + | 0%CR |
| + | chunky-trailer: header data%CR |
| + | another-header: yes%CR |
| + | %CR |
| </data> | |
| <datacheck> | |
| - | HTTP/1.1 200 funky chunky! |
| - | Server: fakeit/0.9 fakeitbad/1.0 |
| - | Transfer-Encoding: identity, chunked |
| - | Connection: mooo |
| - | |
| + | HTTP/1.1 200 funky chunky!%CR |
| + | Server: fakeit/0.9 fakeitbad/1.0%CR |
| + | Transfer-Encoding: identity, chunked%CR |
| + | Connection: mooo%CR |
| + | %CR |
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc | |
| - | chunky-trailer: header data |
| - | another-header: yes |
| + | chunky-trailer: header data%CR |
| + | another-header: yes%CR |
| </datacheck> | |
| </reply> | |
| @@ -39,18 +39,18 @@ http://%HOSTIP:%HTTPPORT/bzz/%TESTNUMBER -T . | |
| # Verify data after the test has been "shot" | |
| <verify> | |
| <protocol> | |
| - | PUT /bzz/%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Transfer-Encoding: chunked |
| - | Expect: 100-continue |
| - | |
| - | 1771 |
| + | PUT /bzz/%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Expect: 100-continue%CR |
| + | %CR |
| + | 1771%CR |
| %repeat[2000 x hej]% | |
| - | |
| - | 0 |
| - | |
| + | %CR |
| + | 0%CR |
| + | %CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -10,32 +10,32 @@ chunked Transfer-Encoding | |
| # Server-side | |
| <reply> | |
| <data> | |
| - | HTTP/1.1 200 funky chunky! |
| - | Server: fakeit/0.9 fakeitbad/1.0 |
| - | Transfer-Encoding: chunked |
| - | Trailer: chunky-trailer |
| - | Connection: mooo |
| - | |
| - | 40 |
| - | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
| - | 30 |
| - | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb |
| - | 21;heresatest=moooo |
| + | HTTP/1.1 200 funky chunky!%CR |
| + | Server: fakeit/0.9 fakeitbad/1.0%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Trailer: chunky-trailer%CR |
| + | Connection: mooo%CR |
| + | %CR |
| + | 40%CR |
| + | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%CR |
| + | 30%CR |
| + | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%CR |
| + | 21;heresatest=moooo%CR |
| cccccccccccccccccccccccccccccccc | |
| - | |
| - | 0 |
| - | chunky-trailer: header data |
| - | |
| + | %CR |
| + | 0%CR |
| + | chunky-trailer: header data%CR |
| + | %CR |
| </data> | |
| <datacheck> | |
| - | HTTP/1.1 200 funky chunky! |
| - | Server: fakeit/0.9 fakeitbad/1.0 |
| - | Transfer-Encoding: chunked |
| - | Trailer: chunky-trailer |
| - | Connection: mooo |
| - | |
| + | HTTP/1.1 200 funky chunky!%CR |
| + | Server: fakeit/0.9 fakeitbad/1.0%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Trailer: chunky-trailer%CR |
| + | Connection: mooo%CR |
| + | %CR |
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc | |
| - | chunky-trailer: header data |
| + | chunky-trailer: header data%CR |
| </datacheck> | |
| <servercmd> | |
| writedelay: 10 | |
| @@ -25,8 +25,8 @@ ETag: "21025-dc7-39462498" | |
| </data> | |
| <datacheck> | |
| - | HTTP/1.1 200 OK |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | %CR |
| HTTP/1.1 200 OK swsclose | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Server: test-server/fake | |
| @@ -13,27 +13,27 @@ DELAY | |
| # Server-side | |
| <reply> | |
| <data> | |
| - | HTTP/1.1 200 OK swsclose |
| - | Transfer-Encoding: chunked |
| - | Trailer: MyCoolTrailerHeader |
| - | |
| - | 4 |
| - | data |
| - | 5 |
| + | HTTP/1.1 200 OK swsclose%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Trailer: MyCoolTrailerHeader%CR |
| + | %CR |
| + | 4%CR |
| + | data%CR |
| + | 5%CR |
| d474 | |
| - | |
| - | 0 |
| - | MyCoolTrailerHeader: amazingtrailer |
| - | |
| + | %CR |
| + | 0%CR |
| + | MyCoolTrailerHeader: amazingtrailer%CR |
| + | %CR |
| </data> | |
| <datacheck> | |
| - | HTTP/1.1 200 OK swsclose |
| - | Transfer-Encoding: chunked |
| - | Trailer: MyCoolTrailerHeader |
| - | |
| + | HTTP/1.1 200 OK swsclose%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Trailer: MyCoolTrailerHeader%CR |
| + | %CR |
| Got bytes but pausing! | |
| datad474 | |
| - | MyCoolTrailerHeader: amazingtrailer |
| + | MyCoolTrailerHeader: amazingtrailer%CR |
| </datacheck> | |
| <servercmd> | |
| writedelay: 10 | |
| @@ -12,16 +12,16 @@ DELAY | |
| # Server-side | |
| <reply> | |
| <data> | |
| - | HTTP/1.1 200 OK swsclose |
| - | Transfer-Encoding: chunked |
| - | |
| - | 4 |
| - | data |
| - | 5 |
| + | HTTP/1.1 200 OK swsclose%CR |
| + | Transfer-Encoding: chunked%CR |
| + | %CR |
| + | 4%CR |
| + | data%CR |
| + | 5%CR |
| d474 | |
| - | |
| - | 0 |
| - | |
| + | %CR |
| + | 0%CR |
| + | %CR |
| </data> | |
| <datacheck> | |
| CURLINFO_CONNECT_TIME_T on 1st header is OK | |
| @@ -30,9 +30,9 @@ CURLINFO_STARTTRANSFER_TIME_T on 1st header is OK | |
| CURLINFO_TOTAL_TIME_T on 1st header is OK | |
| CURLINFO_APPCONNECT_TIME_T on 1st header is OK | |
| CURLINFO_SPEED_DOWNLOAD_T on 1st header is OK | |
| - | HTTP/1.1 200 OK swsclose |
| - | Transfer-Encoding: chunked |
| - | |
| + | HTTP/1.1 200 OK swsclose%CR |
| + | Transfer-Encoding: chunked%CR |
| + | %CR |
| datad474 | |
| CURLINFO_CONNECT_TIME_T on done is OK | |
| CURLINFO_PRETRANSFER_TIME_T on done is OK | |
| @@ -41,7 +41,7 @@ file | |
| newlinens? | |
| yes please | |
| - | |
| + | %CR |
| [tab][CR] too | |
| </file> | |
| </client> | |
| @@ -52,16 +52,16 @@ yes please | |
| ^(Content-Type: multipart/form-data;|------------).* | |
| </strip> | |
| <protocol> | |
| - | POST /we/want/%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Content-Length: 322 |
| - | Content-Type: multipart/form-data; boundary=----------------------------c2d1767eb6ac |
| - | |
| - | ------------------------------c2d1767eb6ac |
| - | Content-Disposition: form-data; name="name" |
| - | |
| + | POST /we/want/%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Content-Length: 322%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------c2d1767eb6ac%CR |
| + | %CR |
| + | ------------------------------c2d1767eb6ac%CR |
| + | Content-Disposition: form-data; name="name"%CR |
| + | %CR |
| contents | |
| from | |
| a | |
| @@ -69,14 +69,14 @@ file | |
| newlinens? | |
| yes please | |
| - | |
| + | %CR |
| [tab][CR] too | |
| - | |
| - | ------------------------------c2d1767eb6ac |
| - | Content-Disposition: form-data; name="tool" |
| - | |
| - | curl |
| - | ------------------------------c2d1767eb6ac-- |
| + | %CR |
| + | ------------------------------c2d1767eb6ac%CR |
| + | Content-Disposition: form-data; name="tool"%CR |
| + | %CR |
| + | curl%CR |
| + | ------------------------------c2d1767eb6ac--%CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -12,30 +12,30 @@ HTTP GET | |
| # to avoid XML escaping problems). | |
| <reply> | |
| <data> | |
| - | HTTP/1.1 206 Partial Content swsclose |
| - | Date: Sat, 24 Apr 2004 09:24:49 GMT |
| - | Server: Apache/1.3.29 (Unix) mod_throttle/3.1.2 PHP/4.3.4 mod_fastcgi/2.4.0 |
| - | Last-Modified: Tue, 23 Mar 2004 08:23:14 GMT |
| - | ETag: "53814a-ec5-405ff3f2" |
| - | Accept-Ranges: bytes |
| - | Content-Length: 187 |
| - | Content-Type: multipart/byteranges; boundary=408a326132c |
| - | |
| - | --408a326132c |
| - | Content-type: text/html |
| - | Content-range: bytes 0-10/3781 |
| - | |
| + | HTTP/1.1 206 Partial Content swsclose%CR |
| + | Date: Sat, 24 Apr 2004 09:24:49 GMT%CR |
| + | Server: Apache/1.3.29 (Unix) mod_throttle/3.1.2 PHP/4.3.4 mod_fastcgi/2.4.0%CR |
| + | Last-Modified: Tue, 23 Mar 2004 08:23:14 GMT%CR |
| + | ETag: "53814a-ec5-405ff3f2"%CR |
| + | Accept-Ranges: bytes%CR |
| + | Content-Length: 187%CR |
| + | Content-Type: multipart/byteranges; boundary=408a326132c%CR |
| + | %CR |
| + | --408a326132c%CR |
| + | Content-type: text/html%CR |
| + | Content-range: bytes 0-10/3781%CR |
| + | %CR |
| {html} | |
| {hea | |
| - | |
| - | --408a326132c |
| - | Content-type: text/html |
| - | Content-range: bytes 12-15/3781 |
| - | |
| + | %CR |
| + | --408a326132c%CR |
| + | Content-type: text/html%CR |
| + | Content-range: bytes 12-15/3781%CR |
| + | %CR |
| } | |
| {t | |
| - | |
| - | --408a326132c-- |
| + | %CR |
| + | --408a326132c--%CR |
| </data> | |
| </reply> | |
| @@ -44,20 +44,20 @@ data inside the file | |
| ^(Content-Type: multipart/form-data;|------------).* | |
| </strip> | |
| <protocol> | |
| - | POST /we/want/%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Content-Length: 235 |
| - | Content-Type: multipart/form-data; boundary=----------------------------b0b3d6d23991 |
| - | |
| - | ------------------------------b0b3d6d23991 |
| - | Content-Disposition: form-data; name="name"; filename="fie ld %TESTNUMBER" |
| - | Content-Type: application/octet-stream |
| - | |
| + | POST /we/want/%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Content-Length: 235%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------b0b3d6d23991%CR |
| + | %CR |
| + | ------------------------------b0b3d6d23991%CR |
| + | Content-Disposition: form-data; name="name"; filename="fie ld %TESTNUMBER"%CR |
| + | Content-Type: application/octet-stream%CR |
| + | %CR |
| data inside the file | |
| - | |
| - | ------------------------------b0b3d6d23991-- |
| + | %CR |
| + | ------------------------------b0b3d6d23991--%CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -52,21 +52,21 @@ line8 | |
| ^(Content-Type: multipart/form-data;|------------).* | |
| </strip> | |
| <protocol> | |
| - | POST /we/want/%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Content-Length: 378 |
| - | Content-Type: multipart/form-data; boundary=----------------------------5dbea401cd8c |
| - | |
| - | ------------------------------5dbea401cd8c |
| - | Content-Disposition: form-data; name="field1" |
| - | |
| - | contents1 |
| - | ------------------------------5dbea401cd8c |
| - | Content-Disposition: form-data; name="fileupload"; filename="%DEV_NULL" |
| - | Content-Type: text/x-null;format=x-curl |
| - | |
| + | POST /we/want/%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Content-Length: 378%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------5dbea401cd8c%CR |
| + | %CR |
| + | ------------------------------5dbea401cd8c%CR |
| + | Content-Disposition: form-data; name="field1"%CR |
| + | %CR |
| + | contents1%CR |
| + | ------------------------------5dbea401cd8c%CR |
| + | Content-Disposition: form-data; name="fileupload"; filename="%DEV_NULL"%CR |
| + | Content-Type: text/x-null;format=x-curl%CR |
| + | %CR |
| line1 | |
| line2 | |
| line3 | |
| @@ -75,8 +75,8 @@ line5 | |
| line6 | |
| line7 | |
| line8 | |
| - | |
| - | ------------------------------5dbea401cd8c-- |
| + | %CR |
| + | ------------------------------5dbea401cd8c--%CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -27,8 +27,8 @@ HTTP/1.1 204 Sure go ahead | |
| </connect> | |
| <datacheck> | |
| - | HTTP/1.1 204 Sure go ahead |
| - | |
| + | HTTP/1.1 204 Sure go ahead%CR |
| + | %CR |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Server: test-server/fake swsclose | |
| @@ -20,7 +20,7 @@ Set-Cookie: onecookie=data; | |
| Set-Cookie: secondcookie=2data; | |
| Set-Cookie: cookie3=data3; | |
| Blank: | |
| - | Blank2: |
| + | Blank2:%CR |
| Location: /%TESTNUMBER0002 | |
| </data> | |
| @@ -9,23 +9,23 @@ CONNECT | |
| # Server-side | |
| <reply> | |
| <data nocheck="yes"> | |
| - | HTTP/1.1 200 funky chunky! |
| - | Server: fakeit/0.9 fakeitbad/1.0 |
| + | HTTP/1.1 200 funky chunky!%CR |
| + | Server: fakeit/0.9 fakeitbad/1.0%CR |
| Date: Thu, 09 Nov 2010 14:49:00 GMT | |
| - | Transfer-Encoding: chunked |
| - | Trailer: server |
| - | Connection: mooo |
| - | |
| - | 40 |
| - | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
| - | 30 |
| - | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb |
| - | 21;heresatest=moooo |
| + | Transfer-Encoding: chunked%CR |
| + | Trailer: server%CR |
| + | Connection: mooo%CR |
| + | %CR |
| + | 40%CR |
| + | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%CR |
| + | 30%CR |
| + | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%CR |
| + | 21;heresatest=moooo%CR |
| cccccccccccccccccccccccccccccccc | |
| - | |
| - | 0 |
| - | Server: sent-as-trailer |
| - | |
| + | %CR |
| + | 0%CR |
| + | Server: sent-as-trailer%CR |
| + | %CR |
| </data> | |
| </reply> | |
| @@ -76,24 +76,24 @@ moo | |
| ^timeout = [5-6]$ | |
| </strip> | |
| <protocol> | |
| - | GET /%TESTNUMBER0001 HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | |
| - | USER anonymous |
| - | PASS [email protected] |
| - | PWD |
| - | EPSV |
| - | TYPE I |
| - | SIZE %TESTNUMBER0002 |
| - | RETR %TESTNUMBER0002 |
| + | GET /%TESTNUMBER0001 HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | %CR |
| + | USER anonymous%CR |
| + | PASS [email protected]%CR |
| + | PWD%CR |
| + | EPSV%CR |
| + | TYPE I%CR |
| + | SIZE %TESTNUMBER0002%CR |
| + | RETR %TESTNUMBER0002%CR |
| opcode = 1 | |
| mode = octet | |
| tsize = 0 | |
| blksize = 512 | |
| filename = /%TESTNUMBER0003 | |
| - | QUIT |
| + | QUIT%CR |
| </protocol> | |
| <stdout> | |
| -foo- | |
| @@ -76,18 +76,18 @@ moo | |
| ^timeout = [5-6]$ | |
| </strip> | |
| <protocol> | |
| - | GET /%TESTNUMBER0001 HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | |
| - | USER anonymous |
| - | PASS [email protected] |
| - | PWD |
| - | EPSV |
| - | TYPE I |
| - | SIZE %TESTNUMBER0002 |
| - | RETR %TESTNUMBER0002 |
| + | GET /%TESTNUMBER0001 HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | %CR |
| + | USER anonymous%CR |
| + | PASS [email protected]%CR |
| + | PWD%CR |
| + | EPSV%CR |
| + | TYPE I%CR |
| + | SIZE %TESTNUMBER0002%CR |
| + | RETR %TESTNUMBER0002%CR |
| opcode = 1 | |
| mode = octet | |
| tsize = 0 | |
| @@ -98,15 +98,15 @@ mode = octet | |
| tsize = 0 | |
| blksize = 512 | |
| filename = /%TESTNUMBER0003 | |
| - | EPSV |
| - | SIZE %TESTNUMBER0002 |
| - | RETR %TESTNUMBER0002 |
| - | GET /%TESTNUMBER0001 HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | |
| - | QUIT |
| + | EPSV%CR |
| + | SIZE %TESTNUMBER0002%CR |
| + | RETR %TESTNUMBER0002%CR |
| + | GET /%TESTNUMBER0001 HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | %CR |
| + | QUIT%CR |
| </protocol> | |
| <stdout> | |
| -foo- | |
| @@ -41,19 +41,19 @@ daniel | |
| # then this is returned when we get proxy-auth | |
| <connect1000> | |
| - | HTTP/1.1 200 OK |
| + | HTTP/1.1 200 OK%CR |
| Server: no | |
| - | |
| + | %CR |
| </connect1000> | |
| <datacheck> | |
| - | HTTP/1.1 407 Authorization Required to proxy me my dear |
| - | Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345" |
| - | Content-Length: 33 |
| - | |
| - | HTTP/1.1 200 OK |
| + | HTTP/1.1 407 Authorization Required to proxy me my dear%CR |
| + | Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345"%CR |
| + | Content-Length: 33%CR |
| + | %CR |
| + | HTTP/1.1 200 OK%CR |
| Server: no | |
| - | |
| + | %CR |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Content-Length: 7 | |
| @@ -17,9 +17,9 @@ Server: fakeit/0.9 fakeitbad/1.0 | |
| Transfer-Encoding: chunked | |
| Connection: mooo | |
| - | 41 |
| + | 41%CR |
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | |
| - | |
| + | %CR |
| </data> | |
| <datacheck> | |
| HTTP/1.1 200 funky chunky! swsclose | |
| @@ -51,14 +51,14 @@ the | |
| # Verify data after the test has been "shot" | |
| <verify> | |
| <protocol> | |
| - | PUT ftp://daniel:[email protected]/we/want/%TESTNUMBER HTTP/1.1 |
| - | Host: host.com:21 |
| - | Authorization: Basic %b64[daniel:mysecret]b64% |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Proxy-Connection: Keep-Alive |
| - | Content-Length: 78 |
| - | |
| + | PUT ftp://daniel:[email protected]/we/want/%TESTNUMBER HTTP/1.1%CR |
| + | Host: host.com:21%CR |
| + | Authorization: Basic %b64[daniel:mysecret]b64%%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Proxy-Connection: Keep-Alive%CR |
| + | Content-Length: 78%CR |
| + | %CR |
| Weird | |
| file | |
| to | |
| @@ -45,21 +45,21 @@ daniel | |
| # then this is returned when we get proxy-auth | |
| <data1000> | |
| - | HTTP/1.1 200 OK swsbounce |
| + | HTTP/1.1 200 OK swsbounce%CR |
| Server: no | |
| - | |
| + | %CR |
| Nice proxy auth sir! | |
| </data1000> | |
| <datacheck> | |
| - | HTTP/1.1 407 Authorization Required to proxy me my dear |
| - | Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== |
| - | Content-Length: 33 |
| - | |
| - | HTTP/1.1 200 Things are fine in proxy land |
| - | Server: Microsoft-IIS/5.0 |
| - | Content-Type: text/html; charset=iso-8859-1 |
| - | |
| + | HTTP/1.1 407 Authorization Required to proxy me my dear%CR |
| + | Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==%CR |
| + | Content-Length: 33%CR |
| + | %CR |
| + | HTTP/1.1 200 Things are fine in proxy land%CR |
| + | Server: Microsoft-IIS/5.0%CR |
| + | Content-Type: text/html; charset=iso-8859-1%CR |
| + | %CR |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Content-Length: 7 | |
| @@ -45,21 +45,21 @@ daniel | |
| # then this is returned when we get proxy-auth | |
| <data1000> | |
| - | HTTP/1.1 200 OK swsbounce |
| + | HTTP/1.1 200 OK swsbounce%CR |
| Server: no | |
| - | |
| + | %CR |
| Nice proxy auth sir! | |
| </data1000> | |
| <datacheck> | |
| - | HTTP/1.1 407 Authorization Required to proxy me my dear |
| - | Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== |
| - | Content-Length: 33 |
| - | |
| - | HTTP/1.1 200 Things are fine in proxy land |
| - | Server: Microsoft-IIS/5.0 |
| - | Content-Type: text/html; charset=iso-8859-1 |
| - | |
| + | HTTP/1.1 407 Authorization Required to proxy me my dear%CR |
| + | Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==%CR |
| + | Content-Length: 33%CR |
| + | %CR |
| + | HTTP/1.1 200 Things are fine in proxy land%CR |
| + | Server: Microsoft-IIS/5.0%CR |
| + | Content-Type: text/html; charset=iso-8859-1%CR |
| + | %CR |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Content-Length: 7 | |
| @@ -40,17 +40,17 @@ just some tiny teeny contents | |
| # Verify data after the test has been "shot" | |
| <verify> | |
| <protocol> | |
| - | PUT /%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Transfer-Encoding: chunked |
| - | |
| - | 1e |
| + | PUT /%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Transfer-Encoding: chunked%CR |
| + | %CR |
| + | 1e%CR |
| just some tiny teeny contents | |
| - | |
| - | 0 |
| - | |
| + | %CR |
| + | 0%CR |
| + | %CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -25,14 +25,14 @@ Content-Length: 1305 | |
| </data> | |
| <datacheck> | |
| - | HTTP/1.1 200 OK |
| - | Date: Mon, 29 Nov 2004 21:56:53 GMT |
| - | Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29 |
| - | Vary: Accept-Encoding |
| - | Content-Type: text/html; charset=ISO-8859-1 |
| - | Content-Encoding: deflate |
| - | Content-Length: 1305 |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | Date: Mon, 29 Nov 2004 21:56:53 GMT%CR |
| + | Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29%CR |
| + | Vary: Accept-Encoding%CR |
| + | Content-Type: text/html; charset=ISO-8859-1%CR |
| + | Content-Encoding: deflate%CR |
| + | Content-Length: 1305%CR |
| + | %CR |
| <?xml version="1.0" encoding="ISO-8859-1"?> | |
| <!DOCTYPE project-listing SYSTEM "http://freshmeat.net/backend/fm-projects-0.4.dtd"> | |
| <project-listing> | |
| @@ -43,15 +43,15 @@ Content-Length: 1305 | |
| <projectname_short>curl</projectname_short> | |
| <projectname_full>curl and libcurl</projectname_full> | |
| <desc_short>Command line tool and library for client-side URL transfers.</desc_short> | |
| - | <desc_full>curl and libcurl is a tool for transferring files |
| - | using URL syntax. It supports HTTP, HTTPS, FTP, |
| - | FTPS, DICT, TELNET, LDAP, FILE, and GOPHER, as |
| - | well as HTTP-post, HTTP-put, cookies, FTP upload, |
| - | resumed transfers, passwords, portnumbers, SSL |
| - | certificates, Kerberos, and proxies. It is powered |
| - | by libcurl, the client-side URL transfer library. |
| - | There are bindings to libcurl for over 20 |
| - | languages and environments. |
| + | <desc_full>curl and libcurl is a tool for transferring files%CR |
| + | using URL syntax. It supports HTTP, HTTPS, FTP,%CR |
| + | FTPS, DICT, TELNET, LDAP, FILE, and GOPHER, as%CR |
| + | well as HTTP-post, HTTP-put, cookies, FTP upload,%CR |
| + | resumed transfers, passwords, portnumbers, SSL%CR |
| + | certificates, Kerberos, and proxies. It is powered%CR |
| + | by libcurl, the client-side URL transfer library.%CR |
| + | There are bindings to libcurl for over 20%CR |
| + | languages and environments.%CR |
| </desc_full> | |
| <vitality_score>5784.57</vitality_score> | |
| <vitality_percent>3.16</vitality_percent> | |
| @@ -25,14 +25,14 @@ Content-Length: 1328 | |
| </data> | |
| <datacheck> | |
| - | HTTP/1.1 200 OK |
| - | Date: Mon, 29 Nov 2004 21:56:53 GMT |
| - | Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29 |
| - | Vary: Accept-Encoding |
| - | Content-Type: text/html; charset=ISO-8859-1 |
| - | Content-Encoding: deflate, identity, gzip |
| - | Content-Length: 1328 |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | Date: Mon, 29 Nov 2004 21:56:53 GMT%CR |
| + | Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29%CR |
| + | Vary: Accept-Encoding%CR |
| + | Content-Type: text/html; charset=ISO-8859-1%CR |
| + | Content-Encoding: deflate, identity, gzip%CR |
| + | Content-Length: 1328%CR |
| + | %CR |
| <?xml version="1.0" encoding="ISO-8859-1"?> | |
| <!DOCTYPE project-listing SYSTEM "http://freshmeat.net/backend/fm-projects-0.4.dtd"> | |
| <project-listing> | |
| @@ -43,15 +43,15 @@ Content-Length: 1328 | |
| <projectname_short>curl</projectname_short> | |
| <projectname_full>curl and libcurl</projectname_full> | |
| <desc_short>Command line tool and library for client-side URL transfers.</desc_short> | |
| - | <desc_full>curl and libcurl is a tool for transferring files |
| - | using URL syntax. It supports HTTP, HTTPS, FTP, |
| - | FTPS, DICT, TELNET, LDAP, FILE, and GOPHER, as |
| - | well as HTTP-post, HTTP-put, cookies, FTP upload, |
| - | resumed transfers, passwords, portnumbers, SSL |
| - | certificates, Kerberos, and proxies. It is powered |
| - | by libcurl, the client-side URL transfer library. |
| - | There are bindings to libcurl for over 20 |
| - | languages and environments. |
| + | <desc_full>curl and libcurl is a tool for transferring files%CR |
| + | using URL syntax. It supports HTTP, HTTPS, FTP,%CR |
| + | FTPS, DICT, TELNET, LDAP, FILE, and GOPHER, as%CR |
| + | well as HTTP-post, HTTP-put, cookies, FTP upload,%CR |
| + | resumed transfers, passwords, portnumbers, SSL%CR |
| + | certificates, Kerberos, and proxies. It is powered%CR |
| + | by libcurl, the client-side URL transfer library.%CR |
| + | There are bindings to libcurl for over 20%CR |
| + | languages and environments.%CR |
| </desc_full> | |
| <vitality_score>5784.57</vitality_score> | |
| <vitality_percent>3.16</vitality_percent> | |
| @@ -25,14 +25,14 @@ Content-Length: 1287 | |
| </data> | |
| <datacheck> | |
| - | HTTP/1.1 200 OK |
| - | Date: Mon, 29 Nov 2004 21:56:53 GMT |
| - | Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29 |
| - | Vary: Accept-Encoding |
| - | Content-Type: text/html; charset=ISO-8859-1 |
| - | Content-Encoding: deflate |
| - | Content-Length: 1287 |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | Date: Mon, 29 Nov 2004 21:56:53 GMT%CR |
| + | Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29%CR |
| + | Vary: Accept-Encoding%CR |
| + | Content-Type: text/html; charset=ISO-8859-1%CR |
| + | Content-Encoding: deflate%CR |
| + | Content-Length: 1287%CR |
| + | %CR |
| <?xml version="1.0" encoding="ISO-8859-1"?> | |
| <!DOCTYPE project-listing SYSTEM "http://freshmeat.net/backend/fm-projects-0.4.dtd"> | |
| <project-listing> | |
| @@ -43,15 +43,15 @@ Content-Length: 1287 | |
| <projectname_short>curl</projectname_short> | |
| <projectname_full>curl and libcurl</projectname_full> | |
| <desc_short>Command line tool and library for client-side URL transfers.</desc_short> | |
| - | <desc_full>curl and libcurl is a tool for transferring files |
| - | using URL syntax. It supports HTTP, HTTPS, FTP, |
| - | FTPS, DICT, TELNET, LDAP, FILE, and GOPHER, as |
| - | well as HTTP-post, HTTP-put, cookies, FTP upload, |
| - | resumed transfers, passwords, portnumbers, SSL |
| - | certificates, Kerberos, and proxies. It is powered |
| - | by libcurl, the client-side URL transfer library. |
| - | There are bindings to libcurl for over 20 |
| - | languages and environments. |
| + | <desc_full>curl and libcurl is a tool for transferring files%CR |
| + | using URL syntax. It supports HTTP, HTTPS, FTP,%CR |
| + | FTPS, DICT, TELNET, LDAP, FILE, and GOPHER, as%CR |
| + | well as HTTP-post, HTTP-put, cookies, FTP upload,%CR |
| + | resumed transfers, passwords, portnumbers, SSL%CR |
| + | certificates, Kerberos, and proxies. It is powered%CR |
| + | by libcurl, the client-side URL transfer library.%CR |
| + | There are bindings to libcurl for over 20%CR |
| + | languages and environments.%CR |
| </desc_full> | |
| <vitality_score>5784.57</vitality_score> | |
| <vitality_percent>3.16</vitality_percent> | |
| @@ -40,11 +40,11 @@ Proxy-Authenticate: Digest realm="many secrets", nonce="911" | |
| Proxy-Connection: close | |
| Content-Length: 0 | |
| - | HTTP/1.1 200 A OK |
| - | Server: Microsoft-IIS/6.0 |
| - | Content-Type: text/html; charset=iso-8859-1 |
| - | Content-Length: 3 |
| - | |
| + | HTTP/1.1 200 A OK%CR |
| + | Server: Microsoft-IIS/6.0%CR |
| + | Content-Type: text/html; charset=iso-8859-1%CR |
| + | Content-Length: 3%CR |
| + | %CR |
| ok | |
| </datacheck> | |
| @@ -82,57 +82,57 @@ bar | |
| ^(Content-Type: multipart/form-data;|------).* | |
| </strip> | |
| <protocol> | |
| - | POST http://remotehost:54321/we/want/%TESTNUMBER HTTP/1.1 |
| - | Host: remotehost:54321 |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Proxy-Connection: Keep-Alive |
| - | Content-Length: 433 |
| - | Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce |
| - | |
| - | ------------------------------7c633d5c27ce |
| - | Content-Disposition: form-data; name="name" |
| - | |
| - | daniel |
| - | ------------------------------7c633d5c27ce |
| - | Content-Disposition: form-data; name="tool" |
| - | |
| - | curl |
| - | ------------------------------7c633d5c27ce |
| - | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt" |
| - | Content-Type: text/plain |
| - | |
| + | POST http://remotehost:54321/we/want/%TESTNUMBER HTTP/1.1%CR |
| + | Host: remotehost:54321%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Proxy-Connection: Keep-Alive%CR |
| + | Content-Length: 433%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce%CR |
| + | %CR |
| + | ------------------------------7c633d5c27ce%CR |
| + | Content-Disposition: form-data; name="name"%CR |
| + | %CR |
| + | daniel%CR |
| + | ------------------------------7c633d5c27ce%CR |
| + | Content-Disposition: form-data; name="tool"%CR |
| + | %CR |
| + | curl%CR |
| + | ------------------------------7c633d5c27ce%CR |
| + | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| foo- | |
| This is a moo- | |
| bar | |
| - | |
| - | ------------------------------7c633d5c27ce-- |
| - | POST http://remotehost:54321/we/want/%TESTNUMBER HTTP/1.1 |
| - | Host: remotehost:54321 |
| - | Proxy-Authorization: Digest username="uuuser", realm="many secrets", nonce="911", uri="/we/want/%TESTNUMBER", response="2501654ca391f0b5c8c12a1da77e34cd" |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Proxy-Connection: Keep-Alive |
| - | Content-Length: 433 |
| - | Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce |
| - | |
| - | ------------------------------7c633d5c27ce |
| - | Content-Disposition: form-data; name="name" |
| - | |
| - | daniel |
| - | ------------------------------7c633d5c27ce |
| - | Content-Disposition: form-data; name="tool" |
| - | |
| - | curl |
| - | ------------------------------7c633d5c27ce |
| - | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt" |
| - | Content-Type: text/plain |
| - | |
| + | %CR |
| + | ------------------------------7c633d5c27ce--%CR |
| + | POST http://remotehost:54321/we/want/%TESTNUMBER HTTP/1.1%CR |
| + | Host: remotehost:54321%CR |
| + | Proxy-Authorization: Digest username="uuuser", realm="many secrets", nonce="911", uri="/we/want/%TESTNUMBER", response="2501654ca391f0b5c8c12a1da77e34cd"%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Proxy-Connection: Keep-Alive%CR |
| + | Content-Length: 433%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce%CR |
| + | %CR |
| + | ------------------------------7c633d5c27ce%CR |
| + | Content-Disposition: form-data; name="name"%CR |
| + | %CR |
| + | daniel%CR |
| + | ------------------------------7c633d5c27ce%CR |
| + | Content-Disposition: form-data; name="tool"%CR |
| + | %CR |
| + | curl%CR |
| + | ------------------------------7c633d5c27ce%CR |
| + | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| foo- | |
| This is a moo- | |
| bar | |
| - | |
| - | ------------------------------7c633d5c27ce-- |
| + | %CR |
| + | ------------------------------7c633d5c27ce--%CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -36,11 +36,11 @@ Server: test-server/fake | |
| Proxy-Authenticate: Digest realm="many secrets", nonce="911" | |
| Content-Length: 0 | |
| - | HTTP/1.1 200 A OK |
| - | Server: Microsoft-IIS/6.0 |
| - | Content-Type: text/html; charset=iso-8859-1 |
| - | Content-Length: 3 |
| - | |
| + | HTTP/1.1 200 A OK%CR |
| + | Server: Microsoft-IIS/6.0%CR |
| + | Content-Type: text/html; charset=iso-8859-1%CR |
| + | Content-Length: 3%CR |
| + | %CR |
| ok | |
| </datacheck> | |
| @@ -78,59 +78,59 @@ bar | |
| ^(Content-Type: multipart/form-data;|------).* | |
| </strip> | |
| <protocol> | |
| - | POST http://remotehost:54321/we/want/%TESTNUMBER HTTP/1.1 |
| - | Host: remotehost:54321 |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Proxy-Connection: Keep-Alive |
| - | Expect: 100-continue |
| - | Content-Length: 433 |
| - | Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce |
| - | |
| - | ------------------------------7c633d5c27ce |
| - | Content-Disposition: form-data; name="name" |
| - | |
| - | daniel |
| - | ------------------------------7c633d5c27ce |
| - | Content-Disposition: form-data; name="tool" |
| - | |
| - | curl |
| - | ------------------------------7c633d5c27ce |
| - | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt" |
| - | Content-Type: text/plain |
| - | |
| + | POST http://remotehost:54321/we/want/%TESTNUMBER HTTP/1.1%CR |
| + | Host: remotehost:54321%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Proxy-Connection: Keep-Alive%CR |
| + | Expect: 100-continue%CR |
| + | Content-Length: 433%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce%CR |
| + | %CR |
| + | ------------------------------7c633d5c27ce%CR |
| + | Content-Disposition: form-data; name="name"%CR |
| + | %CR |
| + | daniel%CR |
| + | ------------------------------7c633d5c27ce%CR |
| + | Content-Disposition: form-data; name="tool"%CR |
| + | %CR |
| + | curl%CR |
| + | ------------------------------7c633d5c27ce%CR |
| + | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| foo- | |
| This is a moo- | |
| bar | |
| - | |
| - | ------------------------------7c633d5c27ce-- |
| - | POST http://remotehost:54321/we/want/%TESTNUMBER HTTP/1.1 |
| - | Host: remotehost:54321 |
| - | Proxy-Authorization: Digest username="uuuser", realm="many secrets", nonce="911", uri="/we/want/%TESTNUMBER", response="b479994d13e60f3aa192a67c5892ddc5" |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Proxy-Connection: Keep-Alive |
| - | Expect: 100-continue |
| - | Content-Length: 433 |
| - | Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce |
| - | |
| - | ------------------------------7c633d5c27ce |
| - | Content-Disposition: form-data; name="name" |
| - | |
| - | daniel |
| - | ------------------------------7c633d5c27ce |
| - | Content-Disposition: form-data; name="tool" |
| - | |
| - | curl |
| - | ------------------------------7c633d5c27ce |
| - | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt" |
| - | Content-Type: text/plain |
| - | |
| + | %CR |
| + | ------------------------------7c633d5c27ce--%CR |
| + | POST http://remotehost:54321/we/want/%TESTNUMBER HTTP/1.1%CR |
| + | Host: remotehost:54321%CR |
| + | Proxy-Authorization: Digest username="uuuser", realm="many secrets", nonce="911", uri="/we/want/%TESTNUMBER", response="b479994d13e60f3aa192a67c5892ddc5"%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Proxy-Connection: Keep-Alive%CR |
| + | Expect: 100-continue%CR |
| + | Content-Length: 433%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce%CR |
| + | %CR |
| + | ------------------------------7c633d5c27ce%CR |
| + | Content-Disposition: form-data; name="name"%CR |
| + | %CR |
| + | daniel%CR |
| + | ------------------------------7c633d5c27ce%CR |
| + | Content-Disposition: form-data; name="tool"%CR |
| + | %CR |
| + | curl%CR |
| + | ------------------------------7c633d5c27ce%CR |
| + | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| foo- | |
| This is a moo- | |
| bar | |
| - | |
| - | ------------------------------7c633d5c27ce-- |
| + | %CR |
| + | ------------------------------7c633d5c27ce--%CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -47,22 +47,22 @@ daniel | |
| # then this is returned when we get proxy-auth | |
| <data1000> | |
| - | HTTP/1.1 200 OK swsbounce |
| + | HTTP/1.1 200 OK swsbounce%CR |
| Server: no | |
| - | |
| + | %CR |
| Nice proxy auth sir! | |
| </data1000> | |
| <datacheck> | |
| - | HTTP/1.0 407 Authorization Required to proxy me my dear |
| - | Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== |
| - | Connection: Keep-Alive |
| - | Content-Length: 1033 |
| - | |
| - | HTTP/1.1 200 Things are fine in proxy land |
| - | Server: Microsoft-IIS/5.0 |
| - | Content-Type: text/html; charset=iso-8859-1 |
| - | |
| + | HTTP/1.0 407 Authorization Required to proxy me my dear%CR |
| + | Proxy-Authenticate: NTLM TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA==%CR |
| + | Connection: Keep-Alive%CR |
| + | Content-Length: 1033%CR |
| + | %CR |
| + | HTTP/1.1 200 Things are fine in proxy land%CR |
| + | Server: Microsoft-IIS/5.0%CR |
| + | Content-Type: text/html; charset=iso-8859-1%CR |
| + | %CR |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Content-Length: 7 | |
| @@ -11,32 +11,32 @@ DELAY | |
| # Server-side | |
| <reply> | |
| <data> | |
| - | HTTP/1.1 200 funky chunky! |
| - | Server: fakeit/0.9 fakeitbad/1.0 |
| - | Transfer-Encoding: chunked |
| - | Trailer: chunky-trailer |
| - | Connection: mooo |
| - | |
| - | 40 |
| - | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
| - | 30 |
| - | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb |
| - | 21;heresatest=moooo |
| + | HTTP/1.1 200 funky chunky!%CR |
| + | Server: fakeit/0.9 fakeitbad/1.0%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Trailer: chunky-trailer%CR |
| + | Connection: mooo%CR |
| + | %CR |
| + | 40%CR |
| + | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%CR |
| + | 30%CR |
| + | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%CR |
| + | 21;heresatest=moooo%CR |
| cccccccccccccccccccccccccccccccc | |
| - | |
| - | 0 |
| - | chunky-trailer: header data |
| - | |
| + | %CR |
| + | 0%CR |
| + | chunky-trailer: header data%CR |
| + | %CR |
| </data> | |
| <datacheck> | |
| - | HTTP/1.1 200 funky chunky! |
| - | Server: fakeit/0.9 fakeitbad/1.0 |
| - | Transfer-Encoding: chunked |
| - | Trailer: chunky-trailer |
| - | Connection: mooo |
| - | |
| + | HTTP/1.1 200 funky chunky!%CR |
| + | Server: fakeit/0.9 fakeitbad/1.0%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Trailer: chunky-trailer%CR |
| + | Connection: mooo%CR |
| + | %CR |
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc | |
| - | chunky-trailer: header data |
| + | chunky-trailer: header data%CR |
| </datacheck> | |
| <servercmd> | |
| writedelay: 10 | |
| @@ -30,9 +30,9 @@ Content-Length: 9 | |
| contents | |
| </data> | |
| <datacheck> | |
| - | HTTP/1.1 200 OK |
| - | Connected-fine: sure |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | Connected-fine: sure%CR |
| + | %CR |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Server: test-server/fake | |
| @@ -23,19 +23,19 @@ Location: ./%TESTNUMBER0001 | |
| monster | |
| </data> | |
| <data1 nocheck="yes"> | |
| - | HTTP/1.1 200 OK |
| - | Date: Sun, 13 Sep 2020 15:00 GMT |
| - | Transfer-Encoding: chunked |
| - | Connection: close |
| - | Content-Type: text/plain; charset=us-ascii |
| - | |
| - | 0007 |
| - | bigger |
| - | 0008 |
| + | HTTP/1.1 200 OK%CR |
| + | Date: Sun, 13 Sep 2020 15:00 GMT%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Connection: close%CR |
| + | Content-Type: text/plain; charset=us-ascii%CR |
| + | %CR |
| + | 0007%CR |
| + | bigger %CR |
| + | 0008%CR |
| monster | |
| - | |
| - | 0 |
| - | |
| + | %CR |
| + | 0%CR |
| + | %CR |
| </data1> | |
| </reply> | |
| @@ -45,28 +45,28 @@ HTTPS multipart formpost | |
| ^(Content-Type: multipart/form-data;|------).* | |
| </strip> | |
| <protocol> | |
| - | POST /we/want/%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPSPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Content-Length: 1410 |
| - | Content-Type: multipart/form-data; boundary=----------------------------qrstuvwxyz0123456789AB |
| - | |
| - | ------------------------------qrstuvwxyz0123456789AB |
| - | Content-Disposition: form-data; name="name" |
| - | |
| - | daniel |
| - | ------------------------------qrstuvwxyz0123456789AB |
| - | Content-Disposition: form-data; name="tool" |
| - | |
| - | curl |
| - | ------------------------------qrstuvwxyz0123456789AB |
| - | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt" |
| - | Content-Type: text/plain |
| - | |
| + | POST /we/want/%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPSPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Content-Length: 1410%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------qrstuvwxyz0123456789AB%CR |
| + | %CR |
| + | ------------------------------qrstuvwxyz0123456789AB%CR |
| + | Content-Disposition: form-data; name="name"%CR |
| + | %CR |
| + | daniel%CR |
| + | ------------------------------qrstuvwxyz0123456789AB%CR |
| + | Content-Disposition: form-data; name="tool"%CR |
| + | %CR |
| + | curl%CR |
| + | ------------------------------qrstuvwxyz0123456789AB%CR |
| + | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| %repeat[1000 x a]% | |
| - | |
| - | ------------------------------qrstuvwxyz0123456789AB-- |
| + | %CR |
| + | ------------------------------qrstuvwxyz0123456789AB--%CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -12,64 +12,64 @@ cookiejar | |
| <reply> | |
| <data> | |
| - | HTTP/1.1 200 OK |
| - | Date: Tue, 09 Nov 2010 14:49:00 GMT |
| - | Server: test-server/fake |
| - | Content-Length: 4 |
| - | Content-Type: text/html |
| - | Funny-head: yesyes |
| + | HTTP/1.1 200 OK%CR |
| + | Date: Tue, 09 Nov 2010 14:49:00 GMT%CR |
| + | Server: test-server/fake%CR |
| + | Content-Length: 4%CR |
| + | Content-Type: text/html%CR |
| + | Funny-head: yesyes%CR |
| Set-Cookie: blankdomain=sure; domain=; path=/ | |
| - | 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 |
| + | Set-Cookie: foobar=name; domain=anything.com; path=/ ; secure%CR |
| + | Set-Cookie:ismatch=this ; domain=test31.curl; path=/silly/%CR |
| + | Set-Cookie:ISMATCH=this ; domain=test31.curl; path=/silly/%CR |
| + | Set-Cookie: overwrite=this ; domain=test31.curl; path=/overwrite/%CR |
| + | Set-Cookie: overwrite=this2 ; domain=test31.curl; path=/overwrite%CR |
| + | Set-Cookie: sec1value=secure1 ; domain=test31.curl; path=/secure1/ ; secure%CR |
| + | Set-Cookie: sec2value=secure2 ; domain=test31.curl; path=/secure2/ ; secure=%CR |
| + | Set-Cookie: sec3value=secure3 ; domain=test31.curl; path=/secure3/ ; secure=%CR |
| + | Set-Cookie: sec4value=secure4 ; secure=; domain=test31.curl; path=/secure4/ ; %CR |
| + | Set-Cookie: sec5value=secure5 ; secure; domain=test31.curl; path=/secure5/ ; %CR |
| + | Set-Cookie: sec6value=secure6 ; secure ; domain=test31.curl; path=/secure6/ ; %CR |
| + | Set-Cookie: sec7value=secure7 ; secure ; domain=test31.curl; path=/secure7/ ; %CR |
| + | Set-Cookie: sec8value=secure8 ; secure= ; domain=test31.curl; path=/secure8/ ; %CR |
| + | Set-Cookie: secure=very1 ; secure=; domain=test31.curl; path=/secure9/; %CR |
| + | Set-Cookie: httpo1=value1 ; domain=test31.curl; path=/p1/; httponly%CR |
| + | Set-Cookie: httpo2=value2 ; domain=test31.curl; path=/p2/; httponly=%CR |
| + | Set-Cookie: httpo3=value3 ; httponly; domain=test31.curl; path=/p3/;%CR |
| + | Set-Cookie: httpo4=value4 ; httponly=; domain=test31.curl; path=/p4/; %CR |
| + | Set-Cookie: httponly=myvalue1 ; domain=test31.curl; path=/p4/; httponly%CR |
| + | Set-Cookie: httpandsec=myvalue2 ; domain=test31.curl; path=/p4/; httponly; secure%CR |
| + | Set-Cookie: httpandsec2=myvalue3; domain=test31.curl; path=/p4/; httponly=; secure%CR |
| + | Set-Cookie: httpandsec3=myvalue4 ; domain=test31.curl; path=/p4/; httponly; secure=%CR |
| + | Set-Cookie: httpandsec4=myvalue5 ; domain=test31.curl; path=/p4/; httponly=; secure=%CR |
| + | Set-Cookie: httpandsec5=myvalue6 ; domain=test31.curl; path=/p4/; secure; httponly=%CR |
| + | Set-Cookie: httpandsec6=myvalue7 ; domain=test31.curl; path=/p4/; secure=; httponly=%CR |
| + | Set-Cookie: httpandsec7=myvalue8 ; domain=test31.curl; path=/p4/; secure; httponly%CR |
| + | Set-Cookie: httpandsec8=myvalue9; domain=test31.curl; path=/p4/; secure=; httponly%CR |
| + | Set-Cookie: partmatch=present; domain=test31.curl ; path=/;%CR |
| + | Set-Cookie:eat=this; domain=moo.foo.moo;%CR |
| + | Set-Cookie: eat=this-too; domain=.foo.moo;%CR |
| + | Set-Cookie: nodomainnovalue%CR |
| %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 |
| + | Set-Cookie: nodomain=value; expires=Fri Feb 13 11:56:27 GMT 2525%CR |
| + | Set-Cookie: novalue; domain=reallysilly%CR |
| + | Set-Cookie: test=yes; domain=foo.com; expires=Sat Feb 2 11:56:27 GMT 2525%CR |
| + | Set-Cookie: test2=yes; domain=se; expires=Sat Feb 2 11:56:27 GMT 2525%CR |
| %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 |
| + | Set-Cookie: nodomain=value; expires=Fri Feb 13 11:56:27 GMT 2037%CR |
| + | Set-Cookie: novalue; domain=reallysilly%CR |
| + | Set-Cookie: test=yes; domain=foo.com; expires=Sat Feb 2 11:56:27 GMT 2030%CR |
| + | Set-Cookie: test2=yes; domain=se; expires=Sat Feb 2 11:56:27 GMT 2030%CR |
| %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 = |
| + | Set-Cookie: magic=yessir; path=/silly/; HttpOnly%CR |
| + | Set-Cookie: blexp=yesyes; domain=test31.curl; domain=test31.curl; expiry=totally bad;%CR |
| + | Set-Cookie: partialip=nono; domain=.0.0.1;%CR |
| + | Set-Cookie: withspaces= yes within and around ;%CR |
| + | Set-Cookie: withspaces2 =before equals;%CR |
| + | Set-Cookie: prespace= yes before;%CR |
| + | Set-Cookie: securewithspace=after ; secure =%CR |
| Set-Cookie: %hex[%c3%82%c2%b3%c3%83%5c%78%39%32%c3%83%5c%78%39%61%c3%83%5c%78%38%64%c3%83%5c%78%39%37]hex%=%96%A6g%9Ay%B0%A5g%A7tm%7C%95%9A | |
| - | |
| + | %CR |
| boo | |
| </data> | |
| </reply> | |
| @@ -27,14 +27,14 @@ Content-Length: 1056 | |
| </data> | |
| <datacheck> | |
| - | HTTP/1.1 200 OK |
| - | Date: Mon, 29 Nov 2004 21:56:53 GMT |
| - | Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29 |
| - | Vary: Accept-Encoding |
| - | Content-Type: text/html; charset=ISO-8859-1 |
| - | Content-Encoding: br |
| - | Content-Length: 1056 |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | Date: Mon, 29 Nov 2004 21:56:53 GMT%CR |
| + | Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29%CR |
| + | Vary: Accept-Encoding%CR |
| + | Content-Type: text/html; charset=ISO-8859-1%CR |
| + | Content-Encoding: br%CR |
| + | Content-Length: 1056%CR |
| + | %CR |
| <?xml version="1.0" encoding="ISO-8859-1"?> | |
| <!DOCTYPE project-listing SYSTEM "http://freshmeat.net/backend/fm-projects-0.4.dtd"> | |
| <project-listing> | |
| @@ -45,15 +45,15 @@ Content-Length: 1056 | |
| <projectname_short>curl</projectname_short> | |
| <projectname_full>curl and libcurl</projectname_full> | |
| <desc_short>Command line tool and library for client-side URL transfers.</desc_short> | |
| - | <desc_full>curl and libcurl is a tool for transferring files |
| - | using URL syntax. It supports HTTP, HTTPS, FTP, |
| - | FTPS, DICT, TELNET, LDAP, FILE, and GOPHER, as |
| - | well as HTTP-post, HTTP-put, cookies, FTP upload, |
| - | resumed transfers, passwords, portnumbers, SSL |
| - | certificates, Kerberos, and proxies. It is powered |
| - | by libcurl, the client-side URL transfer library. |
| - | There are bindings to libcurl for over 20 |
| - | languages and environments. |
| + | <desc_full>curl and libcurl is a tool for transferring files%CR |
| + | using URL syntax. It supports HTTP, HTTPS, FTP,%CR |
| + | FTPS, DICT, TELNET, LDAP, FILE, and GOPHER, as%CR |
| + | well as HTTP-post, HTTP-put, cookies, FTP upload,%CR |
| + | resumed transfers, passwords, portnumbers, SSL%CR |
| + | certificates, Kerberos, and proxies. It is powered%CR |
| + | by libcurl, the client-side URL transfer library.%CR |
| + | There are bindings to libcurl for over 20%CR |
| + | languages and environments.%CR |
| </desc_full> | |
| <vitality_score>5784.57</vitality_score> | |
| <vitality_percent>3.16</vitality_percent> | |
| @@ -10,9 +10,9 @@ TLS-SRP | |
| # Server-side | |
| <reply> | |
| <data nocheck="yes"> | |
| - | HTTP/1.0 200 OK |
| - | Content-type: text/html |
| - | |
| + | HTTP/1.0 200 OK%CR |
| + | Content-type: text/html%CR |
| + | %CR |
| <HTML><BODY> | |
| <CENTER><H1>This is <a href="http://www.gnu.org/software/gnutls">GnuTLS</a></H1></CENTER> | |
| @@ -28,10 +28,10 @@ Content-type: text/html | |
| <TR><TD>Cipher</TD><TD>AES-NNN-CBC</TD></TR> | |
| <TR><TD>MAC</TD><TD>SHA1</TD></TR> | |
| <TR><TD>Ciphersuite</TD><TD>SRP_SHA_AES_NNN_CBC_SHA1</TD></TR></p></TABLE> | |
| - | <hr><P>Your HTTP header was:<PRE>Host: localhost:9011 |
| - | User-Agent: curl-test-suite |
| - | Accept: */* |
| - | |
| + | <hr><P>Your HTTP header was:<PRE>Host: localhost:9011%CR |
| + | User-Agent: curl-test-suite%CR |
| + | Accept: */*%CR |
| + | %CR |
| </PRE></P> | |
| </BODY></HTML> | |
| @@ -15,7 +15,7 @@ CUSTOMREQUEST | |
| %repeat[120 x Testing large IMAP literal with custom FETCH. XXXXXXXXXXXXX%0d]% | |
| </data> | |
| <datacheck> | |
| - | * 456 FETCH (BODY[TEXT] {7201} |
| + | * 456 FETCH (BODY[TEXT] {7201}%CR |
| %repeat[120 x Testing large IMAP literal with custom FETCH. XXXXXXXXXXXXX%0d]% | |
| </datacheck> | |
| </reply> | |
| @@ -9,29 +9,29 @@ HTTP GET | |
| # Server-side | |
| <reply> | |
| <data> | |
| - | HTTP/1.1 200 OK |
| - | Date: Mon, 29 Nov 2004 21:56:53 GMT |
| - | Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29 |
| - | Content-Type: text/html; charset=ISO-8859-1 |
| - | Transfer-Encoding: chunked |
| - | |
| - | 18 |
| + | HTTP/1.1 200 OK%CR |
| + | Date: Mon, 29 Nov 2004 21:56:53 GMT%CR |
| + | Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29%CR |
| + | Content-Type: text/html; charset=ISO-8859-1%CR |
| + | Transfer-Encoding: chunked%CR |
| + | %CR |
| + | 18%CR |
| line 1 | |
| line 2 | |
| line 3 | |
| - | |
| - | 0 |
| - | |
| + | %CR |
| + | 0%CR |
| + | %CR |
| </data> | |
| <datacheck> | |
| - | 18 |
| + | 18%CR |
| line 1 | |
| line 2 | |
| line 3 | |
| - | |
| - | 0 |
| - | |
| + | %CR |
| + | 0%CR |
| + | %CR |
| </datacheck> | |
| </reply> | |
| @@ -9,23 +9,23 @@ HTTP GET | |
| # Server-side | |
| <reply> | |
| <data nocheck="yes"> | |
| - | HTTP/1.1 200 funky chunky! |
| - | Server: fakeit/0.9 fakeitbad/1.0 |
| - | Transfer-Encoding: chunked |
| - | Trailer: chunky-trailer |
| - | Connection: mooo |
| - | ETag: W/"asdf" |
| - | |
| - | 40 |
| - | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
| - | 30 |
| - | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb |
| - | 21;heresatest=moooo |
| + | HTTP/1.1 200 funky chunky!%CR |
| + | Server: fakeit/0.9 fakeitbad/1.0%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Trailer: chunky-trailer%CR |
| + | Connection: mooo%CR |
| + | ETag: W/"asdf"%CR |
| + | %CR |
| + | 40%CR |
| + | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%CR |
| + | 30%CR |
| + | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%CR |
| + | 21;heresatest=moooo%CR |
| cccccccccccccccccccccccccccccccc | |
| - | |
| - | 0 |
| - | chunky-trailer: header data |
| - | |
| + | %CR |
| + | 0%CR |
| + | chunky-trailer: header data%CR |
| + | %CR |
| </data> | |
| </reply> | |
| @@ -15,15 +15,15 @@ Server: fakeit/0.9 fakeitbad/1.0 | |
| Transfer-Encoding: chunked | |
| Connection: mooo | |
| - | 40 |
| - | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
| - | 30 |
| - | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb |
| - | 21;heresatest=moooo |
| + | 40%CR |
| + | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%CR |
| + | 30%CR |
| + | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%CR |
| + | 21;heresatest=moooo%CR |
| cccccccccccccccccccccccccccccccc | |
| - | |
| - | 0 |
| - | |
| + | %CR |
| + | 0%CR |
| + | %CR |
| </data> | |
| <datacheck> | |
| HTTP/1.1 200 funky chunky! | |
| @@ -9,13 +9,13 @@ HTTP GET | |
| # Server-side | |
| <reply> | |
| <data nocheck="yes"> | |
| - | HTTP/1.1 200 funky chunky! |
| - | Server: fakeit/0.9 fakeitbad/1.0 |
| - | Transfer-Encoding: chunked |
| - | Trailer: chunky-trailer |
| - | Connection: mooo |
| - | ETag: "asdf" |
| - | |
| + | HTTP/1.1 200 funky chunky!%CR |
| + | Server: fakeit/0.9 fakeitbad/1.0%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Trailer: chunky-trailer%CR |
| + | Connection: mooo%CR |
| + | ETag: "asdf"%CR |
| + | %CR |
| 40 | |
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | |
| 30 | |
| @@ -9,23 +9,23 @@ HTTP GET | |
| # Server-side | |
| <reply> | |
| <data nocheck="yes"> | |
| - | HTTP/1.1 200 funky chunky! |
| - | Server: fakeit/0.9 fakeitbad/1.0 |
| - | Transfer-Encoding: chunked |
| - | Trailer: chunky-trailer |
| - | Connection: mooo |
| - | ETag: |
| - | |
| - | 40 |
| - | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
| - | 30 |
| - | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb |
| - | 21;heresatest=moooo |
| + | HTTP/1.1 200 funky chunky!%CR |
| + | Server: fakeit/0.9 fakeitbad/1.0%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Trailer: chunky-trailer%CR |
| + | Connection: mooo%CR |
| + | ETag: %CR |
| + | %CR |
| + | 40%CR |
| + | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%CR |
| + | 30%CR |
| + | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%CR |
| + | 21;heresatest=moooo%CR |
| cccccccccccccccccccccccccccccccc | |
| - | |
| - | 0 |
| - | chunky-trailer: header data |
| - | |
| + | %CR |
| + | 0%CR |
| + | chunky-trailer: header data%CR |
| + | %CR |
| </data> | |
| </reply> | |
| @@ -16,11 +16,11 @@ Server: fakeit/0.9 fakeitbad/1.0 | |
| Transfer-Encoding: chunked | |
| Connection: mooo | |
| - | 2 |
| + | 2%CR |
| a | |
| - | |
| - | ILLEGAL |
| - | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb |
| + | %CR |
| + | ILLEGAL%CR |
| + | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%CR |
| </data> | |
| <datacheck> | |
| HTTP/1.1 200 funky chunky! | |
| @@ -26,8 +26,8 @@ HTTP/1.1 200 Mighty fine indeed | |
| </connect> | |
| <datacheck> | |
| - | HTTP/1.1 200 Mighty fine indeed |
| - | |
| + | HTTP/1.1 200 Mighty fine indeed%CR |
| + | %CR |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Server: test-server/fake swsclose | |
| @@ -19,10 +19,10 @@ Transfer-Encoding: chunked | |
| Content-Type: text/html | |
| Funny-head: yesyes | |
| - | 10 |
| - | chunked data fun |
| - | 0 |
| - | |
| + | 10%CR |
| + | chunked data fun%CR |
| + | 0%CR |
| + | %CR |
| </data> | |
| <datacheck nonewline="yes"> | |
| HTTP/1.1 200 OK | |
| @@ -9,27 +9,27 @@ chunked Transfer-Encoding | |
| <reply> | |
| <data> | |
| - | HTTP/1.1 200 OK |
| - | Date: Thu, 22 Jul 2010 11:22:33 GMT |
| - | Connection: close |
| - | Content-Type: text/html |
| - | Transfer-Encoding: chunked |
| - | X-Control: swsclose |
| - | |
| - | 100 |
| + | HTTP/1.1 200 OK%CR |
| + | Date: Thu, 22 Jul 2010 11:22:33 GMT%CR |
| + | Connection: close%CR |
| + | Content-Type: text/html%CR |
| + | Transfer-Encoding: chunked%CR |
| + | X-Control: swsclose%CR |
| + | %CR |
| + | 100%CR |
| %repeat[255 x %00]% | |
| - | |
| - | 100 |
| + | %CR |
| + | 100%CR |
| %repeat[255 x %00]% | |
| - | |
| - | 100 |
| + | %CR |
| + | 100%CR |
| %repeat[255 x %00]% | |
| - | |
| - | 100 |
| + | %CR |
| + | 100%CR |
| %repeat[255 x %00]% | |
| - | |
| - | 0 |
| - | |
| + | %CR |
| + | 0%CR |
| + | %CR |
| </data> | |
| <datacheck crlf="headers"> | |
| @@ -46,66 +46,66 @@ foo | |
| ^(Content-Type: multipart/form-data;|-------).* | |
| </strip> | |
| <protocol> | |
| - | POST /we/want/%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Content-Length: 1234 |
| - | Content-Type: multipart/form-data; boundary=----------------------------24e78000bd32 |
| - | |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="name" |
| - | |
| - | daniel |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="tool" |
| - | |
| - | curl |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="str1" |
| - | |
| - | @literal |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="str2" |
| - | |
| - | <verbatim;type=xxx/yyy |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="file"; filename="fakerfile" |
| - | Content-Type: moo/foobar |
| - | |
| + | POST /we/want/%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Content-Length: 1234%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------24e78000bd32%CR |
| + | %CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="name"%CR |
| + | %CR |
| + | daniel%CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="tool"%CR |
| + | %CR |
| + | curl%CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="str1"%CR |
| + | %CR |
| + | @literal%CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="str2"%CR |
| + | %CR |
| + | <verbatim;type=xxx/yyy%CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="file"; filename="fakerfile"%CR |
| + | Content-Type: moo/foobar%CR |
| + | %CR |
| foo bar | |
| This is a bar foo | |
| bar | |
| foo | |
| - | |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="file2"; filename="test%TESTNUMBER.txt" |
| - | Content-Type: text/plain |
| - | |
| + | %CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="file2"; filename="test%TESTNUMBER.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| foo bar | |
| This is a bar foo | |
| bar | |
| foo | |
| - | |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="file3"; filename="f\\ak\\er,\an\d;.t%22xt" |
| - | Content-Type: mo/foo |
| - | |
| + | %CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="file3"; filename="f\\ak\\er,\an\d;.t%22xt"%CR |
| + | Content-Type: mo/foo%CR |
| + | %CR |
| foo bar | |
| This is a bar foo | |
| bar | |
| foo | |
| - | |
| - | ------------------------------24e78000bd32 |
| - | Content-Disposition: form-data; name="file4"; filename="A\AA%22%22\%22ZZZ" |
| - | Content-Type: text/plain |
| - | |
| + | %CR |
| + | ------------------------------24e78000bd32%CR |
| + | Content-Disposition: form-data; name="file4"; filename="A\AA%22%22\%22ZZZ"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| foo bar | |
| This is a bar foo | |
| bar | |
| foo | |
| - | |
| - | ------------------------------24e78000bd32-- |
| + | %CR |
| + | ------------------------------24e78000bd32--%CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -24,14 +24,14 @@ Content-Length: 1309 | |
| </data> | |
| <datacheck> | |
| - | HTTP/1.1 200 OK |
| - | Date: Mon, 29 Nov 2004 21:56:53 GMT |
| - | Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29 |
| - | Vary: Accept-Encoding |
| - | Content-Type: text/html; charset=ISO-8859-1 |
| - | Content-Encoding: zstd |
| - | Content-Length: 1309 |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | Date: Mon, 29 Nov 2004 21:56:53 GMT%CR |
| + | Server: Apache/1.3.31 (Debian GNU/Linux) mod_gzip/1.3.26.1a PHP/4.3.9-1 mod_ssl/2.8.20 OpenSSL/0.9.7d mod_perl/1.29%CR |
| + | Vary: Accept-Encoding%CR |
| + | Content-Type: text/html; charset=ISO-8859-1%CR |
| + | Content-Encoding: zstd%CR |
| + | Content-Length: 1309%CR |
| + | %CR |
| <?xml version="1.0" encoding="ISO-8859-1"?> | |
| <!DOCTYPE project-listing SYSTEM "http://freshmeat.net/backend/fm-projects-0.4.dtd"> | |
| <project-listing> | |
| @@ -42,15 +42,15 @@ Content-Length: 1309 | |
| <projectname_short>curl</projectname_short> | |
| <projectname_full>curl and libcurl</projectname_full> | |
| <desc_short>Command line tool and library for client-side URL transfers.</desc_short> | |
| - | <desc_full>curl and libcurl is a tool for transferring files |
| - | using URL syntax. It supports HTTP, HTTPS, FTP, |
| - | FTPS, DICT, TELNET, LDAP, FILE, and GOPHER, as |
| - | well as HTTP-post, HTTP-put, cookies, FTP upload, |
| - | resumed transfers, passwords, portnumbers, SSL |
| - | certificates, Kerberos, and proxies. It is powered |
| - | by libcurl, the client-side URL transfer library. |
| - | There are bindings to libcurl for over 20 |
| - | languages and environments. |
| + | <desc_full>curl and libcurl is a tool for transferring files%CR |
| + | using URL syntax. It supports HTTP, HTTPS, FTP,%CR |
| + | FTPS, DICT, TELNET, LDAP, FILE, and GOPHER, as%CR |
| + | well as HTTP-post, HTTP-put, cookies, FTP upload,%CR |
| + | resumed transfers, passwords, portnumbers, SSL%CR |
| + | certificates, Kerberos, and proxies. It is powered%CR |
| + | by libcurl, the client-side URL transfer library.%CR |
| + | There are bindings to libcurl for over 20%CR |
| + | languages and environments.%CR |
| </desc_full> | |
| <vitality_score>5784.57</vitality_score> | |
| <vitality_percent>3.16</vitality_percent> | |
| @@ -12,7 +12,7 @@ HTTP GET | |
| <data> | |
| HTTP/1.1 200 OK swsclose | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| - | Content-Length: |
| - | 6 |
| + | Content-Length: %CR-6 |
| Content-Type: text/html | |
| Funny-head: yesyes | |
| @@ -9,10 +9,10 @@ | |
| # Server-side | |
| <reply> | |
| <data> | |
| - | HTTP/1.1 200 OK |
| - | Content-Length: 6 |
| - | Content-Type: text/1 |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | Content-Length: 6%CR |
| + | Content-Type: text/1%CR |
| + | %CR |
| -foo- | |
| </data> | |
| </reply> | |
| @@ -46,30 +46,30 @@ bar | |
| ^(Content-Type: multipart/form-data;|------).* | |
| </strip> | |
| <protocol> | |
| - | POST /we/want/%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Content-Length: 432 |
| - | Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce |
| - | |
| - | ------------------------------7c633d5c27ce |
| - | Content-Disposition: form-data; name="name" |
| - | |
| - | daniel |
| - | ------------------------------7c633d5c27ce |
| - | Content-Disposition: form-data; name="tool" |
| - | |
| - | curl |
| - | ------------------------------7c633d5c27ce |
| - | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt" |
| - | Content-Type: text/plain |
| - | |
| + | POST /we/want/%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Content-Length: 432%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------7c633d5c27ce%CR |
| + | %CR |
| + | ------------------------------7c633d5c27ce%CR |
| + | Content-Disposition: form-data; name="name"%CR |
| + | %CR |
| + | daniel%CR |
| + | ------------------------------7c633d5c27ce%CR |
| + | Content-Disposition: form-data; name="tool"%CR |
| + | %CR |
| + | curl%CR |
| + | ------------------------------7c633d5c27ce%CR |
| + | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| foo- | |
| This is a moo- | |
| bar | |
| - | |
| - | ------------------------------7c633d5c27ce-- |
| + | %CR |
| + | ------------------------------7c633d5c27ce--%CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -15,16 +15,16 @@ Server: fakeit/0.9 fakeitbad/1.0 | |
| Transfer-Encoding: chunked | |
| Connection: mooo | |
| - | 40 |
| - | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
| - | 30 |
| - | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb |
| - | 21;heresatest=moooo |
| + | 40%CR |
| + | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%CR |
| + | 30%CR |
| + | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%CR |
| + | 21;heresatest=moooo%CR |
| cccccccccccccccccccccccccccccc | |
| c | |
| - | |
| - | 0 |
| - | |
| + | %CR |
| + | 0%CR |
| + | %CR |
| </data> | |
| <datacheck> | |
| HTTP/1.1 200 funky chunky! | |
| @@ -9,24 +9,24 @@ HTTP GET | |
| # Server-side | |
| <reply> | |
| <data nocheck="yes"> | |
| - | HTTP/1.1 301 funky chunky! |
| - | Server: fakeit/0.9 fakeitbad/1.0 |
| + | HTTP/1.1 301 funky chunky!%CR |
| + | Server: fakeit/0.9 fakeitbad/1.0%CR |
| Location: /redirected | |
| - | Transfer-Encoding: chunked |
| - | Trailer: chunky-trailer |
| - | Connection: mooo |
| - | ETag: W/"asdf" |
| - | |
| - | 40 |
| - | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
| - | 30 |
| - | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb |
| - | 21;heresatest=moooo |
| + | Transfer-Encoding: chunked%CR |
| + | Trailer: chunky-trailer%CR |
| + | Connection: mooo%CR |
| + | ETag: W/"asdf"%CR |
| + | %CR |
| + | 40%CR |
| + | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%CR |
| + | 30%CR |
| + | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%CR |
| + | 21;heresatest=moooo%CR |
| cccccccccccccccccccccccccccccccc | |
| - | |
| - | 0 |
| - | chunky-trailer: header data |
| - | |
| + | %CR |
| + | 0%CR |
| + | chunky-trailer: header data%CR |
| + | %CR |
| </data> | |
| </reply> | |
| @@ -29,8 +29,8 @@ ETag: "21025-dc7-39462498" | |
| </data> | |
| <datacheck> | |
| - | HTTP/1.1 200 Mighty fine indeed |
| - | |
| + | HTTP/1.1 200 Mighty fine indeed%CR |
| + | %CR |
| HTTP/1.1 200 OK swsclose | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Server: test-server/fake | |
| @@ -70,21 +70,21 @@ http://test.remote.example.com/path/%TESTNUMBER http://s1lly:pers0n@%HOSTIP:%HTT | |
| # Verify data after the test has been "shot" | |
| <verify> | |
| <protocol nonewline="yes"> | |
| - | POST http://test.remote.example.com/path/%TESTNUMBER HTTP/1.1 |
| - | Host: test.remote.example.com |
| - | Accept: */* |
| - | Proxy-Connection: Keep-Alive |
| - | Content-Length: 70000 |
| - | Content-Type: application/x-www-form-urlencoded |
| - | |
| - | %repeat[7000 x test data%00]%POST http://test.remote.example.com/path/%TESTNUMBER HTTP/1.1 |
| - | Host: test.remote.example.com |
| - | Proxy-Authorization: Digest username="s1lly", realm="something fun to read", nonce="%repeat[400 x A]%", uri="/path/%TESTNUMBER", response="be7aedc47d821b6d847c445ded782c43" |
| - | Accept: */* |
| - | Proxy-Connection: Keep-Alive |
| - | Content-Length: 70000 |
| - | Content-Type: application/x-www-form-urlencoded |
| - | |
| + | POST http://test.remote.example.com/path/%TESTNUMBER HTTP/1.1%CR |
| + | Host: test.remote.example.com%CR |
| + | Accept: */*%CR |
| + | Proxy-Connection: Keep-Alive%CR |
| + | Content-Length: 70000%CR |
| + | Content-Type: application/x-www-form-urlencoded%CR |
| + | %CR |
| + | %repeat[7000 x test data%00]%POST http://test.remote.example.com/path/%TESTNUMBER HTTP/1.1%CR |
| + | Host: test.remote.example.com%CR |
| + | Proxy-Authorization: Digest username="s1lly", realm="something fun to read", nonce="%repeat[400 x A]%", uri="/path/%TESTNUMBER", response="be7aedc47d821b6d847c445ded782c43"%CR |
| + | Accept: */*%CR |
| + | Proxy-Connection: Keep-Alive%CR |
| + | Content-Length: 70000%CR |
| + | Content-Type: application/x-www-form-urlencoded%CR |
| + | %CR |
| %repeat[7000 x test data%00]% | |
| </protocol> | |
| </verify> | |
| @@ -69,68 +69,68 @@ s/boundary=------------------------[A-Za-z0-9]*/boundary=----------------------- | |
| # 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: */* |
| - | Content-Length: 780 |
| - | Content-Type: multipart/form-data; boundary=---------------------------- |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="sendfile"; filename="postit2.c" |
| - | |
| + | POST /%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | Accept: */*%CR |
| + | Content-Length: 780%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------%CR |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="sendfile"; filename="postit2.c"%CR |
| + | %CR |
| this is what we post to the silly web server | |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="callbackdata" |
| - | |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="callbackdata"%CR |
| + | %CR |
| this is what we post to the silly web server | |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="filename" |
| - | |
| - | postit2.c |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="submit" |
| - | Content-Type: text/plain |
| - | |
| - | send |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="somename"; filename="somefile.txt" |
| - | Content-Type: text/plain |
| - | |
| - | blah blah |
| - | -------------------------------- |
| - | POST /%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | Accept: */* |
| - | Content-Length: 794 |
| - | Content-Type: multipart/form-data; boundary=---------------------------- |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="sendfile alternative"; filename="file name 2" |
| - | |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="filename"%CR |
| + | %CR |
| + | postit2.c%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="submit"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| + | send%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="somename"; filename="somefile.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| + | blah blah%CR |
| + | --------------------------------%CR |
| + | POST /%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | Accept: */*%CR |
| + | Content-Length: 794%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------%CR |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="sendfile alternative"; filename="file name 2"%CR |
| + | %CR |
| this is what we post to the silly web server | |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="callbackdata" |
| - | |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="callbackdata"%CR |
| + | %CR |
| this is what we post to the silly web server | |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="filename" |
| - | |
| - | postit2.c |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="submit" |
| - | Content-Type: text/plain |
| - | |
| - | send |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="somename"; filename="somefile.txt" |
| - | Content-Type: text/plain |
| - | |
| - | blah blah |
| - | -------------------------------- |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="filename"%CR |
| + | %CR |
| + | postit2.c%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="submit"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| + | send%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="somename"; filename="somefile.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| + | blah blah%CR |
| + | --------------------------------%CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -18,12 +18,12 @@ Cseq: 1 | |
| </data1> | |
| <data2> | |
| - | RTSP/1.0 200 OK |
| - | Server: RTSPD/libcurl-test |
| - | Cseq: 2 |
| - | Content-Length: 70 |
| - | Content-Type: application/sdp |
| - | |
| + | RTSP/1.0 200 OK%CR |
| + | Server: RTSPD/libcurl-test%CR |
| + | Cseq: 2%CR |
| + | Content-Length: 70%CR |
| + | Content-Type: application/sdp%CR |
| + | %CR |
| v=0 | |
| s=rtspd SDP | |
| i=A fake SDP reply | |
| @@ -22,13 +22,13 @@ Connection: close | |
| </data> | |
| <datacheck> | |
| [OPEN] counter: 1 | |
| - | HTTP/1.1 302 eat this! |
| - | Date: Tue, 09 Nov 2010 14:49:00 GMT |
| - | Server: test-server/fake |
| - | Location: this-is-the-first.html |
| - | Content-Length: 0 |
| - | Connection: close |
| - | |
| + | HTTP/1.1 302 eat this!%CR |
| + | Date: Tue, 09 Nov 2010 14:49:00 GMT%CR |
| + | Server: test-server/fake%CR |
| + | Location: this-is-the-first.html%CR |
| + | Content-Length: 0%CR |
| + | Connection: close%CR |
| + | %CR |
| [CLOSE] counter: 1 | |
| </datacheck> | |
| </reply> | |
| @@ -21,18 +21,18 @@ Content-Type: text/html | |
| -foo- | |
| </data> | |
| <data1> | |
| - | HTTP/1.1 200 OK |
| - | Date: Tue, 09 Nov 2010 14:49:00 GMT |
| - | Server: test-server/fake |
| - | Transfer-Encoding: chunked |
| - | Connection: close |
| - | Content-Type: text/html |
| - | |
| - | 32 |
| + | HTTP/1.1 200 OK%CR |
| + | Date: Tue, 09 Nov 2010 14:49:00 GMT%CR |
| + | Server: test-server/fake%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Connection: close%CR |
| + | Content-Type: text/html%CR |
| + | %CR |
| + | 32%CR |
| this data is slightly larger than the first piece | |
| - | |
| - | 0 |
| - | |
| + | %CR |
| + | 0%CR |
| + | %CR |
| </data1> | |
| <datacheck crlf="headers"> | |
| @@ -38,19 +38,19 @@ more than one byte | |
| # Verify data after the test has been "shot" | |
| <verify> | |
| <protocol> | |
| - | PUT /bzz/%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Transfer-Encoding: chunked |
| - | Content-Length: 1 |
| - | Expect: 100-continue |
| - | |
| - | 13 |
| + | PUT /bzz/%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Content-Length: 1%CR |
| + | Expect: 100-continue%CR |
| + | %CR |
| + | 13%CR |
| more than one byte | |
| - | |
| - | 0 |
| - | |
| + | %CR |
| + | 0%CR |
| + | %CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -69,66 +69,66 @@ s/boundary=------------------------[A-Za-z0-9]*/boundary=----------------------- | |
| # 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: */* |
| - | Content-Length: 676 |
| - | Content-Type: multipart/form-data; boundary=---------------------------- |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="sendfile"; filename="postit2.c" |
| - | |
| + | POST /%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | Accept: */*%CR |
| + | Content-Length: 676%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------%CR |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="sendfile"; filename="postit2.c"%CR |
| + | %CR |
| dummy | |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="callbackdata" |
| - | |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="callbackdata"%CR |
| + | %CR |
| dummy | |
| - | |
| - | ------------------------------ |
| - | 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 |
| - | -------------------------------- |
| - | POST /%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | Accept: */* |
| - | Content-Length: 690 |
| - | Content-Type: multipart/form-data; boundary=---------------------------- |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="sendfile alternative"; filename="file name 2" |
| - | |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="filename"%CR |
| + | %CR |
| + | postit2.c%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="submit"%CR |
| + | %CR |
| + | send%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="somename"; filename="somefile.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| + | blah blah%CR |
| + | --------------------------------%CR |
| + | POST /%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | Accept: */*%CR |
| + | Content-Length: 690%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------%CR |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="sendfile alternative"; filename="file name 2"%CR |
| + | %CR |
| dummy | |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="callbackdata" |
| - | |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="callbackdata"%CR |
| + | %CR |
| dummy | |
| - | |
| - | ------------------------------ |
| - | 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 |
| - | -------------------------------- |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="filename"%CR |
| + | %CR |
| + | postit2.c%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="submit"%CR |
| + | %CR |
| + | send%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="somename"; filename="somefile.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| + | blah blah%CR |
| + | --------------------------------%CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -69,128 +69,128 @@ s/boundary=------------------------[A-Za-z0-9]*/boundary=----------------------- | |
| # 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 |
| - | |
| - | 7c |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="sendfile"; filename="postit2.c" |
| - | |
| - | d |
| - | 1 |
| - | u |
| - | 1 |
| - | m |
| - | 1 |
| - | m |
| - | 1 |
| - | y |
| - | 1 |
| + | POST /%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | Accept: */*%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------%CR |
| + | Expect: 100-continue%CR |
| + | %CR |
| + | 7c%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="sendfile"; filename="postit2.c"%CR |
| + | %CR |
| + | d%CR |
| + | 1%CR |
| + | u%CR |
| + | 1%CR |
| + | m%CR |
| + | 1%CR |
| + | m%CR |
| + | 1%CR |
| + | y%CR |
| + | 1%CR |
| - | |
| - | 6b |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="callbackdata" |
| - | |
| - | |
| - | 1 |
| - | d |
| - | 1 |
| - | u |
| - | 1 |
| - | m |
| - | 1 |
| - | m |
| - | 1 |
| - | y |
| - | 1 |
| + | %CR |
| + | 6b%CR |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="callbackdata"%CR |
| + | %CR |
| + | %CR |
| + | 1%CR |
| + | d%CR |
| + | 1%CR |
| + | u%CR |
| + | 1%CR |
| + | m%CR |
| + | 1%CR |
| + | m%CR |
| + | 1%CR |
| + | y%CR |
| + | 1%CR |
| - | |
| - | 1b2 |
| - | |
| - | ------------------------------ |
| - | 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 |
| - | |
| - | 8a |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="sendfile alternative"; filename="file name 2" |
| - | |
| - | d |
| - | 1 |
| - | u |
| - | 1 |
| - | m |
| - | 1 |
| - | m |
| - | 1 |
| - | y |
| - | 1 |
| + | %CR |
| + | 1b2%CR |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="filename"%CR |
| + | %CR |
| + | postit2.c%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="submit"%CR |
| + | %CR |
| + | send%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="somename"; filename="somefile.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| + | blah blah%CR |
| + | --------------------------------%CR |
| + | %CR |
| + | 0%CR |
| + | %CR |
| + | POST /%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | Accept: */*%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------%CR |
| + | Expect: 100-continue%CR |
| + | %CR |
| + | 8a%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="sendfile alternative"; filename="file name 2"%CR |
| + | %CR |
| + | d%CR |
| + | 1%CR |
| + | u%CR |
| + | 1%CR |
| + | m%CR |
| + | 1%CR |
| + | m%CR |
| + | 1%CR |
| + | y%CR |
| + | 1%CR |
| - | |
| - | 6b |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="callbackdata" |
| - | |
| - | |
| - | 1 |
| - | d |
| - | 1 |
| - | u |
| - | 1 |
| - | m |
| - | 1 |
| - | m |
| - | 1 |
| - | y |
| - | 1 |
| + | %CR |
| + | 6b%CR |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="callbackdata"%CR |
| + | %CR |
| + | %CR |
| + | 1%CR |
| + | d%CR |
| + | 1%CR |
| + | u%CR |
| + | 1%CR |
| + | m%CR |
| + | 1%CR |
| + | m%CR |
| + | 1%CR |
| + | y%CR |
| + | 1%CR |
| - | |
| - | 1b2 |
| - | |
| - | ------------------------------ |
| - | 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 |
| - | |
| + | %CR |
| + | 1b2%CR |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="filename"%CR |
| + | %CR |
| + | postit2.c%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="submit"%CR |
| + | %CR |
| + | send%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="somename"; filename="somefile.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| + | blah blah%CR |
| + | --------------------------------%CR |
| + | %CR |
| + | 0%CR |
| + | %CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -39,7 +39,7 @@ It may contain any type of data. | |
| </file1> | |
| <file2 name="%LOGDIR/headers%TESTNUMBER"> | |
| # This line is a comment | |
| - | X-fileheader1: This is a header from a file%SP |
| + | X-fileheader1: This is a header from a file%SP%CR |
| # This line is another comment. It precedes a folded header. | |
| X-fileheader2: This is #a | |
| @@ -62,40 +62,40 @@ DATA | |
| QUIT | |
| </protocol> | |
| <upload> | |
| - | Content-Type: multipart/mixed; boundary=---------------------------- |
| - | Mime-Version: 1.0 |
| - | From: different |
| - | To: another |
| - | Reply-To: <[email protected]> |
| - | |
| - | ------------------------------ |
| - | Content-Type: multipart/alternative; boundary=---------------------------- |
| - | |
| - | ------------------------------ |
| - | Content-Type: text/html |
| - | Content-Transfer-Encoding: 8bit |
| - | X-test1: this is a header |
| - | X-test2: this is another header |
| - | |
| - | <body>This is the html version</body> |
| - | ------------------------------ |
| - | X-fileheader1: This is a header from a file |
| - | X-fileheader2: This is #a folded header |
| - | |
| - | This is the plain text version |
| - | -------------------------------- |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: attachment; filename="test%TESTNUMBER.txt" |
| - | X-fileheader1: This is a header from a file |
| - | X-fileheader2: This is #a folded header |
| - | |
| + | Content-Type: multipart/mixed; boundary=----------------------------%CR |
| + | Mime-Version: 1.0%CR |
| + | From: different%CR |
| + | To: another%CR |
| + | Reply-To: <[email protected]>%CR |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Type: multipart/alternative; boundary=----------------------------%CR |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Type: text/html%CR |
| + | Content-Transfer-Encoding: 8bit%CR |
| + | X-test1: this is a header%CR |
| + | X-test2: this is another header%CR |
| + | %CR |
| + | <body>This is the html version</body>%CR |
| + | ------------------------------%CR |
| + | X-fileheader1: This is a header from a file%CR |
| + | X-fileheader2: This is #a folded header%CR |
| + | %CR |
| + | This is the plain text version%CR |
| + | --------------------------------%CR |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: attachment; filename="test%TESTNUMBER.txt"%CR |
| + | X-fileheader1: This is a header from a file%CR |
| + | X-fileheader2: This is #a folded header%CR |
| + | %CR |
| This is an attached file. | |
| It may contain any type of data. | |
| - | |
| - | -------------------------------- |
| - | . |
| + | %CR |
| + | --------------------------------%CR |
| + | .%CR |
| </upload> | |
| </verify> | |
| </testcase> | |
| @@ -49,35 +49,35 @@ A003 APPEND %TESTNUMBER (\Seen) {940} | |
| A004 LOGOUT | |
| </protocol> | |
| <upload> | |
| - | Content-Type: multipart/mixed; boundary=---------------------------- |
| - | Mime-Version: 1.0 |
| - | Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST) |
| - | From: Fred Foobar <[email protected]> |
| - | To: [email protected] |
| - | Message-Id: <[email protected]> |
| - | Subject: afternoon meeting |
| - | |
| - | ------------------------------ |
| - | Content-Type: multipart/alternative; boundary=---------------------------- |
| - | |
| - | ------------------------------ |
| - | Content-Type: text/html |
| - | Content-Transfer-Encoding: 8bit |
| - | |
| - | <body>This is the html version</body> |
| - | ------------------------------ |
| - | |
| - | This is the plain text version |
| - | -------------------------------- |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: attachment; filename="test%TESTNUMBER.txt" |
| - | |
| + | Content-Type: multipart/mixed; boundary=----------------------------%CR |
| + | Mime-Version: 1.0%CR |
| + | Date: Mon, 7 Feb 1994 21:52:25 -0800 (PST)%CR |
| + | From: Fred Foobar <[email protected]>%CR |
| + | To: [email protected]%CR |
| + | Message-Id: <[email protected]>%CR |
| + | Subject: afternoon meeting%CR |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Type: multipart/alternative; boundary=----------------------------%CR |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Type: text/html%CR |
| + | Content-Transfer-Encoding: 8bit%CR |
| + | %CR |
| + | <body>This is the html version</body>%CR |
| + | ------------------------------%CR |
| + | %CR |
| + | This is the plain text version%CR |
| + | --------------------------------%CR |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: attachment; filename="test%TESTNUMBER.txt"%CR |
| + | %CR |
| This is an attached file. | |
| It may contain any type of data. | |
| - | |
| - | -------------------------------- |
| + | %CR |
| + | --------------------------------%CR |
| </upload> | |
| </verify> | |
| </testcase> | |
| @@ -70,150 +70,150 @@ s/boundary=------------------------[A-Za-z0-9]*/boundary=----------------------- | |
| # 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 |
| - | |
| - | 385 |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="fieldname" |
| - | Content-Type: text/plain |
| - | X-customheader-1: Header 1 data |
| - | X-customheader-2: Header 2 data |
| - | |
| - | this is what we post to the silly web server |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="fieldnam" |
| - | |
| - | uhis is what we post to the silly web serve |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="multifile" |
| - | Content-Type: multipart/mixed; boundary=---------------------------- |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: attachment; filename="test%TESTNUMBER.filedata" |
| - | Content-Type: application/octet-stream |
| - | |
| + | POST /%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | Accept: */*%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------%CR |
| + | Expect: 100-continue%CR |
| + | %CR |
| + | 385%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="fieldname"%CR |
| + | Content-Type: text/plain%CR |
| + | X-customheader-1: Header 1 data%CR |
| + | X-customheader-2: Header 2 data%CR |
| + | %CR |
| + | this is what we post to the silly web server%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="fieldnam"%CR |
| + | %CR |
| + | uhis is what we post to the silly web serve%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="multifile"%CR |
| + | Content-Type: multipart/mixed; boundary=----------------------------%CR |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"%CR |
| + | Content-Type: application/octet-stream%CR |
| + | %CR |
| This is data from a file. | |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: attachment; filename="test%TESTNUMBER.filedata" |
| - | Content-Type: text/whatever |
| - | |
| - | |
| - | ab |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"%CR |
| + | Content-Type: text/whatever%CR |
| + | %CR |
| + | %CR |
| + | ab%CR |
| This is data from a file. | |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: attachment; filename="test%TESTNUMBER.filedata" |
| - | Content-Type: text/whatever |
| - | |
| - | |
| - | bb |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"%CR |
| + | Content-Type: text/whatever%CR |
| + | %CR |
| + | %CR |
| + | bb%CR |
| This is data from a file. | |
| - | |
| - | -------------------------------- |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="filecontents" |
| - | |
| - | |
| - | 11b |
| + | %CR |
| + | --------------------------------%CR |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="filecontents"%CR |
| + | %CR |
| + | %CR |
| + | 11b%CR |
| This is data from a file. | |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="formlength" |
| - | |
| - | 1433 |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="standardinput" |
| - | Content-Type: application/octet-stream |
| - | |
| - | |
| - | 16 |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="formlength"%CR |
| + | %CR |
| + | 1433%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="standardinput"%CR |
| + | Content-Type: application/octet-stream%CR |
| + | %CR |
| + | %CR |
| + | 16%CR |
| Some data from stdin | |
| - | |
| - | 36 |
| - | |
| - | -------------------------------- |
| - | |
| - | 0 |
| - | |
| - | POST /%TESTNUMBER0002 HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | Accept: */* |
| - | Transfer-Encoding: chunked |
| - | Content-Type: multipart/form-data; boundary=---------------------------- |
| - | Expect: 100-continue |
| - | |
| - | 385 |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="fieldname" |
| - | Content-Type: text/plain |
| - | X-customheader-1: Header 1 data |
| - | X-customheader-2: Header 2 data |
| - | |
| - | this is what we post to the silly web server |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="fieldnam" |
| - | |
| - | uhis is what we post to the silly web serve |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="multifile" |
| - | Content-Type: multipart/mixed; boundary=---------------------------- |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: attachment; filename="test%TESTNUMBER.filedata" |
| - | Content-Type: application/octet-stream |
| - | |
| + | %CR |
| + | 36%CR |
| + | %CR |
| + | --------------------------------%CR |
| + | %CR |
| + | 0%CR |
| + | %CR |
| + | POST /%TESTNUMBER0002 HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | Accept: */*%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------%CR |
| + | Expect: 100-continue%CR |
| + | %CR |
| + | 385%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="fieldname"%CR |
| + | Content-Type: text/plain%CR |
| + | X-customheader-1: Header 1 data%CR |
| + | X-customheader-2: Header 2 data%CR |
| + | %CR |
| + | this is what we post to the silly web server%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="fieldnam"%CR |
| + | %CR |
| + | uhis is what we post to the silly web serve%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="multifile"%CR |
| + | Content-Type: multipart/mixed; boundary=----------------------------%CR |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"%CR |
| + | Content-Type: application/octet-stream%CR |
| + | %CR |
| This is data from a file. | |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: attachment; filename="test%TESTNUMBER.filedata" |
| - | Content-Type: text/whatever |
| - | |
| - | |
| - | ab |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"%CR |
| + | Content-Type: text/whatever%CR |
| + | %CR |
| + | %CR |
| + | ab%CR |
| This is data from a file. | |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: attachment; filename="test%TESTNUMBER.filedata" |
| - | Content-Type: text/whatever |
| - | |
| - | |
| - | bb |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: attachment; filename="test%TESTNUMBER.filedata"%CR |
| + | Content-Type: text/whatever%CR |
| + | %CR |
| + | %CR |
| + | bb%CR |
| This is data from a file. | |
| - | |
| - | -------------------------------- |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="filecontents" |
| - | |
| - | |
| - | 11b |
| + | %CR |
| + | --------------------------------%CR |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="filecontents"%CR |
| + | %CR |
| + | %CR |
| + | 11b%CR |
| This is data from a file. | |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="formlength" |
| - | |
| - | 1433 |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="standardinput" |
| - | Content-Type: application/octet-stream |
| - | |
| - | |
| - | 16 |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="formlength"%CR |
| + | %CR |
| + | 1433%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="standardinput"%CR |
| + | Content-Type: application/octet-stream%CR |
| + | %CR |
| + | %CR |
| + | 16%CR |
| Some data from stdin | |
| - | |
| - | 36 |
| - | |
| - | -------------------------------- |
| - | |
| - | 0 |
| - | |
| + | %CR |
| + | 36%CR |
| + | %CR |
| + | --------------------------------%CR |
| + | %CR |
| + | 0%CR |
| + | %CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -72,55 +72,55 @@ s/boundary=------------------------[A-Za-z0-9]*/boundary=----------------------- | |
| # 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: */* |
| - | Content-Length: 0 |
| - | |
| - | POST /%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | Accept: */* |
| - | Transfer-Encoding: chunked |
| - | Content-Type: multipart/form-data; boundary=---------------------------- |
| - | Expect: 100-continue |
| - | |
| - | 1c1 |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="greeting" |
| - | Content-Type: application/X-Greeting |
| - | Content-Transfer-Encoding: base64 |
| - | X-Test-Number: %TESTNUMBER |
| - | |
| - | aGVsbG8= |
| - | ------------------------------ |
| - | Content-Disposition: form-data; filename="file%TESTNUMBER.txt" |
| - | Content-Type: text/plain |
| - | |
| + | POST /%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | Accept: */*%CR |
| + | Content-Length: 0%CR |
| + | %CR |
| + | POST /%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | Accept: */*%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------%CR |
| + | Expect: 100-continue%CR |
| + | %CR |
| + | 1c1%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="greeting"%CR |
| + | Content-Type: application/X-Greeting%CR |
| + | Content-Transfer-Encoding: base64%CR |
| + | X-Test-Number: %TESTNUMBER%CR |
| + | %CR |
| + | aGVsbG8=%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; filename="file%TESTNUMBER.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| This is data from a file | |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: form-data |
| - | |
| - | |
| - | 1 |
| - | d |
| - | 1 |
| - | u |
| - | 1 |
| - | m |
| - | 1 |
| - | m |
| - | 1 |
| - | y |
| - | 1 |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data%CR |
| + | %CR |
| + | %CR |
| + | 1%CR |
| + | d%CR |
| + | 1%CR |
| + | u%CR |
| + | 1%CR |
| + | m%CR |
| + | 1%CR |
| + | m%CR |
| + | 1%CR |
| + | y%CR |
| + | 1%CR |
| - | |
| - | 36 |
| - | |
| - | -------------------------------- |
| - | |
| - | 0 |
| - | |
| + | %CR |
| + | 36%CR |
| + | %CR |
| + | --------------------------------%CR |
| + | %CR |
| + | 0%CR |
| + | %CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -58,17 +58,17 @@ s/^--------------------------[A-Za-z0-9]*/------------------------------/ | |
| s/boundary=------------------------[A-Za-z0-9]*/boundary=----------------------------/ | |
| </strippart> | |
| <protocol> | |
| - | POST /%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | Accept: */* |
| - | Content-Length: 17237 |
| - | Content-Type: multipart/form-data; boundary=---------------------------- |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="upfile"; filename="myfile.txt" |
| - | Content-Type: text/plain |
| - | Content-Transfer-Encoding: binary |
| - | |
| + | POST /%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | Accept: */*%CR |
| + | Content-Length: 17237%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------%CR |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="upfile"; filename="myfile.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | Content-Transfer-Encoding: binary%CR |
| + | %CR |
| ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWX | |
| ZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVW | |
| YZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUV | |
| @@ -289,8 +289,8 @@ STUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOP | |
| RSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNO | |
| QRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMN | |
| PQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLM | |
| - | OPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUV |
| - | -------------------------------- |
| + | OPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUV%CR |
| + | --------------------------------%CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -65,38 +65,38 @@ s/boundary=------------------------[A-Za-z0-9]*/boundary=----------------------- | |
| # 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 |
| - | |
| - | cd |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="field1" |
| - | |
| - | dummy |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="field2" |
| - | |
| - | |
| - | 5 |
| - | dummy |
| - | 97 |
| - | |
| - | ------------------------------ |
| - | Content-Disposition: form-data; name="field3"; filename="file%TESTNUMBER.txt" |
| - | Content-Type: text/plain |
| - | |
| - | |
| - | 4f |
| + | POST /%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | Accept: */*%CR |
| + | Transfer-Encoding: chunked%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------%CR |
| + | Expect: 100-continue%CR |
| + | %CR |
| + | cd%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="field1"%CR |
| + | %CR |
| + | dummy%CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="field2"%CR |
| + | %CR |
| + | %CR |
| + | 5%CR |
| + | dummy%CR |
| + | 97%CR |
| + | %CR |
| + | ------------------------------%CR |
| + | Content-Disposition: form-data; name="field3"; filename="file%TESTNUMBER.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| + | %CR |
| + | 4f%CR |
| This is data from a file | |
| - | |
| - | -------------------------------- |
| - | |
| - | 0 |
| - | |
| + | %CR |
| + | --------------------------------%CR |
| + | %CR |
| + | 0%CR |
| + | %CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -53,29 +53,29 @@ bar | |
| ^(Content-Type: multipart/form-data;|------------).* | |
| </strip> | |
| <protocol> | |
| - | POST /we/want/%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | Accept: */* |
| - | Content-Length: 432 |
| - | Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763 |
| - | |
| - | ------------------------------9ef8d6205763 |
| - | Content-Disposition: form-data; name="name" |
| - | |
| - | daniel |
| - | ------------------------------9ef8d6205763 |
| - | Content-Disposition: form-data; name="tool" |
| - | |
| - | curl |
| - | ------------------------------9ef8d6205763 |
| - | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt" |
| - | Content-Type: text/plain |
| - | |
| + | POST /we/want/%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | Accept: */*%CR |
| + | Content-Length: 432%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763%CR |
| + | %CR |
| + | ------------------------------9ef8d6205763%CR |
| + | Content-Disposition: form-data; name="name"%CR |
| + | %CR |
| + | daniel%CR |
| + | ------------------------------9ef8d6205763%CR |
| + | Content-Disposition: form-data; name="tool"%CR |
| + | %CR |
| + | curl%CR |
| + | ------------------------------9ef8d6205763%CR |
| + | Content-Disposition: form-data; name="file"; filename="test%TESTNUMBER.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| foo- | |
| This is a moo- | |
| bar | |
| - | |
| - | ------------------------------9ef8d6205763-- |
| + | %CR |
| + | ------------------------------9ef8d6205763--%CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -25,8 +25,8 @@ HTTP/1.1 200 Mighty fine indeed | |
| </connect> | |
| <datacheck> | |
| - | HTTP/1.1 200 Mighty fine indeed |
| - | |
| + | HTTP/1.1 200 Mighty fine indeed%CR |
| + | %CR |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Server: test-server/fake swsclose | |
| @@ -63,9 +63,9 @@ test-duphandle | |
| <verify> | |
| <stdout> | |
| - | HTTP/1.1 200 OK |
| - | Server: fake |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | Server: fake%CR |
| + | %CR |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Server: test-server/fake swsclose | |
| @@ -65,9 +65,9 @@ test-duphandle | |
| <verify> | |
| <stdout> | |
| - | HTTP/1.1 200 OK |
| - | Server: fake |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | Server: fake%CR |
| + | %CR |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Server: test-server/fake swsclose | |
| @@ -65,9 +65,9 @@ test-duphandle | |
| <verify> | |
| <stdout> | |
| - | HTTP/1.1 200 OK |
| - | Server: fake |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | Server: fake%CR |
| + | %CR |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Server: test-server/fake swsclose | |
| @@ -65,9 +65,9 @@ test-duphandle | |
| <verify> | |
| <stdout> | |
| - | HTTP/1.1 200 OK |
| - | Server: fake |
| - | |
| + | HTTP/1.1 200 OK%CR |
| + | Server: fake%CR |
| + | %CR |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Server: test-server/fake swsclose | |
| @@ -29,8 +29,8 @@ HTTP/1.1 200 Mighty fine indeed | |
| </connect> | |
| <datacheck> | |
| - | HTTP/1.1 200 Mighty fine indeed |
| - | |
| + | HTTP/1.1 200 Mighty fine indeed%CR |
| + | %CR |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Server: test-server/fake swsclose | |
| @@ -26,8 +26,8 @@ HTTP/1.1 200 Mighty fine indeed | |
| </connect> | |
| <datacheck> | |
| - | HTTP/1.1 200 Mighty fine indeed |
| - | |
| + | HTTP/1.1 200 Mighty fine indeed%CR |
| + | %CR |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Server: test-server/fake swsclose | |
| @@ -46,30 +46,30 @@ bar | |
| ^(Content-Type: multipart/form-data;|------------).* | |
| </strip> | |
| <protocol> | |
| - | POST /we/want/%TESTNUMBER HTTP/1.1 |
| - | Host: %HOSTIP:%HTTPPORT |
| - | User-Agent: curl/%VERSION |
| - | Accept: */* |
| - | Content-Length: 431 |
| - | Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763 |
| - | |
| - | ------------------------------9ef8d6205763 |
| - | Content-Disposition: form-data; name="name" |
| - | |
| - | daniel |
| - | ------------------------------9ef8d6205763 |
| - | Content-Disposition: form-data; name="tool" |
| - | |
| - | curl |
| - | ------------------------------9ef8d6205763 |
| - | Content-Disposition: form-data; name="file"; filename="test9.txt" |
| - | Content-Type: text/plain |
| - | |
| + | POST /we/want/%TESTNUMBER HTTP/1.1%CR |
| + | Host: %HOSTIP:%HTTPPORT%CR |
| + | User-Agent: curl/%VERSION%CR |
| + | Accept: */*%CR |
| + | Content-Length: 431%CR |
| + | Content-Type: multipart/form-data; boundary=----------------------------9ef8d6205763%CR |
| + | %CR |
| + | ------------------------------9ef8d6205763%CR |
| + | Content-Disposition: form-data; name="name"%CR |
| + | %CR |
| + | daniel%CR |
| + | ------------------------------9ef8d6205763%CR |
| + | Content-Disposition: form-data; name="tool"%CR |
| + | %CR |
| + | curl%CR |
| + | ------------------------------9ef8d6205763%CR |
| + | Content-Disposition: form-data; name="file"; filename="test9.txt"%CR |
| + | Content-Type: text/plain%CR |
| + | %CR |
| foo- | |
| This is a moo- | |
| bar | |
| - | |
| - | ------------------------------9ef8d6205763-- |
| + | %CR |
| + | ------------------------------9ef8d6205763--%CR |
| </protocol> | |
| </verify> | |
| </testcase> | |
| @@ -20,10 +20,10 @@ smtp | |
| SMTP | |
| </name> | |
| <file name="%LOGDIR/mail%TESTNUMBER"> | |
| - | From: different |
| - | To: another |
| - | |
| - | body |
| + | From: different%CR |
| + | To: another%CR |
| + | %CR |
| + | body%CR |
| %repeat[6553 x 0123456789]% | |
| </file> | |
| @@ -43,13 +43,13 @@ DATA | |
| QUIT | |
| </protocol> | |
| <upload> | |
| - | From: different |
| - | To: another |
| - | |
| - | body |
| + | From: different%CR |
| + | To: another%CR |
| + | %CR |
| + | body%CR |
| %repeat[6553 x 0123456789]% | |
| - | |
| - | . |
| + | %CR |
| + | .%CR |
| </upload> | |
| </verify> | |
| </testcase> | |
| @@ -26,8 +26,8 @@ HTTP/1.1 200 Mighty fine indeed | |
| </connect> | |
| <datacheck> | |
| - | HTTP/1.1 200 Mighty fine indeed |
| - | |
| + | HTTP/1.1 200 Mighty fine indeed%CR |
| + | %CR |
| HTTP/1.1 200 OK | |
| Date: Tue, 09 Nov 2010 14:49:00 GMT | |
| Server: test-server/fake swsclose | |
| @@ -33,6 +33,7 @@ BEGIN { | |
| our @EXPORT = qw( | |
| compareparts | |
| fulltest | |
| + | checktest |
| getpart | |
| getpartattr | |
| loadarray | |
| @@ -250,6 +251,18 @@ sub fulltest { | |
| return @xml; | |
| } | |
| + | sub checktest { |
| + | my $anyerr = 0; |
| + | |
| + | for my $i (0 .. $#xml) { |
| + | if(index($xml[$i], "\r") >= 0) { |
| + | print STDERR "*** getpart.pm: $xmlfile:$i: 0x0d carriage return found. Use %CR macro instead.\n"; |
| + | $anyerr = 1; |
| + | } |
| + | } |
| + | return $anyerr; |
| + | } |
| + | |
| # write the test to the given file | |
| sub savetest { | |
| my ($file)=@_; | |
| @@ -73,6 +73,7 @@ BEGIN { | |
| %keywords | |
| @protocols | |
| $dev_null | |
| + | $checktests |
| ); | |
| } | |
| use pathhelp qw( | |
| @@ -94,6 +95,7 @@ our $torture; # 1 to enable torture testing | |
| our $proxy_address; # external HTTP proxy address | |
| our $listonly; # only list the tests | |
| our $buildinfo; # dump buildinfo.txt | |
| + | our $checktests; # 1 to run a check on test data |
| our $run_duphandle; # run curl with --test-duphandle to verify handle duplication | |
| our $run_event_based; # run curl with --test-event to test the event API | |
| our $automakestyle; # use automake-like test status output format | |
| @@ -1148,6 +1148,15 @@ sub singletest_postcheck { | |
| } | |
| } | |
| } | |
| + | |
| + | if($checktests) { |
| + | loadtest("${TESTDIR}/test${testnum}"); # load the raw original data |
| + | if(checktest()) { |
| + | logmsg " $testnum: postcheck FAILED: issue(s) found in test data\n"; |
| + | return -1; |
| + | } |
| + | } |
| + | |
| return 0; | |
| } | |
| @@ -1191,6 +1191,10 @@ sub singletest_shouldrun { | |
| } | |
| } | |
| + | if($why && $checktests && checktest()) { |
| + | logmsg "Warning: issue(s) found in test data: ${TESTDIR}/test${testnum}\n"; |
| + | } |
| + | |
| return ($why, $errorreturncode); | |
| } | |
| @@ -2420,6 +2424,10 @@ while(@ARGV) { | |
| # execute in scrambled order | |
| $scrambleorder=1; | |
| } | |
| + | elsif($ARGV[0] eq "-w") { |
| + | # verify test data |
| + | $checktests=1; |
| + | } |
| elsif($ARGV[0] =~ /^-t(.*)/) { | |
| # torture | |
| $torture=1; | |
| @@ -2563,6 +2571,7 @@ Usage: runtests.pl [options] [test selection(s)] | |
| -u error instead of warning on server unexpectedly alive | |
| -v verbose output | |
| -vc path use this curl only to verify the existing servers | |
| + | -w check test data |
| [num] like "5 6 9" or " 5 to 22 " to run those tests only | |
| [!num] like "!5 !6 !9" to disable those tests | |
| [~num] like "~5 ~6 ~9" to ignore the result of those tests | |
| @@ -149,6 +149,7 @@ sub subbase64 { | |
| $$thing =~ s/%SP/ /g; # space | |
| $$thing =~ s/%TAB/\t/g; # horizontal tab | |
| + | $$thing =~ s/%CR/\r/g; # carriage return aka \r aka 0x0d |
| # include a file | |
| $$thing =~ s/%include ([^%]*)%[\n\r]+/includefile($1)/ge; | |