.TH ezmlm-test 1 .SH NAME ezmlm-test \- test ezmlm programs .SH SYNOPSIS .B ezmlm-test [ .B \-on ][ .B \-h\fI host ][ .B \-u\fI user ][ .B \-l\fI sqluser ][ .B \-t\fI sqltable ][ .B \-d\fI sqldatabase ][ .B \-p\fI sqlpassword ][ .B \-s\fI section ] .I dir .SH DESCRIPTION .B ezmlm-test is run from the ezmlm build directory. It will test most of the functions of most of the programs in ezmlm-idx>=0.313. The program prints status and error messages to stdout. It requires that qmail runs on the host and that mail delivery to a local user functions. By default, it runs as the user ``eztest'' who should have read and execute permission to the files in the build directory. For testing with an SQL database (requires ezmlm-idx>=0.32; see .BR -p ), you need to have first created the tables in the database, e.g. using .BR ezmlm-mktab . A number of switches allow overriding the default connection information. .B ezmlm-test creates the list ``eztest-__tstlist@host'' in the directory ``~/__TSTDIR''. This directory and ``~/.qmail-__tstlist*'' will be overwritten/removed by the program. In addition, the file ``~/__TSTDIR_err'' is created. In cases of error, it often contains the error message form the failing program. .B ezmlm-test should complete without error. As many invocations of the programs test several functions it is not easy to determine what went wrong if .B ezmlm-test fails. Usually, ``~/__TSTDIR__err'' gives some leads, but then debugging of the particular program is required. Usually, this involves recreating the failing circumstances, including environment variables. .SH OPTIONS .TP .B \-d\fI sqldatabase If SQL support is tested, use .I sqldatabase as the database, overriding the default ``ezmlm''. See .BR \-p . .TP .B \-h\fI host Connect to an SQL server on .IR host , if an SQL database is used (see .BR \-p ). Default is empty, which for most database managers defaults to localhost/unix socket. To specify a non-default port, add ``:port'' to the host name. .TP .B \-l\fI sqluser Connect as .I sqluser to the SQL server, if an SQL database is used (see .BR \-p ). By default, it is the same as the executing user as specified by the .B \-u switch or the default ``eztest''. .TP .B \-n Test assuming qmail>=1.02 and ezmlm-idx>=0.32. Normally, this is auto-detected. This switch is for testing of .B ezmlm-test and unlikely to be generally useful. .TP .B \-o Test assuming an old (<1.02) version of qmail which does not support the DEFAULT environment variable. Normally, this is auto-detected, and DEFAULT support is used if qmail>=1.02 and ezmlm-idx>=0.32. The ``old'' style works with all versions of qmail, but requires adjustments for virtual domains. DEFAULT support makes these adjustments unnecessary. .TP .B \-p\fI sqlpassword Test with SQL support, and use .I sqlpassword as the connection password. By default, local databases, rather than an SQL database are used for testing. To use the SQL database with an empty password, specify .BR \-p\ '' . .TP .B \-s\fI section Restart .B ezmlm-test from section .IR section . This can be used to resume execution if the 30 s given for mail delivery was not sufficient for the test message to be delivered. ``9'' can be used to clean up any files remaining after incomplete execution of .BR ezmlm-test . This option should not be needed. .TP .B \-t\fI sqltable Use .I sqltable as the table root name for the SQL database tables, if an SQL database is used (see .BR \-p ). Default is ``list''. .TP .B \-u\fI user Execute .B ezmlm-test as .IR user . Default is ``eztest''. The program refuses to run, unless the effective user name matches this user name. .SH BUGS On some systems, some of the tests give a broken pipe error. This is because code needs to be added to the make_message function to capture error messages. These errors can be safely ignored for now. .SH "SEE ALSO" ezmlm(5), ezmlm-clean(1), ezmlm-gate(1), ezmlm-get(1), ezmlm-idx(1), ezmlm-issubn(1), ezmlm-list(1), ezmlm-make(1), ezmlm-manage(1), ezmlm-mktab(1), ezmlm-moderate(1), ezmlm-request(1), ezmlm-return(1), ezmlm-send(1), ezmlm-split(1), ezmlm-store(1), ezmlm-sub(1), ezmlm-tstdig(1), ezmlm-unsub(1), ezmlm-warn(1)