Imported Upstream version 7.59.0
[platform/upstream/curl.git] / tests / README
index 3ddc1c9..16a8f06 100644 (file)
@@ -4,7 +4,7 @@
                             | (__| |_| |  _ <| |___
                              \___|\___/|_| \_\_____|
 
-The cURL Test Suite
+The curl Test Suite
 
  1. Running
   1.1 Requires to run
@@ -43,6 +43,8 @@ The cURL Test Suite
   diff (when a test fails, a diff is shown)
   stunnel (for HTTPS and FTPS tests)
   OpenSSH or SunSSH (for SCP, SFTP and SOCKS4/5 tests)
+  nghttpx (for HTTP/2 tests)
+  nroff (for --manual tests)
 
  1.2 Port numbers used by test servers
 
@@ -58,14 +60,24 @@ The cURL Test Suite
   - TCP/8999 for SCP/SFTP
   - TCP/9000 for SOCKS
   - TCP/9001 for POP3
-  - TCP/9002 for IMAP
-  - TCP/9003 for SMTP
-  - TCP/9004 for SMTP IPv6
-  - TCP/9005 for RTSP
-  - TCP/9006 for RTSP IPv6
-  - TCP/9007 for GOPHER
-  - TCP/9008 for GOPHER IPv6
-  - TCP/9008 for HTTPS server with TLS-SRP support
+  - TCP/9002 for POP3 IPv6
+  - TCP/9003 for IMAP
+  - TCP/9004 for IMAP IPv6
+  - TCP/9005 for SMTP
+  - TCP/9006 for SMTP IPv6
+  - TCP/9007 for RTSP
+  - TCP/9008 for RTSP IPv6
+  - TCP/9009 for GOPHER
+  - TCP/9010 for GOPHER IPv6
+  - TCP/9011 for HTTPS server with TLS-SRP support
+  - TCP/9012 for HTTPS IPv6 server with TLS-SRP support
+  - TCP/9013 for HTTP proxy server for CONNECT
+  - TCP/9014 for HTTP pipelining server
+  - TCP/9015 for HTTP/2 server
+  - TCP/9016 for DICT server
+  - TCP/9017 for SMB server
+  - TCP/9018 for SMBS server (reserved)
+  - TCP/9019 for TELNET server with negotiation support
 
  1.3 Test servers
 
@@ -81,12 +93,15 @@ The cURL Test Suite
   machine, or just move the servers in case you have local services on any of
   those ports.
 
+  The HTTP server supports listening on a Unix domain socket, the default
+  location is 'http.sock'.
+
  1.4 Run
 
-  'make test'. This builds the test suite support code and invokes the
-  'runtests.pl' perl script to run all the tests. Edit the top variables
-  of that script in case you have some specific needs, or run the script
-  manually (after the support code has been built).
+  './configure && make && make test'. This builds the test suite support code
+  and invokes the 'runtests.pl' perl script to run all the tests. Edit the top
+  variables of that script in case you have some specific needs, or run the
+  script manually (after the support code has been built).
 
   The script breaks on the first test that doesn't do OK. Use -a to prevent
   the script from aborting on the first error. Run the script with -v for more
@@ -97,7 +112,9 @@ The cURL Test Suite
   (like "./runtests.pl 3 4" to test 3 and 4 only). It also supports test case
   ranges with 'to', as in "./runtests 3 to 9" which runs the seven tests from
   3 to 9. Any test numbers starting with ! are disabled, as are any test
-  numbers found in the file data/DISABLED (one per line).
+  numbers found in the files data/DISABLED or data/DISABLED.local (one per
+  line). The latter is meant for local temporary disables and will be ignored
+  by git.
 
   When -s is not present, each successful test will display on one line the
   test number and description and on the next line a set of flags, the test
@@ -144,7 +161,9 @@ The cURL Test Suite
   runtests.pl's -t option will enable torture testing mode, which runs each
   test many times and makes each different memory allocation fail on each
   successive run.  This tests the out of memory error handling code to ensure
-  that memory leaks do not occur even in those situations.
+  that memory leaks do not occur even in those situations. It can help to
+  compile curl with CPPFLAGS=-DMEMDEBUG_LOG_SYNC when using this option, to
+  ensure that the memory log file is properly written even if curl crashes.
 
  1.7 Debug
 
@@ -156,7 +175,7 @@ The cURL Test Suite
 
  1.8 Logs
 
-  All logs are generated in the logs/ subdirectory (it is emptied first in the
+  All logs are generated in the log/ subdirectory (it is emptied first in the
   runtests.pl script). Use runtests.pl -k to force it to keep the temporary
   files after the test run since successful runs will clean it up otherwise.
 
@@ -198,25 +217,26 @@ The cURL Test Suite
  2.1 Test case numbering
 
      1   -  99   HTTP
-     100 - 199   FTP*
-     200 - 299   FILE*
+     100 - 199   FTP
+     200 - 299   FILE
      300 - 399   HTTPS
      400 - 499   FTPS
      500 - 599   libcurl source code tests, not using the curl command tool
      600 - 699   SCP/SFTP
      700 - 799   SOCKS4 (even numbers) and SOCK5 (odd numbers)
-     800 - 899   POP3, IMAP, SMTP
-     1000 - 1299 miscellaneous*
-     1300 - 1399 unit tests*
-     1400 - 1499 miscellaneous*
+     800 - 849   IMAP
+     850 - 899   POP3
+     900 - 999   SMTP
+     1000 - 1299 miscellaneous
+     1300 - 1399 unit tests
+     1400 - 1499 miscellaneous
      1500 - 1599 libcurl source code tests, not using the curl command tool
                  (same as 5xx)
-     2000 - x    multiple sequential protocols per test case*
+     1600 - 1699 unit tests
+     2000 - x    multiple sequential protocols per test case
 
-  Since 30-apr-2003, there's nothing in the system that requires us to keep
-  within these number series, and those sections marked with * actually
-  contain tests for a variety of protocols. Each test case now specifies its
-  own server requirements, independent of test number.
+  There's nothing in the system that *requires* us to keep within these number
+  series.
 
 3. Write tests