Within a test case, many system variables can be set by using statements such as these:
SET sql_warnings=1; SET sql_mode='NO_AUTO_VALUE_ON_ZERO';
But sometimes you need to restart the server to use command-line
options that are specific to a given test case. You can specify
these options in a file named
mysql-test/t/
.
When a file named
test_name
-master.optt/
exists, mysql-test-run.pl examines it for extra
options that the server needs to be run with when executing the
test_name
-master.opttest_name
test case. If no server has
yet been started or the current server is running with different
options, mysql-test-run.pl restarts the server
with the new options.
As a special case, the option --skip-core-file
will be interpreted by mysql-test-run.pl, which
will then block the server from producing any core files or crash
dumps during this test. This may be useful for tests that
intentionally crash the server.
Files in the mysql-test/t
directory with
names ending in -slave.opt
are similar, but
they are used for slave servers in replication tests.
Sometimes it's also necessary to execute some external commands
before starting the server, such as creating a directory. If you
add a file named
t/
,
it will be executed by mysql-test-run.pl before
it starts the server; a similar file may be created for the slave
in replication tests.
test_name
-master.sh
Because the .sh
file is executed through
/bin/sh, it cannot be used on Windows, and any
tests using such a file will automatically be skipped if you run
on Windows. For this reason, this mechanism may be replaced with a
more portable one in some future release of MySQL.