X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/78fb059f567b933e3e8c1898f6f51b1e6c3b5396..7ce1ced40351c3cd5982d37ff4ccdb02afd82365:/test/README?ds=sidebyside diff --git a/test/README b/test/README index a399765e2..6c9a2d8da 100644 --- a/test/README +++ b/test/README @@ -696,6 +696,17 @@ be replaced by the local host's name. Long commands can be continued over several lines by using \ as a continuation character. This does *not* apply to data lines. +A line with a leading number followed by a space and then an uppercase +word, equals character, value sets an expected return code as above +plus an environment variable. Example: + + 255 TZ=GB + exim_msgdate -l -u -z -localhost_number=20 000000 1PANS3 ZZZZZZ + **** + + + + Here follows a list of supported commands. They can be divided into two groups: @@ -747,6 +758,12 @@ This command runs the exigrep utility with the given data (the search pattern) on the current mainlog file. + exiqgrep + +This command runs the exiqgrep utility with the given options +on the current spool directory. + + gnutls This command is present at the start of all but one of the tests that use @@ -814,6 +831,14 @@ are still in existence at the end of the run (for messages that were not delivered) are not compared with saved versions. + no_munge + +If this command is encountered anywhere in the script, the output is not +munged before it is compared with a saved version. +This option allows meaningful tests of the exim_msgdate utility; +without it all date comparison checks would succeed. + + no_stderr_check If this command is encountered anywhere in the script, the stderr output from @@ -862,15 +887,21 @@ The remaining commands are followed by data lines for their standard input, terminated by four asterisks ("****"). Even if no data is required for the particular usage, the asterisks must be given. -If the input line starts with '>>> ', this prefix and any trailing spaces -(including line feed) are removed. The reminder is processed with Perl's -string eval() function, effectivly evaluatiing escape sequences like -'\x41', or '\r'. If you need a line feed there, you need to encode it -according to your needs. +If the input line starts with '::', this prefix is removed and the +line is processed by the runtest script before sending. The following +commands are recognised: -If the input line starts with '\>>> ', the backslash is removed and the -rest of the line is passed as input. This is used by the client tool, -which understands the '>>> ' prefix for similar processing. +- "eval": process the reset of the line with Perl's string eval() + function. This can be used to send arbitrary data by encoding it as + escape sequences (e.g. "\x41\101"). If you need a line ending, you have + to append it accordingly (e.g. "\r\n"). + +- "noeol": do not terminate the data sent to the application with an end + of line character. + +- "sleep": interpret the rest of the line as an integer and sleep for + that number of seconds before proceeding. No data will be output to + the application. background @@ -1056,10 +1087,7 @@ Lines in client scripts are of several kinds: (5) ">>> ": If a line begins with three '>' characters and a space, the rest of the line is input to be sent to the server. Backslash escaping is done as - described below, but no trailing "\r\n" is sent. As the runtest's - input processing catches the '>>> ' for its string eval, you may - want to escape from this first stage processing by prefixing your - line with '\'. + described below, but no trailing "\r\n" is sent. (6) "<<< ": If a line begin with three '<' characters and a space, the rest of the line is a filename; the content of the file is inserted into the script @@ -1116,13 +1144,16 @@ are of the following kinds: (2) A line that starts with "*sleep" specifies a number of seconds to wait before proceeding. -(3) A line containing "*eof" specifies that the client is expected to close +(3) A line containing "*data" and a number specifies that the client is + expected to send that many byte; the server discards them + +(4) A line containing "*eof" specifies that the client is expected to close the connection at this point. -(4) A line containing just '.' specifies that the client is expected to send +(5) A line containing just '.' specifies that the client is expected to send many lines, terminated by one that contains just a dot. -(5) Otherwise, the line defines the start of an input line that the client +(6) Otherwise, the line defines the start of an input line that the client is expected to send. To allow for lines that start with digits, the line may start with '<', which is not taken as part of the input data. If the lines starts with '<<' then only the characters are expected; no return-