Updated cURL version.
This commit is contained in:
@@ -37,9 +37,9 @@ which are treated together as a single identifier.
|
||||
</info>
|
||||
|
||||
<reply>
|
||||
<data [nocheck="1"] [sendzero="yes"] [base64="yes"]>
|
||||
<data [nocheck="yes"] [sendzero="yes"] [base64="yes"]>
|
||||
data to be sent to the client on its request and later verified that it arrived
|
||||
safely. Set nocheck="1" to prevent the test script from verifying the arrival
|
||||
safely. Set nocheck="yes" to prevent the test script from verifying the arrival
|
||||
of this data.
|
||||
|
||||
If the data contains 'swsclose' anywhere within the start and end tag, and
|
||||
@@ -67,6 +67,13 @@ of [test case number]%10000.
|
||||
B) The request was HTTP and included digest details, which adds 1000 to NUM
|
||||
C) If a HTTP request is NTLM type-1, it adds 1001 to num
|
||||
D) If a HTTP request is NTLM type-3, it adds 1002 to num
|
||||
E) If a HTTP request is Basic and num is already >=1000, it adds 1 to num
|
||||
|
||||
Dynamically changing num in this way allows the test harness to be used to
|
||||
test authentication negotiation where several different requests must be sent
|
||||
to complete a transfer. The response to each request is found in its own data
|
||||
section. Validating the entire negotiation sequence can be done by
|
||||
specifying a datacheck section.
|
||||
</dataNUM>
|
||||
<datacheck [nonewline="yes"]>
|
||||
if the data is sent but this is what should be checked afterwards. If
|
||||
@@ -90,7 +97,7 @@ wait [secs]
|
||||
</postcmd>
|
||||
<servercmd>
|
||||
Special-commands for the server.
|
||||
For FTP, these are supported:
|
||||
For FTP/SMTP/POP/IMAP, these are supported:
|
||||
|
||||
REPLY [command] [return value] [response string]
|
||||
- Changes how the server responds to the [command]. [response string] is
|
||||
@@ -117,10 +124,19 @@ auth_required if this is set and a POST/PUT is made without auth, the
|
||||
server will NOT wait for the full request body to get sent
|
||||
idle do nothing after receiving the request, just "sit idle"
|
||||
stream continuously send data to the client, never-ending
|
||||
writedelay: [secs] delay this amount between reply packets
|
||||
pipe: [num] tell the server to expect this many HTTP requests before
|
||||
sending back anything, to allow pipelining tests
|
||||
skip: [num] instructs the server to ignore reading this many bytes from a PUT
|
||||
or POST request
|
||||
|
||||
rtp: part [num] channel [num] size [num]
|
||||
stream a fake RTP packet for the given part on a chosen channel
|
||||
with the given payload size
|
||||
|
||||
connection-monitor When used, this will log [DISCONNECT] to the server.input
|
||||
log when the connection is disconnected.
|
||||
|
||||
</servercmd>
|
||||
</reply>
|
||||
|
||||
@@ -141,6 +157,14 @@ scp
|
||||
sftp
|
||||
socks4
|
||||
socks5
|
||||
rtsp
|
||||
rtsp-ipv6
|
||||
imap
|
||||
pop3
|
||||
smtp
|
||||
httptls+srp
|
||||
httptls+srp-ipv6
|
||||
http-proxy
|
||||
|
||||
Give only one per line. This subsection is mandatory.
|
||||
</server>
|
||||
@@ -150,6 +174,7 @@ A list of features that MUST be present in the client/library for this test to
|
||||
be able to run (if these features are not present, the test will be
|
||||
SKIPPED). Features testable here are:
|
||||
|
||||
axTLS
|
||||
crypto
|
||||
getrlimit
|
||||
GnuTLS
|
||||
@@ -157,10 +182,15 @@ idn
|
||||
ipv6
|
||||
large_file
|
||||
libz
|
||||
netrc_debug
|
||||
NSS
|
||||
NTLM
|
||||
OpenSSL
|
||||
SSL
|
||||
socks
|
||||
unittest
|
||||
debug
|
||||
TLS-SRP
|
||||
Metalink
|
||||
|
||||
as well as each protocol that curl supports. A protocol only needs to be
|
||||
specified if it is different from the server (useful when the server
|
||||
@@ -189,7 +219,8 @@ to have failed. Variables are substituted as in the <command> section.
|
||||
|
||||
<tool>
|
||||
Name of tool to use instead of "curl". This tool must be built and exist
|
||||
in the libtest/ directory.
|
||||
either in the libtest/ directory (if the tool starts with 'lib') or in the
|
||||
unit/ directory (if the tool starts with 'unit').
|
||||
</tool>
|
||||
|
||||
<name>
|
||||
@@ -205,7 +236,8 @@ command is run. They are cleared again after the command has been run.
|
||||
Variables are first substituted as in the <command> section.
|
||||
</setenv>
|
||||
|
||||
<command [option="no-output"] [timeout="secs"] [delay="secs"]>
|
||||
<command [option="no-output/no-include"] [timeout="secs"] [delay="secs"]
|
||||
[type="perl"]>
|
||||
command line to run, there's a bunch of %variables that get replaced
|
||||
accordingly.
|
||||
|
||||
@@ -218,10 +250,16 @@ If a CONNECT is used to the server (to emulate HTTPS etc over proxy), the port
|
||||
number given in the CONNECT request will be used to identify which test that
|
||||
is being run, if the proxy host name is said to start with 'test'.
|
||||
|
||||
Set type="perl" to write the test case as a perl script. It implies that
|
||||
there's no memory debugging and valgrind gets shut off for this test.
|
||||
|
||||
Set option="no-output" to prevent the test script to slap on the --output
|
||||
argument that directs the output to a file. The --output is also not added if
|
||||
the verify/stdout section is used.
|
||||
|
||||
Set option="no-include" to prevent the test script to slap on the --include
|
||||
argument.
|
||||
|
||||
Set timeout="secs" to override default server logs advisor read lock timeout.
|
||||
This timeout is used by the test harness, once that the command has completed
|
||||
execution, to wait for the test server to write out server side log files and
|
||||
@@ -239,10 +277,11 @@ Available substitute variables include:
|
||||
%CLIENTIP - IPv4 address of the client running curl
|
||||
%CLIENT6IP - IPv6 address of the client running curl
|
||||
%HOSTIP - IPv4 address of the host running this test
|
||||
%HOSTPORT - Port number of the HTTP server
|
||||
%HTTPPORT - Port number of the HTTP server
|
||||
%HOST6IP - IPv6 address of the host running this test
|
||||
%HOST6PORT - IPv6 port number of the HTTP server
|
||||
%HTTP6PORT - IPv6 port number of the HTTP server
|
||||
%HTTPSPORT - Port number of the HTTPS server
|
||||
%PROXYPORT - Port number of the HTTP proxy
|
||||
%FTPPORT - Port number of the FTP server
|
||||
%FTP6PORT - IPv6 port number of the FTP server
|
||||
%FTPSPORT - Port number of the FTPS server
|
||||
@@ -253,6 +292,8 @@ Available substitute variables include:
|
||||
%TFTP6PORT - IPv6 port number of the TFTP server
|
||||
%SSHPORT - Port number of the SCP/SFTP server
|
||||
%SOCKSPORT - Port number of the SOCKS4/5 server
|
||||
%RTSPPORT - Port number of the RTSP server
|
||||
%RTSP6PORT - IPv6 port number of the RTSP server
|
||||
%SRCDIR - Full path to the source dir
|
||||
%PWD - Current directory
|
||||
%CURL - Path to the curl executable
|
||||
@@ -287,12 +328,26 @@ changing protocol data such as port numbers or user-agent strings.
|
||||
One perl op per line that operates on the protocol dump. This is pretty
|
||||
advanced. Example: "s/^EPRT .*/EPRT stripped/"
|
||||
</strippart>
|
||||
|
||||
<protocol [nonewline="yes"]>
|
||||
the protocol dump curl should transmit, if 'nonewline' is set, we will cut
|
||||
off the trailing newline of this given data before comparing with the one
|
||||
actually sent by the client
|
||||
Variables are substituted as in the <command> section.
|
||||
|
||||
the protocol dump curl should transmit, if 'nonewline' is set, we will cut off
|
||||
the trailing newline of this given data before comparing with the one actually
|
||||
sent by the client Variables are substituted as in the <command> section. The
|
||||
<strip> and <strippart> rules are applied before comparisons are made.
|
||||
|
||||
</protocol>
|
||||
|
||||
<proxy [nonewline="yes"]>
|
||||
|
||||
The protocol dump curl should transmit to a HTTP proxy (when the http-proxy
|
||||
server is used), if 'nonewline' is set, we will cut off the trailing newline
|
||||
of this given data before comparing with the one actually sent by the client
|
||||
Variables are substituted as in the <command> section. The <strip> and
|
||||
<strippart> rules are applied before comparisons are made.
|
||||
|
||||
</proxy>
|
||||
|
||||
<stdout [mode="text"] [nonewline="yes"]>
|
||||
This verifies that this data was passed to stdout. Variables are
|
||||
substituted as in the <command> section.
|
||||
|
||||
Reference in New Issue
Block a user