'\" t
.\"
.TH "\fBMARIADB\-TEST\-RUN\fR" "1" "3 September 2024" "MariaDB 11.4" "MariaDB Database System"
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.\" mariadb-test-run.pl
.SH "NAME"
mariadb-test-run.pl \- run MariaDB test suite
.SH "SYNOPSIS"
.HP \w'\fBmariadb\-test\-run\&.pl\ [\fR\fB\fIoptions\fR\fR\fB]\fR\ 'u
\fBmariadb\-test\-run\&.pl [\fR\fB\fIoptions\fR\fR\fB]\fR
.SH "DESCRIPTION"
.PP
The
\fBmariadb\-test\-run\&.pl\fR
Perl script is the main application used to run the MariaDB test suite\&. It invokes
\fBmariadb-test\fR
to run individual test cases\&.
.PP
Invoke
\fBmariadb\-test\-run\&.pl\fR
in the
mariadb\-test
directory like this:
.sp
.if n \{\
.RS 4
.\}
.nf
shell> \fBmariadb\-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,
\fBmariadb\-test\-run\&.pl\fR
runs the named test case\&. With no
\fItest_name\fR
arguments,
\fBmariadb\-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> \fBmariadb\-test\-run\&.pl mytest\fR
shell> \fBmariadb\-test\-run\&.pl mytest\&.test\fR
shell> \fBmariadb\-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,
\fBmariadb\-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,
\fBmariadb\-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,
\fBmariadb\-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,
\fBmariadb\-test\-run\&.pl\fR
needs to invoke
\fBmariadbd\fR
with the
\fB\-\-bootstrap\fR
and
\fB\-\-skip\-grant\-tables\fR
options\&. If MariaDB 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\&.
\fBmariadb\-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/mariadbd\fR
shell> \fBmake test force="\-\-skip\-test=init_file"\fR
.fi
.if n \{\
.RE
.\}
.PP
To run
\fBmariadb\-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
mariadb\-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
\fBmariadb\-test\-run\&.pl\fR\&. For example (using Cygwin and the
\fBbash\fR
shell):
.sp
.if n \{\
.RS 4
.\}
.nf
shell> \fBcd mariadb\-test\fR
shell> \fBexport MTR_VS_CONFIG=debug\fR
shell> \fB\&./mariadb-test\-run\&.pl \-\-force \-\-timer\fR
shell> \fB\&./mariadb-test\-run\&.pl \-\-force \-\-timer \-\-ps\-protocol\fR
.fi
.if n \{\
.RE
.\}
.PP
\fBmariadb\-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
\fBmariadb\-test\-run\&.pl\fR, others are set by
\fBmariadb\-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 \fBmariadb\-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 \fBmariadb-test\fR binary
T}
T{
MYSQLD_BOOTSTRAP
T}:T{
Full path name to \fBmariadbd\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 mariadb\-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
MARIADB-TEST
is defined so that
\fBmariadb-test\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
\fBmariadb\-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
\fBmariadb\-test\-run\&.pl\fR
supports the options in the following list\&. An argument of
\fB\-\-\fR
tells
\fBmariadb\-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
.\}
.\" mariadb-test-run.pl: help option
.\" help option: mariadb-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
.\}
.\" mariadb-test-run.pl: big-test option
.\" big-test option: mariadb-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
.\}
.\" mariadb-test-run.pl: boot-dbx option
.\" boot-dbx option: mariadb-test-run.pl
\fB\-\-boot\-dbx\fR
.sp
Run the mariadbd 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
.\}
.\" mariadb-test-run.pl: boot-ddd option
.\" boot-ddd option: mariadb-test-run.pl
\fB\-\-boot\-ddd\fR
.sp
Run the mariadbd 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
.\}
.\" mariadb-test-run.pl: boot-gdb option
.\" boot-gdb option: mariadb-test-run.pl
\fB\-\-boot\-gdb\fR
.sp
Run the mariadbd 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
.\}
.\" mariadb-test-run.pl: build-thread option
.\" build-thread option: mariadb-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
\fBmariadb\-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
.\}
.\" mariadb-test-run.pl: callgrind option
.\" callgrind option: mariadb-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
.\}
.\" mariadb-test-run.pl: check-testcases option
.\" check-testcases option: mariadb-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
.\}
.\" mariadb-test-run.pl: client-bindir option
.\" client-bindir option: mariadb-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
.\}
.\" mariadb-test-run.pl: client-dbx option
.\" client-dbx option: mariadb-test-run.pl
\fB\-\-client\-dbx\fR
.sp
Start
\fBmariadb-test\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
.\}
.\" mariadb-test-run.pl: client-ddd option
.\" client-ddd option: mariadb-test-run.pl
\fB\-\-client\-ddd\fR
.sp
Start
\fBmariadb-test\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
.\}
.\" mariadb-test-run.pl: client-debugger option
.\" client-debugger option: mariadb-test-run.pl
\fB\-\-client\-debugger=\fR\fB\fIdebugger\fR\fR
.sp
Start
\fBmariadb-test\fR
in the named debugger\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mariadb-test-run.pl: client-gdb option
.\" client-gdb option: mariadb-test-run.pl
\fB\-\-client\-gdb\fR
.sp
Start
\fBmariadb-test\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
.\}
.\" mariadb-test-run.pl: client-libdir option
.\" client-libdir option: mariadb-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
.\}
.\" mariadb-test-run.pl: combination option
.\" combination option: mariadb-test-run.pl
\fB\-\-combination=\fR\fB\fIvalue\fR\fR
.sp
Extra options to pass to
\fBmariadbd\fR\&. The value should consist of one or more comma\-separated
\fBmariadbd\fR
options\&. This option is similar to
\fB\-\-mariadbd\fR
but should be given two or more times\&.
\fBmariadb\-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
.\}
.\" mariadb-test-run.pl: comment option
.\" comment option: mariadb-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
.\}
.\" mariadb-test-run.pl: compress option
.\" compress option: mariadb-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
.\}
.\" mariadb-test-run.pl: cursor-protocol option
.\" cursor-protocol option: mariadb-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
.\}
.\" mariadb-test-run.pl: dbx option
.\" dbx option: mariadb-test-run.pl
\fB\-\-dbx\fR
.sp
Start the
\fBmariadbd(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
.\}
.\" mariadb-test-run.pl: ddd option
.\" ddd option: mariadb-test-run.pl
\fB\-\-ddd\fR
.sp
Start the
\fBmariadbd(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
.\}
.\" mariadb-test-run.pl: debug option
.\" debug option: mariadb-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
.\}
.\" mariadb-test-run.pl: debug-common option
.\" debug-common option: mariadb-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
.\}
.\" mariadb-test-run.pl: debug-server option
.\" debug-server option: mariadb-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
.\}
.\" mariadb-test-run.pl: debugger option
.\" debugger option: mariadb-test-run.pl
\fB\-\-debugger=\fR\fB\fIdebugger\fR\fR
.sp
Start
\fBmariadbd\fR
using the named debugger\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mariadb-test-run.pl: debug-sync-timeout option
.\" debug-sync-timeout option: mariadb-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
\fBmariadb\-test\-run\&.pl\fR
passes
\fB\-\-loose\-debug\-sync\-timeout=\fR\fB\fIN\fR\fR
to
\fBmariadbd\fR\&. The
\fB\-\-loose\fR
prefix is used so that
\fBmariadbd\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
.\}
.\" mariadb-test-run.pl: defaults-file option
.\" defaults-file option: mariadb-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
.\}
.\" mariadb-test-run.pl: defaults_extra_file option
.\" default_extra_file option: mariadb-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
.\}
.\" mariadb-test-run.pl: do-test option
.\" do-test option: mariadb-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
.\}
.\" mariadb-test-run.pl: dry-run option
.\" dry-run option: mariadb-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
.\}
.\" mariadb-test-run.pl: embedded-server option
.\" embedded-server option: mariadb-test-run.pl
\fB\-\-embedded\-server\fR
.sp
Use a version of
\fBmariadb-test\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
.\}
.\" mariadb-test-run.pl: enable-disabled option
.\" enable-disabled option: mariadb-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
.\}
.\" mariadb-test-run.pl: experimental option
.\" experimental option: mariadb-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
mariadb\-test/collections/default\&.experimental\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mariadb-test-run.pl: extern option
.\" extern option: mariadb-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
\fBmariadb\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
      \&./mariadb\-test\-run\&.pl \-\-extern socket=var/tmp/mariadbd\&.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
.\}
.\" mariadb-test-run.pl: fast option
.\" fast option: mariadb-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
.\}
.\" mariadb-test-run.pl: force-restart option
.\" force-restart option: mariadb-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
.\}
.\" mariadb-test-run.pl: force option
.\" force option: mariadb-test-run.pl
\fB\-\-force\fR
.sp
Normally,
\fBmariadb\-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
.\}
.\" mariadb-test-run.pl: gcov option
.\" gcov option: mariadb-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
.\}
.\" mariadb-test-run.pl: gcov-src-dir option
.\" gcov-src-dir option: mariadb-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
.\}
.\" mariadb-test-run.pl: gdb option
.\" gdb option: mariadb-test-run.pl
\fB\-\-gdb\fR
.sp
Start the
\fBmariadbd(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
.\}
.\" mariadb-test-run.pl: gprof option
.\" gprof option: mariadb-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
.\}
.\" mariadb-test-run.pl: manual-dbx option
.\" manual-dbx option: mariadb-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
.\}
.\" mariadb-test-run.pl: manual-ddd option
.\" manual-ddd option: mariadb-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
.\}
.\" mariadb-test-run.pl: manual-debug option
.\" manual-debug option: mariadb-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
.\}
.\" mariadb-test-run.pl: manual-gdb option
.\" manual-gdb option: mariadb-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
.\}
.\" mariadb-test-run.pl: manual-lldb option
.\" manual-lldb option: mariadb-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
.\}
.\" mariadb-test-run.pl: mark-progress option
.\" mark-progress option: mariadb-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
.\}
.\" mariadb-test-run.pl: max-connections option
.\" max-connections option: mariadb-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
\fBmariadb-test\fR\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mariadb-test-run.pl: max-save-core option
.\" max-save-core option: mariadb-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
.\}
.\" mariadb-test-run.pl: max-save-datadir option
.\" max-save-datadir option: mariadb-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
.\}
.\" mariadb-test-run.pl: max-test-fail option
.\" max-test-fail option: mariadb-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
.\}
.\" mariadb-test-run.pl: mem option
.\" mem option: mariadb-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\&.
\fBmariadb\-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
mariadb\-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
.\}
.\" mariadb-test-run.pl: mariadbd option
.\" mariadbd option: mariadb-test-run.pl
\fB\-\-mariadbd=\fR\fB\fIvalue\fR\fR
.sp
Extra options to pass to
\fBmariadbd\fR\&. The value should consist of one or more comma\-separated
\fBmariadbd\fR
options\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mariadb-test-run.pl: mariadbd-env option
.\" mariadbd-env option: mariadb-test-run.pl
\fB\-\-mariadbd\-env=\fR\fB\fIVAR=VAL\fR\fR
.sp
Specify additional environment settings for "mariadbd"\&. Use additional \fB--mariadbd-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
.\}
.\" mariadb-test-run.pl: nocheck-testcases option
.\" nocheck-testcases option: mariadb-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
.\}
.\" mariadb-test-run.pl: noreorder option
.\" noreorder option: mariadb-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
.\}
.\" mariadb-test-run.pl: notimer option
.\" notimer option: mariadb-test-run.pl
\fB\-\-notimer\fR
.sp
Cause
\fBmariadb-test\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
.\}
.\" mariadb-test-run.pl: nowarnings option
.\" nowarnings option: mariadb-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
.\}
.\" mariadb-test-run.pl: parallel option
.\" parallel option: mariadb-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
.\}
.\" mariadb-test-run.pl: port-base option
.\" port-base option: mariadb-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,
\fBmariadb\-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
.\}
.\" mariadb-test-run.pl: print-testcases option
.\" print-testcases option: mariadb-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
.\}
.\" mariadb-test-run.pl: ps-protocol option
.\" ps-protocol option: mariadb-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
.\}
.\" mariadb-test-run.pl: record option
.\" record option: mariadb-test-run.pl
\fB\-\-record\fR
.sp
Pass the
\fB\-\-record\fR
option to
\fBmariadb-test\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
.\}
.\" mariadb-test-run.pl: reorder option
.\" reorder option: mariadb-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
.\}
.\" mariadb-test-run.pl: repeat option
.\" repeat option: mariadb-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
.\}
.\" mariadb-test-run.pl: report-features option
.\" report-features option: mariadb-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
.\}
.\" mariadb-test-run.pl: report-times option
.\" report-times option: mariadb-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
.\}
.\" mariadb-test-run.pl: retry option
.\" retry option: mariadb-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
.\}
.\" mariadb-test-run.pl: retry-failure option
.\" retry-failure option: mariadb-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
.\}
.\" mariadb-test-run.pl: shutdown-timeout option
.\" shutdown-timeout option: mariadb-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
.\}
.\" mariadb-test-run.pl: skip-combinations option
.\" skip-combinations option: mariadb-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
.\}
.\" mariadb-test-run.pl: skip-rpl option
.\" skip-rpl option: mariadb-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
.\}
.\" mariadb-test-run.pl: skip-ssl option
.\" skip-ssl option: mariadb-test-run.pl
\fB\-\-skip\-ssl\fR
.sp
Do not start
\fBmariadbd\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
.\}
.\" mariadb-test-run.pl: skip-test option
.\" skip-test option: mariadb-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
.\}
.\" mariadb-test-run.pl: skip-test-list option
.\" skip-test-list option: mariadb-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
\fBmariadb\-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
.\}
.\" mariadb-test-run.pl: sleep option
.\" sleep option: mariadb-test-run.pl
\fB\-\-sleep=\fR\fB\fIN\fR\fR
.sp
Pass
\fB\-\-sleep=\fR\fB\fIN\fR\fR
to
\fBmariadb-test\fR\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mariadb-test-run.pl: sp-protocol option
.\" sp-protocol option: mariadb-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
.\}
.\" mariadb-test-run.pl: ssl option
.\" ssl option: mariadb-test-run.pl
\fB\-\-ssl\fR
.sp
If
\fBmariadb\-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
\fBmariadbd\fR
does not support SSL,
\fBmariadb\-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
.\}
.\" mariadb-test-run.pl: staging-run option
.\" staging-run option: mariadb-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
.\}
.\" mariadb-test-run.pl: start-and-exit option
.\" start-and-exit option: mariadb-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
\fBmariadb\fR
client like this:
.sp
.if n \{\
.RS 4
.\}
.nf
shell> \fBcd mariadb\-test\fR
shell> \fB\&./mariadb\-test\-run\&.pl \-\-start alias &\fR
shell> \fB\&.\&./mariadb \-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
\fBmariadb\-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
.\}
.\" mariadb-test-run.pl: start-and-exit option
.\" start-and-exit option: mariadb-test-run.pl
\fB\-\-start\-and\-exit\fR
.sp
Same
\fB\-\-start\fR, but mariadb-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
.\}
.\" mariadb-test-run.pl: start-dirty option
.\" start-dirty option: mariadb-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
.\}
.\" mariadb-test-run.pl: start-from option
.\" start-from option: mariadb-test-run.pl
\fB\-\-start\-from=\fR\fB\fItest_name\fR\fR
.sp
\fBmariadb\-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
.\}
.\" mariadb-test-run.pl: strace option
.\" strace option: mariadb-test-run.pl
\fB\-\-strace\fR
.sp
Run the "mariadbd" executables using strace. Default options are \fB-f -o var/log/'mariadbd-name'.strace\fR\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mariadb-test-run.pl: strace-client option
.\" strace-client option: mariadb-test-run.pl
\fB\-\-strace\-client\fR
.sp
Create
\fBstrace\fR
output for
\fBmariadb-test\fR, optionally specifying name and path
to the trace program to use\&.
.sp
Example: \&./mariadb\-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
.\}
.\" mariadb-test-run.pl: strace-option option
.\" strace-option option: mariadb-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
.\}
.\" mariadb-test-run.pl: stress option
.\" stress option: mariadb-test-run.pl
\fB\-\-stress=\fR\fB\fIARGS\fR\fR
.sp
Run stress test, providing options to mariadb\-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
.\}
.\" mariadb-test-run.pl: suite option
.\" suite option: mariadb-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
.\}
.\" mariadb-test-run.pl: stop-file option
.\" stop-file option: mariadb-test-run.pl
\fB\-\-stop\-file=\fR\fB\fIfile\fR\fR
.sp
If this file is detected, mariadb-test 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
.\}
.\" mariadb-test-run.pl: stop-keep-alive option
.\" stop-keep-alive option: mariadb-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 mariadb-test 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
.\}
.\" mariadb-test-run.pl: suite-timeout option
.\" suite-timeout option: mariadb-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
.\}
.\" mariadb-test-run.pl: testcase-timeout option
.\" testcase-timeout option: mariadb-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
.\}
.\" mariadb-test-run.pl: timediff option
.\" timediff option: mariadb-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
.\}
.\" mariadb-test-run.pl: timer option
.\" timer option: mariadb-test-run.pl
\fB\-\-timer\fR
.sp
Cause
\fBmariadb-test\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
.\}
.\" mariadb-test-run.pl: timestamp option
.\" timestamp option: mariadb-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
.\}
.\" mariadb-test-run.pl: tmpdir option
.\" tmpdir option: mariadb-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
.\}
.\" mariadb-test-run.pl: user option
.\" user option: mariadb-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
.\}
.\" mariadb-test-run.pl: user-args option
.\" user-args option: mariadb-test-run.pl
\fB\-\-user\-args\fR
.sp
In combination with \fBstart*\fR and no test name, drops arguments to mariadbd except those specified with \fB\-\-mariadbd\fR (if any)\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mariadb-test-run.pl: valgrind option
.\" valgrind option: mariadb-test-run.pl
\fB\-\-valgrind[\-all]\fR
.sp
Run
\fBmariadb-test\fR
and
\fBmariadbd\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
.\}
.\" mariadb-test-run.pl: valgrind-mariadbd option
.\" valgrind-mariadbd option: mariadb-test-run.pl
\fB\-\-valgrind\-mariadbd\fR
.sp
Run the
\fBmariadbd\fR
server with
\fBvalgrind\fR\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
.\" mariadb-test-run.pl: valgrind-mariadb-test option
.\" valgrind-mariadb-test option: mariadb-test-run.pl
\fB\-\-valgrind\-mariadb-test\fR
.sp
Run the
\fBmariadb-test\fR
and
\fBmariadb-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
.\}
.\" mariadb-test-run.pl: valgrind-options option
.\" valgrind-options option: mariadb-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
.\}
.\" mariadb-test-run.pl: valgrind-path option
.\" valgrind-path option: mariadb-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
.\}
.\" mariadb-test-run.pl: vardir option
.\" vardir option: mariadb-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
.\}
.\" mariadb-test-run.pl: verbose option
.\" verbose option: mariadb-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
.\}
.\" mariadb-test-run.pl: verbose-restart option
.\" verbose-restart option: mariadb-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
.\}
.\" mariadb-test-run.pl: view-protocol option
.\" view-protocol option: mariadb-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
.\}
.\" mariadb-test-run.pl: vs-config option
.\" vs-config option: mariadb-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
.\}
.\" mariadb-test-run.pl: wait-all option
.\" wait-all option: mariadb-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
.\}
.\" mariadb-test-run.pl: warnings option
.\" warnings option: mariadb-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-2024 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/).
