diff options
Diffstat (limited to 'man/mysql-test-run.pl.1')
-rw-r--r-- | man/mysql-test-run.pl.1 | 2318 |
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/). |