Imported Upstream version 7.40.0
[platform/upstream/curl.git] / tests / FILEFORMAT
index 97afa96..c234c22 100644 (file)
@@ -59,6 +59,12 @@ transfers.
 of data encoded with base64. It is the only way a test case can contain binary
 data. (This attribute can in fact be used on any section, but it doesn't make
 much sense for other sections than "data").
+
+For FTP file listings, the <data> section will be used *only* if you make sure
+that there has been a CWD done first to a directory named 'test-[num]' where
+[num] is the test case number. Otherwise the ftp server can't know from which
+test file to load the list content.
+
 </data>
 <dataNUM>
 Send back this contents instead of the <data> one. The num is set by:
@@ -125,6 +131,13 @@ SLOWDOWN
  - Send FTP responses with 0.01 sec delay between each byte
 PASVBADIP
  - makes PASV send back an illegal IP in its 227 response
+CAPA [capabilities]
+ - Enables support for and specifies a list of space separated capabilities to
+   return to the client for the IMAP CAPABILITY, POP3 CAPA and SMTP EHLO
+   commands
+AUTH [mechanisms]
+ - Enables support for SASL authentication and specifies a list of space
+   separated mechanisms for IMAP, POP3 and SMTP
 
 For HTTP/HTTPS:
 auth_required   if this is set and a POST/PUT is made without auth, the
@@ -143,7 +156,12 @@ rtp: part [num] channel [num] size [num]
 
 connection-monitor When used, this will log [DISCONNECT] to the server.input
                log when the connection is disconnected.
+upgrade        when an HTTP upgrade header is found, the server will upgrade
+               to http2
 
+For TFTP:
+writedelay: [secs] delay this amount between reply packets (each packet being
+                   512 bytes payload)
 </servercmd>
 </reply>
 
@@ -158,47 +176,61 @@ ftp-ipv6
 ftps
 http
 http-ipv6
+http-proxy
+http-unix
 https
+httptls+srp
+httptls+srp-ipv6
+imap
 none
+pop3
+rtsp
+rtsp-ipv6
 scp
 sftp
+smtp
 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>
 
 <features>
 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:
+be able to run. If a required feature is not present then the test will be
+SKIPPED.
+
+Alternatively a feature can be prefixed with an exclamation mark to indicate a
+feature is NOT required. If the feature is present then the test will be
+SKIPPED.
+
+Features testable here are:
 
 axTLS
 crypto
+debug
 getrlimit
 GnuTLS
 idn
 ipv6
 large_file
 libz
+Metalink
 NSS
 NTLM
 OpenSSL
-SSL
 socks
-unittest
-debug
+SSL
+SSLpinning
 TLS-SRP
-Metalink
 TrackMemory
+unittest
+http2
+SSPI
+GSS-API
+Kerberos
+SPNEGO
+unix-sockets
 
 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
@@ -257,7 +289,7 @@ data that is defined within the <reply><data></data></reply> section.
 If there's no test number found above, the HTTP test server will use the
 number following the last dot in the given hostname (made so that a CONNECT
 can still pass on test number) so that "foo.bar.123" gets treated as test case
-123. Alternatively, if an ipv6-address is provided to CONNECT, the last
+123. Alternatively, if an IPv6 address is provided to CONNECT, the last
 hexadecimal group in the address will be used as the test numer! For example
 the address "[1234::ff]" would be treated as test case 255.
 
@@ -285,29 +317,42 @@ not negative integer number of seconds for the delay. This 'delay' attribute
 is intended for very specific test cases, and normally not needed.
 
 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
-%HTTPPORT  - Port number of the HTTP server
-%HOST6IP   - IPv6 address of the host running this test
-%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
+%CLIENT6IP - IPv6 address of the client running curl
+%CLIENTIP  - IPv4 address of the client running curl
+%CURL      - Path to the curl executable
+%FTP2PORT  - Port number of the FTP server 2
 %FTP6PORT  - IPv6 port number of the FTP server
+%FTPPORT   - Port number of the FTP server
 %FTPSPORT  - Port number of the FTPS server
-%FTP2PORT  - Port number of the FTP server 2
 %FTPTIME2  - Timeout in seconds that should be just sufficient to receive
              a response from the test FTP server
-%TFTPPORT  - Port number of the TFTP server
-%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
+%FTPTIME3  - Even longer than %FTPTIME2
+%GOPHER6PORT  - IPv6 port number of the Gopher server
+%GOPHERPORT   - Port number of the Gopher server
+%HOST6IP      - IPv6 address of the host running this test
+%HOSTIP       - IPv4 address of the host running this test
+%HTTP6PORT    - IPv6 port number of the HTTP server
+%HTTPPIPEPORT - Port number of the HTTP pipelining server
+%HTTPUNIXPATH - Path to the Unix socket of the HTTP server
+%HTTPPORT     - Port number of the HTTP server
+%HTTPSPORT    - Port number of the HTTPS server
+%HTTPTLS6PORT - IPv6 port number of the HTTP TLS server
+%HTTPTLSPORT  - Port number of the HTTP TLS server
+%IMAP6PORT - IPv6 port number of the IMAP server
+%IMAPPORT  - Port number of the IMAP server
+%POP36PORT - IPv6 ort number of the POP3 server
+%POP3PORT  - Port number of the POP3 server
+%PROXYPORT - Port number of the HTTP proxy
+%PWD       - Current directory
 %RTSP6PORT - IPv6 port number of the RTSP server
+%RTSPPORT  - Port number of the RTSP server
+%SMTP6PORT - IPv6 port number of the SMTP server
+%SMTPPORT  - Port number of the SMTP server
+%SOCKSPORT - Port number of the SOCKS4/5 server
 %SRCDIR    - Full path to the source dir
-%PWD       - Current directory
-%CURL      - Path to the curl executable
+%SSHPORT   - Port number of the SCP/SFTP server
+%TFTP6PORT - IPv6 port number of the TFTP server
+%TFTPPORT  - Port number of the TFTP server
 %USER      - Login ID of the user running the test
 </command>