'\" 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: : .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/).