1941
Comment:
|
← Revision 23 as of 2023-11-07 21:12:13 ⇥
111
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= imaptest test configuration = | = ImapTest Scripted Testing Configuration = |
Line 3: | Line 3: |
The test file begins with a header, followed by an empty line and then a list of commands. == Header == The header contains "key: value" pairs. Allowed keys are: * capabilities: Space-separated list of capabilities required from the server for this test. If server doesn't have these capabilities, the test is skipped. (FIXME: Checking not done currently) * connections: Number of connections to use for executing this test. If using 2 or more connections, each command must begin with the connection number which is used for the command (1..n). Default is 1. * state: nonauth, auth or selected. If selected is used, the mailbox is recreated and test messages are appended to it automatically. Default is selected. For example: {{{ capabilities: CHILDREN LIST-EXTENDED connections: 2 state: auth }}} == Commands == There are two ways to configure commands: 1) [<connection #>] OK|NO|BAD <command> [* <tagged reply>] (0 or more) 2) [<connection #> <command> [* <tagged reply>] (0 or more) OK|NO|BAD [<prefix>] Connection number is used if there are more than one connection. The first way is faster to write, while the second allows matching reply's <prefix>. For example: {{{ # way 1) ok select $mailbox * 0 exists # way 2) select $mailbox * 0 exists 1 ok [read-write] }}} == Variables == Commands and replies can have $variables. If a variable doesn't have value when it's matched against server input, the variable is initialized from the server input. This allows doing this like: {{{ ok fetch 1,2 uid * 1 fetch (uid $uid1) * 2 fetch (uid $uid2) ok uid store $uid1,$uid2 flags \seen * 1 fetch (uid $uid1 flags (\seen)) * 2 fetch (uid $uid2 flags (\seen)) }}} There are also some predefined variables: * $mailbox: Mailbox used for testing. {{{box}}} command line parameter specifies this. The default is "imaptest". |
Moved to https://dovecot.github.io/imaptest/scripted_test.html |
ImapTest Scripted Testing Configuration
Moved to https://dovecot.github.io/imaptest/scripted_test.html