summaryrefslogtreecommitdiff
path: root/Build/source/libs/curl/tests/FILEFORMAT
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/curl/tests/FILEFORMAT')
-rw-r--r--Build/source/libs/curl/tests/FILEFORMAT79
1 files changed, 79 insertions, 0 deletions
diff --git a/Build/source/libs/curl/tests/FILEFORMAT b/Build/source/libs/curl/tests/FILEFORMAT
new file mode 100644
index 00000000000..6eb143485e0
--- /dev/null
+++ b/Build/source/libs/curl/tests/FILEFORMAT
@@ -0,0 +1,79 @@
+ The file format of the test suite is a very simple and extendable format. All
+data for a single test case resides in a single ASCII file. Labels mark the
+beginning and the end of all sections. Each label must be written in its own
+line and is resembling XML/HTML.
+
+ Each file is split up in three main sections: reply, client and verify. The
+reply section is used for the server to know what to send as a reply for the
+requests curl sends, the client section defines how the client should behave
+while the verify section defines how to verify that the data stored after a
+command has been run ended up correctly.
+
+ Each main section has a number of available subsections that can be
+specified, that will be checked/used if specified. This document includes all
+the subsections currently supported.
+
+<reply>
+<data [nocheck=1]>
+data to sent to the client on its request and later verified that it arrived
+safely. Set the nocheck=1 to prevent the test script to verify the arrival
+of this data.
+</data>
+<datacheck>
+if the data is sent but this is what should be checked afterwards
+</datacheck>
+<size>
+number to return on a ftp SIZE command
+</size>
+<cmd>
+special purpose server-command to control its behavior *before* the
+reply is sent
+</cmd>
+<postcmd>
+special purpose server-command to control its behavior *after* the
+reply is sent
+</postcmd>
+</reply>
+
+<client>
+<name>
+test case description
+</name>
+<command [option=no-output]>
+command line to run, there's a bunch of %variables that get replaced
+accordingly. more about them elsewhere
+
+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 client/stdout section is used.
+</command>
+<file name="log/filename">
+this creates the named file with this content before the test case is run
+which is useful if the test case needs a file to act on.
+</file>
+</client>
+
+<verify>
+<errorcode>
+numerical error code curl is supposed to return
+</errorcode>
+<strip>
+One regex per line that is removed from the protocol dumps before the
+comparison is made. This is very useful to remove dependencies on dynamicly
+changing protocol data such as port numbers or user-agent strings.
+</strip>
+<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
+</protocol>
+<stdout>
+This verfies that this data was passed to stdout.
+</stdout>
+<file name="log/filename">
+the file's contents must be identical to this
+</file>
+<upload>
+the contents of the upload data curl should have sent
+</upload>
+</verify>