summaryrefslogtreecommitdiffstats
path: root/man/mysql-test-run.pl.1
diff options
context:
space:
mode:
Diffstat (limited to 'man/mysql-test-run.pl.1')
-rw-r--r--man/mysql-test-run.pl.12318
1 files changed, 2318 insertions, 0 deletions
diff --git a/man/mysql-test-run.pl.1 b/man/mysql-test-run.pl.1
new file mode 100644
index 00000000..1677c070
--- /dev/null
+++ b/man/mysql-test-run.pl.1
@@ -0,0 +1,2318 @@
+'\" t
+.\"
+.TH "\fBMYSQL\-TEST\-RUN\fR" "1" "15 May 2020" "MariaDB 10.11" "MariaDB Database System"
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.\" mysql-test-run.pl
+.SH "NAME"
+mysql-test-run.pl \- run MariaDB test suite
+.SH "SYNOPSIS"
+.HP \w'\fBmysql\-test\-run\&.pl\ [\fR\fB\fIoptions\fR\fR\fB]\fR\ 'u
+\fBmysql\-test\-run\&.pl [\fR\fB\fIoptions\fR\fR\fB]\fR
+.SH "DESCRIPTION"
+.PP
+The
+\fBmysql\-test\-run\&.pl\fR
+Perl script is the main application used to run the MariaDB test suite\&. It invokes
+\fBmysqltest\fR
+to run individual test cases\&.
+.PP
+Invoke
+\fBmysql\-test\-run\&.pl\fR
+in the
+mysql\-test
+directory like this:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+shell> \fBmysql\-test\-run\&.pl [\fR\fB\fIoptions\fR\fR\fB] [\fR\fB\fItest_name\fR\fR\fB] \&.\&.\&.\fR
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+Each
+\fItest_name\fR
+argument names a test case\&. The test case file that corresponds to the test name is
+t/\fItest_name\fR\&.test\&.
+.PP
+For each
+\fItest_name\fR
+argument,
+\fBmysql\-test\-run\&.pl\fR
+runs the named test case\&. With no
+\fItest_name\fR
+arguments,
+\fBmysql\-test\-run\&.pl\fR
+runs all
+\&.test
+files in the
+t
+subdirectory\&.
+.PP
+If no suffix is given for the test name, a suffix of
+\&.test
+is assumed\&. Any leading path name is ignored\&. These commands are equivalent:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+shell> \fBmysql\-test\-run\&.pl mytest\fR
+shell> \fBmysql\-test\-run\&.pl mytest\&.test\fR
+shell> \fBmysql\-test\-run\&.pl t/mytest\&.test\fR
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+A suite name can be given as part of the test name\&. That is, the syntax for naming a test is:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+[\fIsuite_name\fR\&.]\fItest_name\fR[\&.\fIsuffix\fR]
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+If a suite name is given,
+\fBmysql\-test\-run\&.pl\fR
+looks in that suite for the test\&. The test file corresponding to a test named
+\fIsuite_name\&.test_name\fR
+is found in
+suite/\fIsuite_name\fR/t/\fItest_name\fR\&.test\&. There is also an implicit suite name
+main
+for the tests in the top
+t
+directory\&. With no suite name,
+\fBmysql\-test\-run\&.pl\fR
+looks in the default list of suites for a match and runs the test in any suites where it finds the test\&. Suppose that the default suite list is
+main,
+binlog,
+rpl, and that a test
+mytest\&.test
+exists in the
+main
+and
+rpl
+suites\&. With an argument of
+mytest
+or
+mytest\&.test,
+\fBmysql\-test\-run\&.pl\fR
+will run
+mytest\&.test
+from the
+main
+and
+rpl
+suites\&.
+.PP
+To run a family of test cases for which the names share a common prefix, use the
+\fB\-\-do\-test=\fR\fB\fIprefix\fR\fR
+option\&. For example,
+\fB\-\-do\-test=rpl\fR
+runs the replication tests (test cases that have names beginning with
+rpl)\&.
+\fB\-\-skip\-test\fR
+has the opposite effect of skipping test cases for which the names share a common prefix\&.
+.PP
+The argument for the
+\fB\-\-do\-test\fR
+and
+\fB\-\-skip\-test\fR
+options also allows more flexible specification of which tests to perform or skip\&. If the argument contains a pattern metacharacter other than a lone period, it is interpreted as a Perl regular expression and applies to test names that match the pattern\&. If the argument contains a lone period or does not contain any pattern metacharacters, it is interpreted the same way as previously and matches test names that begin with the argument value\&. For example,
+\fB\-\-do\-test=testa\fR
+matches tests that begin with
+testa,
+\fB\-\-do\-test=main\&.testa\fR
+matches tests in the
+main
+test suite that begin with
+testa, and
+\fB\-\-do\-test=main\&.*testa\fR
+matches test names that contain
+main
+followed by
+testa
+with anything in between\&. In the latter case, the pattern match is not anchored to the beginning of the test name, so it also matches names such as
+xmainytesta\&.
+.PP
+To perform setup prior to running tests,
+\fBmysql\-test\-run\&.pl\fR
+needs to invoke
+\fBmysqld\fR
+with the
+\fB\-\-bootstrap\fR
+and
+\fB\-\-skip\-grant\-tables\fR
+options\&. If MySQL was configured with the
+\fB\-\-disable\-grant\-options\fR
+option,
+\fB\-\-bootstrap\fR,
+\fB\-\-skip\-grant\-tables\fR, and
+\fB\-\-init\-file\fR
+will be disabled\&. To handle this, set the
+MYSQLD_BOOTSTRAP
+environment variable to the full path name of a server that has all options enabled\&.
+\fBmysql\-test\-run\&.pl\fR
+will use that server to perform setup; it is not used to run the tests\&.
+.PP
+The
+init_file
+test will fail if
+\fB\-\-init\-file\fR
+is disabled\&. This is an expected failure that can be handled as follows:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+shell> \fBexport MYSQLD_BOOTSTRAP\fR
+shell> \fBMYSQLD_BOOTSTRAP=/full/path/to/mysqld\fR
+shell> \fBmake test force="\-\-skip\-test=init_file"\fR
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+To run
+\fBmysql\-test\-run\&.pl\fR
+on Windows, you'll need either Cygwin or ActiveState Perl to run it\&. You may also need to install the modules required by the script\&. To run the test script, change location into the
+mysql\-test
+directory, set the
+MTR_VS_CONFIG
+environment variable to the configuration you selected earlier (or use the
+\fB\-\-vs\-config\fR
+option), and invoke
+\fBmysql\-test\-run\&.pl\fR\&. For example (using Cygwin and the
+\fBbash\fR
+shell):
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+shell> \fBcd mysql\-test\fR
+shell> \fBexport MTR_VS_CONFIG=debug\fR
+shell> \fB\&./mysqltest\-run\&.pl \-\-force \-\-timer\fR
+shell> \fB\&./mysqltest\-run\&.pl \-\-force \-\-timer \-\-ps\-protocol\fR
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+\fBmysql\-test\-run\&.pl\fR
+uses several environment variables\&. Some of them are listed in the following table\&. Some of these are set from the outside and used by
+\fBmysql\-test\-run\&.pl\fR, others are set by
+\fBmysql\-test\-run\&.pl\fR
+instead, and may be referred to in tests\&.
+.TS
+allbox tab(:);
+l l
+l l
+l l
+l l
+l l
+l l
+l l
+l l
+l l
+l l
+l l
+l l.
+T{
+\fBVariable\fR
+T}:T{
+\fBMeaning\fR
+T}
+T{
+MTR_VERSION
+T}:T{
+If set to 1, will run the older version 1 of \fBmysql\-test\-run\&.pl\fR\&. This will affect what functionailty is available and what command line options are supported\&.
+T}
+T{
+MTR_MEM
+T}:T{
+If set to anything, will run tests with files in "memory" using tmpfs or
+ ramdisk\&. Not available on Windows\&. Same as
+ \fB\-\-mem\fR option
+T}
+T{
+MTR_PARALLEL
+T}:T{
+If set, defines number of parallel threads executing tests\&. Same as
+ \fB\-\-parallel\fR option
+T}
+T{
+MTR_BUILD_THREAD
+T}:T{
+If set, defines which port number range is used for the server
+T}
+T{
+MTR_PORT_BASE
+T}:T{
+If set, defines which port number range is used for the server
+T}
+T{
+MTR_\fINAME\fR_TIMEOUT
+T}:T{
+Setting of a timeout in minutes or seconds, corresponding to command line option \fB\-\-\fR\fB\fIname\fR\fR\fB\-timeout\fR\&. Available timeout names are TESTCASE, SUITE (both in minutes) and START, SHUTDOWN (both in seconds)\&. These variables are supported from MySQL 5\&.1\&.44\&.
+T}
+T{
+MYSQL_TEST
+T}:T{
+Path name to \fBmysqltest\fR binary
+T}
+T{
+MYSQLD_BOOTSTRAP
+T}:T{
+Full path name to \fBmysqld\fR that has all options enabled
+T}
+T{
+MYSQLTEST_VARDIR
+T}:T{
+Path name to the var directory that is used for
+ logs, temporary files, and so forth
+T}
+T{
+MYSQL_TEST_DIR
+T}:T{
+Full path to the mysql\-test directory where tests
+ are being run from
+T}
+T{
+MYSQL_TMP_DIR
+T}:T{
+Path to temp directory used for temporary files during tests
+T}
+.TE
+.sp 1
+.PP
+The variable
+MTR_PORT_BASE
+was added in MySQL 5\&.1\&.45 as a more logical replacement for
+MTR_BUILD_THREAD\&. It gives the actual port number directly (will be rounded down to a multiple of 10)\&. If you use
+MTR_BUILD_THREAD, the port number is found by multiplying this by 10 and adding 10000\&.
+.PP
+Tests sometimes rely on certain environment variables being defined\&. For example, certain tests assume that
+MYSQL_TEST
+is defined so that
+\fBmysqltest\fR
+can invoke itself with
+exec $MYSQL_TEST\&.
+.PP
+Other tests may refer to the last three variables listed in the preceding table, to locate files to read or write\&. For example, tests that need to create files will typically put them in
+$MYSQL_TMP_DIR/\fIfile_name\fR\&.
+.PP
+If you are running
+\fBmysql\-test\-run\&.pl\fR
+version 1 by setting
+MTR_VERSION, note that this only affects the test driver, not the test client (and its language) or the tests themselves\&.
+.PP
+A few tests might not run with version 1 because they depend on some feature of version 2\&. You may have those tests skipped by adding the test name to the file
+lib/v1/incompatible\&.tests\&. This feature is available from MySQL 5\&.1\&.40\&.
+.PP
+\fBmysql\-test\-run\&.pl\fR
+supports the options in the following list\&. An argument of
+\fB\-\-\fR
+tells
+\fBmysql\-test\-run\&.pl\fR
+not to process any following arguments as options\&.
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: help option
+.\" help option: mysql-test-run.pl
+\fB\-\-help\fR,
+\fB\-h\fR
+.sp
+Display a help message and exit\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: big-test option
+.\" big-test option: mysql-test-run.pl
+\fB\-\-big\-test\fR
+.sp
+Allow tests marked as "big" to run\&. Tests can be thus marked by including the line
+\fB\-\-source include/big_test\&.inc\fR, and they will only be run if this option is given, or if the environment variable
+BIG_TEST
+is set to 1\&. Repeat this option twice to run only "big" tests\&.
+.sp
+This is typically used for tests that take a very long to run, or that use many resources, so that they are not suitable for running as part of a normal test suite run\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: boot-dbx option
+.\" boot-dbx option: mysql-test-run.pl
+\fB\-\-boot\-dbx\fR
+.sp
+Run the mysqld server used for bootstrapping the database through the dbx debugger\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: boot-ddd option
+.\" boot-ddd option: mysql-test-run.pl
+\fB\-\-boot\-ddd\fR
+.sp
+Run the mysqld server used for bootstrapping the database through the ddd debugger\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: boot-gdb option
+.\" boot-gdb option: mysql-test-run.pl
+\fB\-\-boot\-gdb\fR
+.sp
+Run the mysqld server used for bootstrapping the database through the gdb debugger\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: build-thread option
+.\" build-thread option: mysql-test-run.pl
+\fB\-\-[mtr\-]build\-thread=\fR\fB\fInumber\fR\fR
+.sp
+Specify a number to calculate port numbers from\&. The formula is 10 *
+\fIbuild_thread\fR
++ 10000\&. Instead of a number, it can be set to
+auto, which is also the default value, in which case
+\fBmysql\-test\-run\&.pl\fR
+will allocate a number unique to this host\&.
+.sp
+The value (number or
+auto) can also be set with the
+MTR_BUILD_THREAD
+environment variable\&.
+.sp
+The more logical
+\fB\-\-port\-base\fR
+is supported as an alternative\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: callgrind option
+.\" callgrind option: mysql-test-run.pl
+\fB\-\-callgrind\fR
+.sp
+Instructs
+\fBvalgrind\fR
+to use
+\fBcallgrind\fR\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: check-testcases option
+.\" check-testcases option: mysql-test-run.pl
+\fB\-\-check\-testcases\fR
+.sp
+Check test cases for side effects\&. This is done by checking system state before and after each test case; if there is any difference, a warning to that effect will be written, but the test case will not be marked as failed because of it\&. This check is enabled by default\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: client-bindir option
+.\" client-bindir option: mysql-test-run.pl
+\fB\-\-client\-bindir=\fR\fB\fIpath\fR\fR
+.sp
+The path to the directory where client binaries are located\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: client-dbx option
+.\" client-dbx option: mysql-test-run.pl
+\fB\-\-client\-dbx\fR
+.sp
+Start
+\fBmysqltest\fR
+in the
+\fBdbx\fR
+debugger\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: client-ddd option
+.\" client-ddd option: mysql-test-run.pl
+\fB\-\-client\-ddd\fR
+.sp
+Start
+\fBmysqltest\fR
+in the
+\fBddd\fR
+debugger\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: client-debugger option
+.\" client-debugger option: mysql-test-run.pl
+\fB\-\-client\-debugger=\fR\fB\fIdebugger\fR\fR
+.sp
+Start
+\fBmysqltest\fR
+in the named debugger\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: client-gdb option
+.\" client-gdb option: mysql-test-run.pl
+\fB\-\-client\-gdb\fR
+.sp
+Start
+\fBmysqltest\fR
+in the
+\fBgdb\fR
+debugger\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: client-libdir option
+.\" client-libdir option: mysql-test-run.pl
+\fB\-\-client\-libdir=\fR\fB\fIpath\fR\fR
+.sp
+The path to the directory where client libraries are located\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: combination option
+.\" combination option: mysql-test-run.pl
+\fB\-\-combination=\fR\fB\fIvalue\fR\fR
+.sp
+Extra options to pass to
+\fBmysqld\fR\&. The value should consist of one or more comma\-separated
+\fBmysqld\fR
+options\&. This option is similar to
+\fB\-\-mysqld\fR
+but should be given two or more times\&.
+\fBmysql\-test\-run\&.pl\fR
+executes multiple test runs, using the options for each instance of
+\fB\-\-combination\fR
+in successive runs\&. If
+\fB\-\-combination\fR
+is given only once, it has no effect\&. For test runs specific to a given test suite, an alternative to the use of
+\fB\-\-combination\fR
+is to create a
+combinations
+file in the suite directory\&. The file should contain a section of options for each test run\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: comment option
+.\" comment option: mysql-test-run.pl
+\fB\-\-comment=\fR\fB\fIstr\fR\fR
+.sp
+Write
+\fIstr\fR
+to the output within lines filled with
+#, as a form of banner\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: compress option
+.\" compress option: mysql-test-run.pl
+\fB\-\-compress\fR
+.sp
+Compress all information sent between the client and the server if both support compression\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: cursor-protocol option
+.\" cursor-protocol option: mysql-test-run.pl
+\fB\-\-cursor\-protocol\fR
+.sp
+Use the cursor protocol between client and server
+(implies
+\fB\-\-ps\-protocol\fR)\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: dbx option
+.\" dbx option: mysql-test-run.pl
+\fB\-\-dbx\fR
+.sp
+Start the
+\fBmysqld(s)\fR
+in the
+\fBdbx\fR
+debugger\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: ddd option
+.\" ddd option: mysql-test-run.pl
+\fB\-\-ddd\fR
+.sp
+Start the
+\fBmysqld(s)\fR
+in the
+\fBddd\fR
+debugger\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: debug option
+.\" debug option: mysql-test-run.pl
+\fB\-\-debug\fR
+.sp
+Dump trace output for all clients and servers\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: debug-common option
+.\" debug-common option: mysql-test-run.pl
+\fB\-\-debug\-common\fR
+.sp
+Same as \fB--debug\fR, but sets the 'd' debug flags to "query,info,error,enter,exit"\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: debug-server option
+.\" debug-server option: mysql-test-run.pl
+\fB\-\-debug\-server\fR
+.sp
+Use debug version of server, but without turning on tracing\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: debugger option
+.\" debugger option: mysql-test-run.pl
+\fB\-\-debugger=\fR\fB\fIdebugger\fR\fR
+.sp
+Start
+\fBmysqld\fR
+using the named debugger\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: debug-sync-timeout option
+.\" debug-sync-timeout option: mysql-test-run.pl
+\fB\-\-debug\-sync\-timeout=\fR\fB\fIN\fR\fR
+.sp
+Controls whether the Debug Sync facility for testing and debugging is enabled\&. The option value is a timeout in seconds\&. The default value is 300\&. A value of 0 disables Debug Sync\&. The value of this option also becomes the default timeout for individual synchronization points\&.
+.sp
+\fBmysql\-test\-run\&.pl\fR
+passes
+\fB\-\-loose\-debug\-sync\-timeout=\fR\fB\fIN\fR\fR
+to
+\fBmysqld\fR\&. The
+\fB\-\-loose\fR
+prefix is used so that
+\fBmysqld\fR
+does not fail if Debug Sync is not compiled in\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: defaults-file option
+.\" defaults-file option: mysql-test-run.pl
+\fB\-\-defaults\-file=\fR\fB\fIfile_name\fR\fR
+.sp
+Use the named file as fixed config file template for all tests\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: defaults_extra_file option
+.\" default_extra_file option: mysql-test-run.pl
+\fB\-\-defaults_extra_file=\fR\fB\fIfile_name\fR\fR
+.sp
+Add setting from the named file to all generated configs\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: do-test option
+.\" do-test option: mysql-test-run.pl
+\fB\-\-do\-test=\fR\fB\fIprefix\fR\fR|\fB\fIregex\fR\fR
+.sp
+Run all test cases having a name that begins with the given
+\fIprefix\fR
+value, or fulfils the
+\fIregex\fR\&. This option provides a convenient way to run a family of similarly named tests\&.
+.sp
+The argument for the
+\fB\-\-do\-test\fR
+option also allows more flexible specification of which tests to perform\&. If the argument contains a pattern metacharacter other than a lone period, it is interpreted as a Perl regular expression and applies to test names that match the pattern\&. If the argument contains a lone period or does not contain any pattern metacharacters, it is interpreted the same way as previously and matches test names that begin with the argument value\&. For example,
+\fB\-\-do\-test=testa\fR
+matches tests that begin with
+testa,
+\fB\-\-do\-test=main\&.testa\fR
+matches tests in the
+main
+test suite that begin with
+testa, and
+\fB\-\-do\-test=main\&.*testa\fR
+matches test names that contain
+main
+followed by
+testa
+with anything in between\&. In the latter case, the pattern match is not anchored to the beginning of the test name, so it also matches names such as
+xmainytestz\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: dry-run option
+.\" dry-run option: mysql-test-run.pl
+\fB\-\-dry\-run\fR
+.sp
+Don't run any tests, print the list of tests that were selected for execution\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: embedded-server option
+.\" embedded-server option: mysql-test-run.pl
+\fB\-\-embedded\-server\fR
+.sp
+Use a version of
+\fBmysqltest\fR
+built with the embedded server\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: enable-disabled option
+.\" enable-disabled option: mysql-test-run.pl
+\fB\-\-enable\-disabled\fR
+.sp
+Ignore any
+disabled\&.def
+file, and also run tests marked as disabled\&. Success or failure of those tests will be reported the same way as other tests\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: experimental option
+.\" experimental option: mysql-test-run.pl
+\fB\-\-experimental=\fR\fB\fIfile_name\fR\fR
+.sp
+Specify a file that contains a list of test cases that should be displayed with the
+[ exp\-fail ]
+code rather than
+[ fail ]
+if they fail\&.
+.sp
+For an example of a file that might be specified via this option, see
+mysql\-test/collections/default\&.experimental\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: extern option
+.\" extern option: mysql-test-run.pl
+\fB\-\-extern\fR
+\fIoption\fR=\fIvalue\fR
+.sp
+Use an already running server\&. The option/value pair is what is needed by the
+\fBmysql\fR
+client to connect to the server\&. Each
+\fB\-\-extern\fR option
+can only take one option/value pair as an argument, so you need to repeat
+\fB\-\-extern\fR
+for each pair needed\&. Example:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+ \&./mysql\-test\-run\&.pl \-\-extern socket=var/tmp/mysqld\&.1\&.sock alias
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+Note: If a test case has an
+\&.opt
+file that requires the server to be restarted with specific options, the file will not be used\&. The test case likely will fail as a result\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: fast option
+.\" fast option: mysql-test-run.pl
+\fB\-\-fast\fR
+.sp
+Do not perform controlled shutdown when servers need to be restarted or at the end of the test run\&. This is equivalent to using
+\-\-shutdown\-timeout=0\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: force-restart option
+.\" force-restart option: mysql-test-run.pl
+\fB\-\-force\-restart\fR
+.sp
+Always restart servers between tests\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: force option
+.\" force option: mysql-test-run.pl
+\fB\-\-force\fR
+.sp
+Normally,
+\fBmysql\-test\-run\&.pl\fR
+exits if a test case fails\&.
+\fB\-\-force\fR
+causes execution to continue regardless of test case failure\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: gcov option
+.\" gcov option: mysql-test-run.pl
+\fB\-\-gcov\fR
+.sp
+Collect coverage information after the test\&. The result is a
+\fBgcov\fR
+file per source and header file\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: gcov-src-dir option
+.\" gcov-src-dir option: mysql-test-run.pl
+\fB\-\-gcov\-src\-dir\fR
+.sp
+Colllect coverage only within the given subdirectory\&. For example, if you're only developing the SQL layer,
+it makes sense to use \fB--gcov-src-dir=sql\fR\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: gdb option
+.\" gdb option: mysql-test-run.pl
+\fB\-\-gdb\fR
+.sp
+Start the
+\fBmysqld(s)\fR
+in the
+\fBgdb\fR
+debugger\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: gprof option
+.\" gprof option: mysql-test-run.pl
+\fB\-\-gprof\fR
+.sp
+Collect profiling information using the
+\fBgprof\fR
+profiling tool\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: manual-dbx option
+.\" manual-dbx option: mysql-test-run.pl
+\fB\-\-manual\-dbx\fR
+.sp
+Use a server that has already been started by the user in the
+\fBdbx\fR
+debugger\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: manual-ddd option
+.\" manual-ddd option: mysql-test-run.pl
+\fB\-\-manual\-ddd\fR
+.sp
+Use a server that has already been started by the user in the
+\fBddd\fR
+debugger\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: manual-debug option
+.\" manual-debug option: mysql-test-run.pl
+\fB\-\-manual\-debug\fR
+.sp
+Use a server that has already been started by the user in a debugger\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: manual-gdb option
+.\" manual-gdb option: mysql-test-run.pl
+\fB\-\-manual\-gdb\fR
+.sp
+Use a server that has already been started by the user in the
+\fBgdb\fR
+debugger\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: manual-lldb option
+.\" manual-lldb option: mysql-test-run.pl
+\fB\-\-manual\-lldb\fR
+.sp
+Use a server that has already been started by the user in the
+\fBlldb\fR
+debugger\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: mark-progress option
+.\" mark-progress option: mysql-test-run.pl
+\fB\-\-mark\-progress\fR
+.sp
+Marks progress with timing (in milliseconds) and line number in
+var/log/\fItestname\fR\&.progress\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: max-connections option
+.\" max-connections option: mysql-test-run.pl
+\fB\-\-max\-connections=\fR\fB\fInum\fR\fR
+.sp
+The maximum number of simultaneous server connections that may be used per test\&. If not set, the maximum is 128\&. Minimum allowed limit is 8, maximum is 5120\&. Corresponds to the same option for
+\fBmysqltest\fR\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: max-save-core option
+.\" max-save-core option: mysql-test-run.pl
+\fB\-\-max\-save\-core=\fR\fB\fIN\fR\fR
+.sp
+Limit the number of core files saved, to avoid filling up disks in case of a frequently crashing server\&. Defaults to 5, set to 0 for no limit\&. May also be set with the environment variable
+MTR_MAX_SAVE_CORE
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: max-save-datadir option
+.\" max-save-datadir option: mysql-test-run.pl
+\fB\-\-max\-save\-datadir=\fR\fB\fIN\fR\fR
+.sp
+Limit the number of data directories saved after failed tests, to avoid filling up disks in case of frequent failures\&. Defaults to 20, set to 0 for no limit\&. May also be set with the environment variable
+MTR_MAX_SAVE_DATADIR
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: max-test-fail option
+.\" max-test-fail option: mysql-test-run.pl
+\fB\-\-max\-test\-fail=\fR\fB\fIN\fR\fR
+.sp
+Stop execution after the specified number of tests have failed, to avoid using up resources (and time) in case of massive failures\&. retries are not counted, nor are failures of tests marked experimental\&. Defaults to 10, set to 0 for no limit\&. May also be set with the environment variable
+MTR_MAX_TEST_FAIL
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: mem option
+.\" mem option: mysql-test-run.pl
+\fB\-\-mem\fR
+.sp
+This option is not supported on Windows\&.
+.sp
+Run the test suite in memory, using tmpfs or ramdisk\&. This can decrease test times significantly, in particular if you would otherwise be running over a remote file system\&.
+\fBmysql\-test\-run\&.pl\fR
+attempts to find a suitable location using a built\-in list of standard locations for tmpfs and puts the
+var
+directory there\&. This option also affects placement of temporary files, which are created in
+var/tmp\&.
+.sp
+The default list includes
+/dev/shm\&. You can also enable this option by setting the environment variable
+MTR_MEM[=\fIdir_name\fR]\&. If
+\fIdir_name\fR
+is given, it is added to the beginning of the list of locations to search, so it takes precedence over any built\-in locations\&.
+.sp
+Once you have run tests with
+\fB\-\-mem\fR
+within a
+mysql\-testdirectory, a soflink
+var
+will have been set up to the temporary directory, and this will be re\-used the next time, until the soflink is deleted\&. Thus, you do not have to repeat the
+\fB\-\-mem\fR
+option next time\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: mysqld option
+.\" mysqld option: mysql-test-run.pl
+\fB\-\-mysqld=\fR\fB\fIvalue\fR\fR
+.sp
+Extra options to pass to
+\fBmysqld\fR\&. The value should consist of one or more comma\-separated
+\fBmysqld\fR
+options\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: mysqld-env option
+.\" mysqld-env option: mysql-test-run.pl
+\fB\-\-mysqld\-env=\fR\fB\fIVAR=VAL\fR\fR
+.sp
+Specify additional environment settings for "mysqld"\&. Use additional \fB--mysqld-env\fR options to set more than one variable\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: nocheck-testcases option
+.\" nocheck-testcases option: mysql-test-run.pl
+\fB\-\-nocheck\-testcases\fR
+.sp
+Disable the check for test case side effects; see
+\fB\-\-check\-testcases\fR
+for a description\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: noreorder option
+.\" noreorder option: mysql-test-run.pl
+\fB\-\-noreorder\fR
+.sp
+Do not reorder tests to reduce number of restarts, but run them in exactly the order given\&. If a whole suite is to be run, the tests are run in alphabetical order, though similar combinations will be grouped together\&. If more than one suite is listed, the tests are run one suite at a time, in the order listed\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: notimer option
+.\" notimer option: mysql-test-run.pl
+\fB\-\-notimer\fR
+.sp
+Cause
+\fBmysqltest\fR
+not to generate a timing file\&. The effect of this is that the report from each test case does not include the timing in milliseconds as it normally does\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: nowarnings option
+.\" nowarnings option: mysql-test-run.pl
+\fB\-\-nowarnings\fR
+.sp
+Do not look for and report errors and warning in the server logs\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: parallel option
+.\" parallel option: mysql-test-run.pl
+\fB\-\-parallel={\fR\fB\fIN\fR\fR\fB|auto}\fR
+.sp
+Run tests using
+\fIN\fR
+parallel threads\&. By default, 1 thread is used\&. Use
+\fB\-\-parallel=auto\fR
+for auto\-setting of
+\fIN\fR\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: port-base option
+.\" port-base option: mysql-test-run.pl
+\fB\-\-[mtr\-]port\-base=\fR\fB\fIP\fR\fR
+.sp
+Specify base of port numbers to be used; a block of 10 will be allocated\&.
+\fIP\fR
+should be divisible by 10; if it is not, it will be rounded down\&. If running with more than one parallel test thread, thread 2 will use the next block of 10 and so on\&.
+.sp
+If the port number is given as
+auto, which is also the default,
+\fBmysql\-test\-run\&.pl\fR will allocate a number unique to this host\&. The value may also be given with the environment variable
+MTR_PORT_BASE\&.
+.sp
+If both \fB\-\-build\-thread\fR and \fB\-\-port\-base\fR are used,
+\fB\-\-port\-base\fR
+takes precedence\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: print-testcases option
+.\" print-testcases option: mysql-test-run.pl
+\fB\-\-print\-testcases\fR
+.sp
+Do not run any tests, but print details about all tests, in the order they would have been run\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: ps-protocol option
+.\" ps-protocol option: mysql-test-run.pl
+\fB\-\-ps\-protocol\fR
+.sp
+Use the binary protocol between client and server\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: record option
+.\" record option: mysql-test-run.pl
+\fB\-\-record\fR
+.sp
+Pass the
+\fB\-\-record\fR
+option to
+\fBmysqltest\fR\&. This option requires a specific test case to be named on the command line\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: reorder option
+.\" reorder option: mysql-test-run.pl
+\fB\-\-reorder\fR
+.sp
+Reorder tests to minimize the number of server restarts needed\&. This is the default behavior\&. There is no guarantee that a particular set of tests will always end up in the same order\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: repeat option
+.\" repeat option: mysql-test-run.pl
+\fB\-\-repeat=\fR\fB\fIN\fR\fR
+.sp
+Run each test
+\fIN\fR
+number of times\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: report-features option
+.\" report-features option: mysql-test-run.pl
+\fB\-\-report\-features\fR
+.sp
+First run a "test" that reports MariaDB features, displaying the output of SHOW ENGINES and SHOW VARIABLES\&. This can be
+used to verify that binaries are built with all required features\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: report-times option
+.\" report-times option: mysql-test-run.pl
+\fB\-\-report\-times\fR
+.sp
+Report how much time has been spent on different phases of test execution\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: retry option
+.\" retry option: mysql-test-run.pl
+\fB\-\-retry=\fR\fB\fIN\fR\fR
+.sp
+If a test fails, it is retried up to a maximum of
+\fIN\fR
+runs (default 1)\&. Retries are also limited by the maximum number of failures before stopping,
+set with the \fB-\-retry\-failure\fR option\&. This option has no effect unless
+\fB\-\-force\fR
+is also used; without it, test execution will terminate after the first failure\&.
+.sp
+The
+\fB\-\-retry\fR
+and
+\fB\-\-retry\-failure\fR
+options do not affect how many times a test repeated with
+\fB\-\-repeat\fR
+may fail in total, as each repetition is considered a new test case, which may in turn be retried if it fails\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: retry-failure option
+.\" retry-failure option: mysql-test-run.pl
+\fB\-\-retry\-failure=\fR\fB\fIN\fR\fR
+.sp
+When using the \fB-\-retry\fR option to retry failed tests,
+stop when N failures have occurred (default 2)\&. Setting it to 0 or 1 effectively turns off retries\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: shutdown-timeout option
+.\" shutdown-timeout option: mysql-test-run.pl
+\fB\-\-shutdown\-timeout=\fR\fB\fISECONDS\fR\fR
+.sp
+Max number of seconds to wait for servers to do controlled shutdown before killing them\&. Default is 10\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: skip-combinations option
+.\" skip-combinations option: mysql-test-run.pl
+\fB\-\-skip\-combinations\fR
+.sp
+Do not apply combinations; ignore combinations file or option\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: skip-rpl option
+.\" skip-rpl option: mysql-test-run.pl
+\fB\-\-skip\-rpl\fR
+.sp
+Skip replication test cases\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: skip-ssl option
+.\" skip-ssl option: mysql-test-run.pl
+\fB\-\-skip\-ssl\fR
+.sp
+Do not start
+\fBmysqld\fR
+with support for SSL connections\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: skip-test option
+.\" skip-test option: mysql-test-run.pl
+\fB\-\-skip\-test=\fR\fB\fIregex\fR\fR|\fR\fB\fIregex\fR\fR
+.sp
+Specify a regular expression to be applied to test case names\&. Cases with names that match the expression are skipped\&. tests to skip\&.
+.sp
+The argument for the
+\fB\-\-skip\-test\fR
+option allows more flexible specification of which tests to skip\&. If the argument contains a pattern metacharacter other than a lone period, it is interpreted as a Perl regular expression and applies to test names that match the pattern\&. See the description of the
+\fB\-\-do\-test\fR
+option for details\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: skip-test-list option
+.\" skip-test-list option: mysql-test-run.pl
+\fB\-\-skip\-test\-list=\fB\fIFILE\fR
+.sp
+Skip the tests listed in FILE\&. Each line in the file is an entry and should be formatted as: <TESTNAME> : <COMMENT>
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+\fB\-\-skip\-*\fR
+.sp
+\fB\-\-skip\-*\fR
+options not otherwise recognized by
+\fBmysql\-test\-run\&.pl\fR
+are passed to the master server\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: sleep option
+.\" sleep option: mysql-test-run.pl
+\fB\-\-sleep=\fR\fB\fIN\fR\fR
+.sp
+Pass
+\fB\-\-sleep=\fR\fB\fIN\fR\fR
+to
+\fBmysqltest\fR\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: sp-protocol option
+.\" sp-protocol option: mysql-test-run.pl
+\fB\-\-sp\-protocol\fR
+.sp
+Create a stored procedure to execute all queries\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: ssl option
+.\" ssl option: mysql-test-run.pl
+\fB\-\-ssl\fR
+.sp
+If
+\fBmysql\-test\-run\&.pl\fR
+is started with the
+\fB\-\-ssl\fR
+option, it sets up a secure connection for all test cases\&. In this case, if
+\fBmysqld\fR
+does not support SSL,
+\fBmysql\-test\-run\&.pl\fR
+exits with an error message:
+Couldn't find support for SSL
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: staging-run option
+.\" staging-run option: mysql-test-run.pl
+\fB\-\-staging\-run\fR
+.sp
+Run a limited number of tests (no slow tests)\&. Used for running staging trees with valgrind\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: start-and-exit option
+.\" start-and-exit option: mysql-test-run.pl
+\fB\-\-start\fR
+.sp
+Initialize and start servers with the startup settings for the specified test case\&. You can use this option to start a server to which you can connect later\&. For example, after building a source distribution you can start a server and connect to it with the
+\fBmysql\fR
+client like this:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+shell> \fBcd mysql\-test\fR
+shell> \fB\&./mysql\-test\-run\&.pl \-\-start alias &\fR
+shell> \fB\&.\&./mysql \-S \&./var/tmp/master\&.sock \-h localhost \-u root\fR
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+If no tests are named on the command line, the server(s) will be started with settings for the first test that would have been run without the
+\fB\-\-start\fR
+option\&.
+.sp
+\fBmysql\-test\-run\&.pl\fR
+will stop once the server has been started, but will terminate if the server dies\&. If killed, it will also shut down the server\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: start-and-exit option
+.\" start-and-exit option: mysql-test-run.pl
+\fB\-\-start\-and\-exit\fR
+.sp
+Same
+\fB\-\-start\fR, but mysql-test-run terminates and leaves just the server running\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: start-dirty option
+.\" start-dirty option: mysql-test-run.pl
+\fB\-\-start\-dirty\fR
+.sp
+This is similar to
+\fB\-\-start\fR, but will skip the database initialization phase and assume that database files are already available\&. Usually this means you must have run another test first\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: start-from option
+.\" start-from option: mysql-test-run.pl
+\fB\-\-start\-from=\fR\fB\fItest_name\fR\fR
+.sp
+\fBmysql\-test\-run\&.pl\fR
+sorts the list of names of the test cases to be run, and then begins with
+\fItest_name\fR\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: strace option
+.\" strace option: mysql-test-run.pl
+\fB\-\-strace\fR
+.sp
+Run the "mysqld" executables using strace. Default options are \fB-f -o var/log/'mysqld-name'.strace\fR\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: strace-client option
+.\" strace-client option: mysql-test-run.pl
+\fB\-\-strace\-client\fR
+.sp
+Create
+\fBstrace\fR
+output for
+\fBmysqltest\fR, optionally specifying name and path
+to the trace program to use\&.
+.sp
+Example: \&./mysql\-test\-run\&.pl \-\-strace\-client=ktrace
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: strace-option option
+.\" strace-option option: mysql-test-run.pl
+\fB\-\-strace\-option\fR=\fR\fB\fIARGS\fR\fR
+.sp
+Option to give
+\fBstrace\fR,
+replaces default option(s)\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: stress option
+.\" stress option: mysql-test-run.pl
+\fB\-\-stress=\fR\fB\fIARGS\fR\fR
+.sp
+Run stress test, providing options to mysql\-stress\-test\&.pl\&. Options are separated by comma\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: suite option
+.\" suite option: mysql-test-run.pl
+\fB\-\-suite[s]=\fR\fB\fIsuite_name...\fR\fR
+.sp
+Comma separated list of suite names to run. The default is:
+"main-,archive-,binlog-,csv-,federated-,funcs_1-,funcs_2-,
+handler-,heap-,innodb-,innodb_fts-,innodb_zip-,maria-,
+multi_source-,optimizer_unfixed_bugs-,parts-,perfschema-,
+plugins-,roles-,rpl-,sys_vars-,unit-,vcol-"\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: stop-file option
+.\" stop-file option: mysql-test-run.pl
+\fB\-\-stop\-file=\fR\fB\fIfile\fR\fR
+.sp
+If this file is detected, mysqltest will not start new tests until the file is removed (also MTR_STOP_FILE environment variable)\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: stop-keep-alive option
+.\" stop-keep-alive option: mysql-test-run.pl
+\fB\-\-stop\-keep\-alive=\fR\fB\fIsec\fR\fR
+.sp
+Works with \fB--stop-file\fR, print messages every \fIsec\fR seconds when mysqltest is waiting to remove the file (for buildbot) (also MTR_STOP_KEEP_ALIVE environment variable)\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: suite-timeout option
+.\" suite-timeout option: mysql-test-run.pl
+\fB\-\-suite\-timeout=\fR\fB\fIminutes\fR\fR
+.sp
+Specify the maximum test suite runtime in minutes\&. The default is 360\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: testcase-timeout option
+.\" testcase-timeout option: mysql-test-run.pl
+\fB\-\-testcase\-timeout\fR
+.sp
+Specify the maximum test case runtime in minutes\&. The default is 15\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: timediff option
+.\" timediff option: mysql-test-run.pl
+\fB\-\-timediff\fR
+.sp
+Used with \fB\-\-timestamp\fR, also print time passed since the previous test started\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: timer option
+.\" timer option: mysql-test-run.pl
+\fB\-\-timer\fR
+.sp
+Cause
+\fBmysqltest\fR
+to generate a timing file\&. The default file is named
+\&./var/log/timer\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: timestamp option
+.\" timestamp option: mysql-test-run.pl
+\fB\-\-timestamp\fR
+.sp
+Prints a timestamp before the test case name in each test report line, showing when the test ended\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: tmpdir option
+.\" tmpdir option: mysql-test-run.pl
+\fB\-\-tmpdir=\fR\fB\fIpath\fR\fR
+.sp
+The directory where temporary file are stored\&. The default location is
+\&./var/tmp\&. The environment variable
+MYSQL_TMP_DIR
+will be set to the path for this directory, whether it has the default value or has been set explicitly\&. This may be referred to in tests\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: user option
+.\" user option: mysql-test-run.pl
+\fB\-\-user=\fR\fB\fIuser_name\fR\fR
+.sp
+The MariaDB user name to use when connecting to the server (default root)\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: user-args option
+.\" user-args option: mysql-test-run.pl
+\fB\-\-user\-args\fR
+.sp
+In combination with \fBstart*\fR and no test name, drops arguments to mysqld except those specified with \fB\-\-mysqld\fR (if any)\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: valgrind option
+.\" valgrind option: mysql-test-run.pl
+\fB\-\-valgrind[\-all]\fR
+.sp
+Run
+\fBmysqltest\fR
+and
+\fBmysqld\fR
+with
+\fBvalgrind\fR\&. This and the following
+\fB\-\-valgrind\fR
+options require that the executables have been built with
+\fBvalgrind\fR
+support\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: valgrind-mysqld option
+.\" valgrind-mysqld option: mysql-test-run.pl
+\fB\-\-valgrind\-mysqld\fR
+.sp
+Run the
+\fBmysqld\fR
+server with
+\fBvalgrind\fR\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: valgrind-mysqltest option
+.\" valgrind-mysqltest option: mysql-test-run.pl
+\fB\-\-valgrind\-mysqltest\fR
+.sp
+Run the
+\fBmysqltest\fR
+and
+\fBmysql_client_test\fR
+executables with
+\fBvalgrind\fR\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: valgrind-options option
+.\" valgrind-options option: mysql-test-run.pl
+\fB\-\-valgrind\-option=\fR\fB\fIstr\fR\fR
+.sp
+Option to give \fBvalgrind\fR. Replaces default option(s)\&. Can be specified more then once&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: valgrind-path option
+.\" valgrind-path option: mysql-test-run.pl
+\fB\-\-valgrind\-path=\fR\fB\fIpath\fR\fR
+.sp
+Path to the
+\fBvalgrind\fR
+executable\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: vardir option
+.\" vardir option: mysql-test-run.pl
+\fB\-\-vardir=\fR\fB\fIpath\fR\fR
+.sp
+Specify the path where files generated during the test run are stored\&. The default location is
+\&./var\&. The environment variable
+MYSQLTEST_VARDIR
+will be set to the path for this directory, whether it has the default value or has been set explicitly\&. This may be referred to in tests\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: verbose option
+.\" verbose option: mysql-test-run.pl
+\fB\-\-verbose\fR
+.sp
+Give more verbose output regarding test execution\&. Use the option twice to get even more output\&. Note that the output generated within each test case is not affected\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: verbose-restart option
+.\" verbose-restart option: mysql-test-run.pl
+\fB\-\-verbose\-restart\fR
+.sp
+Write when and why servers are restarted between test cases\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: view-protocol option
+.\" view-protocol option: mysql-test-run.pl
+\fB\-\-view\-protocol\fR
+.sp
+Create a view to execute all non updating queries\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: vs-config option
+.\" vs-config option: mysql-test-run.pl
+\fB\-\-vs\-config=\fR\fB\fIconfig_val\fR\fR
+.sp
+Visual Studio configuration used to create executables
+(default: MTR_VS_CONFIG environment variable)
+This option is for Windows only\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: wait-all option
+.\" wait-all option: mysql-test-run.pl
+\fB\-\-wait\-all\fR
+.sp
+If
+\fB\-\-start\fR
+or
+\fB\-\-start\-dirty\fR
+is used, wait for all servers to exit before termination\&. Otherwise, it will terminate if one (of several) servers is restarted\&.
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+.\" mysql-test-run.pl: warnings option
+.\" warnings option: mysql-test-run.pl
+\fB\-\-warnings\fR
+.sp
+Search the server log for errors or warning after each test and report any suspicious ones; if any are found, the test will be marked as failed\&. This is the default behavior, it may be turned off with
+\fB\-\-nowarnings\fR\&.
+.RE
+.sp
+.RS 4
+.RE
+.SH "COPYRIGHT"
+.br
+.PP
+Copyright \(co 2007, 2010, Oracle and/or its affiliates, 2010-2020 MariaDB Foundation
+.PP
+This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
+.PP
+This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+.PP
+You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335 USA or see http://www.gnu.org/licenses/.
+.sp
+.SH "SEE ALSO"
+For more information, please refer to the MariaDB Knowledge Base, available online at https://mariadb.com/kb/
+.SH AUTHOR
+MariaDB Foundation (http://www.mariadb.org/).