ImapTest States
States can be specified using full or short names. You specify the probabilities in percents, so for example list=30 means that LIST command is executed with 30% probability.
The second probability is mainly useful for APPEND, where it controls how often to append multiple messages with MULTIAPPEND extension, so for example append=80,30 means that APPEND command is executed with 80% probability, and after each appended message there's a 30% chance of the APPEND command continuing.
You can disable all except LOGIN, LOGOUT and SELECT states by giving "-" parameter. For example: ./imaptest - select=0 append=100,0 logout=0 will do nothing but a LOGIN followed by APPENDs.
Name |
Short name |
Default% |
Description |
AUTHENTICATE |
Auth |
0 |
Authentication with AUTHENTICATE PLAIN command |
LOGIN |
Logi |
100 |
Authentication with LOGIN command |
LIST |
List |
50 |
LIST "" * |
MCREATE |
LCre |
0 |
CREATE test/x/y mailboxes randomly. '/' separator is hardcoded currently. |
MDELETE |
LDel |
0 |
DELETE test/x/y mailboxes randomly. |
STATUS |
Stat |
50 |
STATUS (MESSAGES UNSEEN RECENT) |
SELECT |
Sele |
100 |
SELECT mailbox (required for most states below) |
FETCH |
Fetc |
100 |
FETCH n:m (random fields) where n:m is a range with random start for 100 messages (or all messages if mailbox has less than 100 messages). Randomly fetched fields are: UID, FLAGS, ENVELOPE, INTERNALDATE, BODY, BODYSTRUCTURE and BODY.PEEK[HEADER.FIELDS (random headers)]. Random headers are: From, To, Cc, Subject, Message-ID, In-Reply-To, References, Delivered-To. |
FETCH2 |
Fet2 |
100,30 |
FETCH n (BODY.PEEK[]) where n is a random message |
SEARCH |
Sear |
0 |
SEARCH <random search query> where the query can contain multiple parameters, including ORs and parenthesis. It randomly choses among: SMALLER, LARGER, BEFORE, ON, SINCE, SENTBEFORE, SENTON, SENTSINCE, SUBJECT, TEXT, BODY |
SORT |
Sort |
0 |
SORT (SUBJECT) US-ASCII for ALL or FLAGGED randomly |
THREAD |
Thre |
0 |
THREAD REFERENCES US-ASCII ALL |
COPY |
Copy |
33,5 |
COPY random number of messages |
STORE |
Stor |
50 |
STORE <random-range> [+-]FLAGS[.SILENT] <random flags and keywords>. Only $Label1..5 are used as keywords. SILENT is used if checkpointing is disabled. \Deleted flags aren't set. |
DELETE |
Dele |
100 |
STORE <random-range> +FLAGS[.SILENT] \Deleted |
EXPUNGE |
Expu |
100 |
EXPUNGE |
APPEND |
Appe |
100,5 |
APPEND messages to mailbox. MULTIAPPEND extension is used if possible. The counter shows number of APPEND commands, so with MULTIAPPEND it doesn't match the actual number of appended messages. |
NOOP |
Noop |
0 |
NOOP command. |
CHECK |
Chec |
0 |
CHECK command. |
LOGOUT |
Logo |
100 |
LOGOUT command. |
DISCONNECT |
Disc |
0 |
Disconnect without LOGOUT. |
DELAY |
Dela |
0 |
random 0..999 millisecond delay |
CHECKPOINT! |
ChkP |
0 |
Use checkpoint parameter to change this. The counter shows number of client connections successfully checkpointed |