Differences between revisions 1 and 97 (spanning 96 versions)
Revision 1 as of 2007-12-01 13:19:45
Size: 2732
Editor: TimoSirainen
Revision 97 as of 2013-09-02 00:33:00
Size: 315
Editor: Vickie93T
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= IMAP Tester =

imaptest was originally written for stress testing [http://www.dovecot.org/ Dovecot] IMAP server. Its primary testing method is still stress testing, but now it also parses the incoming IMAP replies and complains if anything looks broken.

== Compiling ==

 1. Download and compile Dovecot v1.1 sources. imaptest uses its library functions.
  1. Get the latest beta from http://dovecot.org/releases/1.1/beta/
  1. Compiling goes the usual way: {{{./configure && make}}} (there's no need for {{{make install}}})
 1. Download http://www.dovecot.org/tools/imaptest.c to Dovecot sources' root directory (i.e. where the {{{configure}}} script exists)
 1. imaptest's header comment shows the compile command for gcc, use it or something similar.

You may want to modify the default configuration from #defines at the top of the file. This isn't required, but if you run imaptest often this way you don't have to give the same parameters every time.

== Running ==

The most important parameters (and their defaults) are:
 * host= Host name/IP address where to connect.
 * port=143: Port what to use.
 * user=tss: Username template. You can use multiple random users and domains by giving %d in the template. So for example {{{user%d}}} returns user1..user100 and {{{user%d@domain%d.org}}} returns user1..100@domain1..100.org. The 1..100 range is hardcoded to the binary. You can change them from {{{USER_RAND}}} and {{{DOMAIN_RAND}}} defines.
 * password=pass: Password to use for all users. There's currently no way to use different passwords for different users.
 * mbox=/home/tss/mail/dovecot-crlf: Path to mbox file where to append messages from. See below for how this is used.

Other useful parameters include:
 * clients=10: Number of simultaneous client connections to use.
 * secs=n: Run imaptest n seconds and then exit.
 * box=INBOX: Mailbox to use for testing. INBOX is the default.
 * copybox=n: When testing COPY command, this specifies the destination mailbox.
 * seed=n: Seed to use for random generator. Setting this to some specific value makes repeated benchmarks a bit more reliable, because the used commands should be the same then.
 * disconnect_quit: If a client gets disconnected, quit. Use logout=0 parameter with this one. This is useful when debugging some problem in the server.
 * no_pipelining: Don't send multiple commands at once to server.

Selecting what to test:
 * <state>=<probability>[,<probability2>]: State probabilities to use. See below.
 * checkpoint=n: Run a checkpoint every n seconds. See below.
 * random: Switch randomly between states.
 * no_tracking: Don't track and complain about IMAP state. Makes it use a bit less CPU.
Name: Vickie Black<<BR>>
Age: 18 years old<<BR>>
Country: Australia<<BR>>
Town: Cambrai <<BR>>
Postal code: 5353<<BR>>
Address: 14 Meyer Road<<BR>>
Visit my [[http://www.dailymail.co.uk/home/search.html?sel=site&searchPhrase=webpage|webpage]] - [[http://www.mannayoga.com.tw/manna.htm|孕婦瑜珈]]

Name: Vickie Black
Age: 18 years old
Country: Australia
Town: Cambrai
Postal code: 5353
Address: 14 Meyer Road

Visit my webpage - 孕婦瑜珈

None: ImapTest (last edited 2013-09-02 02:01:42 by TimoSirainen)