Author: paul
Date: 2006-06-05 22:15:04 +0200 (Mon, 05 Jun 2006)
New Revision: 2279
Log:
r10279@polar: paul | 2006-06-05 13:55:28 -0500
Restructure document.
Added:
trunk/mysqltest/components.xml
trunk/mysqltest/programs.xml
Modified:
trunk/
trunk/mysqltest/Makefile
trunk/mysqltest/command-reference.xml
trunk/mysqltest/introduction.xml
trunk/mysqltest/mysqltest.xml
trunk/mysqltest/tutorial.xml
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:10264
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:10980
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:7663
+ 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:10279
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:10980
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:7663
Modified: trunk/mysqltest/Makefile
===================================================================
--- trunk/mysqltest/Makefile 2006-06-05 14:03:30 UTC (rev 2278)
+++ trunk/mysqltest/Makefile 2006-06-05 20:15:04 UTC (rev 2279)
@@ -43,7 +43,7 @@
MYSQLTEST_SRCS_EXTRA = fixedchars.ent
-MYSQLTEST_SRCS = $(MYSQLTEST_SRCS_EXTRA) mysqltest.xml legalnotice.en.xml copyright.xml introduction.xml tutorial.xml command-reference.xml
+MYSQLTEST_SRCS = $(MYSQLTEST_SRCS_EXTRA) mysqltest.xml legalnotice.en.xml copyright.xml introduction.xml tutorial.xml components.xml programs.xml command-reference.xml
mysqltest-prepped.xml: $(MYSQLTEST_SRCS)
Modified: trunk/mysqltest/command-reference.xml
===================================================================
--- trunk/mysqltest/command-reference.xml 2006-06-05 14:03:30 UTC (rev 2278)
+++ trunk/mysqltest/command-reference.xml 2006-06-05 20:15:04 UTC (rev 2279)
@@ -2,8 +2,8 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
- <!ENTITY % fixedchars.entities SYSTEM "fixedchars.ent">
- %fixedchars.entities;
+ <!ENTITY % fixedchars.entities SYSTEM "fixedchars.ent">
+ %fixedchars.entities;
]>
<chapter id="mysqltest-reference">
@@ -1719,4 +1719,23 @@
</section>
+ <section id="error-handling">
+
+ <title>Error Handling</title>
+
+ <para>
+ If an expected error is specified and that error occurs,
+ <command>mysqltest</command> continues reading input. If the
+ command is successful or a different error occurs,
+ <command>mysqltest</command> aborts.
+ </para>
+
+ <para>
+ If no expected error is specified, <command>mysqltest</command>
+ aborts unless the command is successful. (It is implicit that you
+ expect <literal>$mysql_errno</literal> to be 0.)
+ </para>
+
+ </section>
+
</chapter>
Added: trunk/mysqltest/components.xml
===================================================================
--- trunk/mysqltest/components.xml (rev 0)
+++ trunk/mysqltest/components.xml 2006-06-05 20:15:04 UTC (rev 2279)
@@ -0,0 +1,444 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % fixedchars.entities SYSTEM "fixedchars.ent">
+ %fixedchars.entities;
+]>
+<chapter id="test-framework-components">
+
+ <title>MySQL Test Framework Components</title>
+
+ <para>
+ The MySQL test framework includes programs that run tests, and
+ directories and files used by those programs.
+ </para>
+
+ <para>
+ <emphasis role="bold">Test Framework Programs</emphasis>
+ </para>
+
+ <para>
+ The MySQL test framework uses several programs:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ The <command>mysql-test-run</command> shell script is the main
+ application used to run the test suite. It invokes
+ <command>mysqltest</command> to run individual test cases.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The <command>mysql-test-run.pl</command> Perl script is
+ currently in development to serve as a replacement for
+ <command>mysql-test-run</command>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <command>mysqltest</command> runs test cases. A version named
+ <command>mysqltest_embedded</command> is similar but is built
+ with support for the <literal>libmysqld</literal> embedded
+ server.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The <command>mysql-stress-test.pl</command> Perl script performs
+ stress-testing of the MySQL server. (MySQL 5.0 and up only)
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ Except for <command>mysqltest</command>, these programs are located
+ in the <filename>mysql-test</filename> directory.
+ <command>mysqltest</command> is located elsewhere. For a source
+ distribution, <command>mysqltest</command> is in the
+ <filename>client</filename> directory. For a binary distribution, it
+ is in the MySQL <filename>bin</filename> directory.
+ </para>
+
+ <para>
+ <emphasis role="bold">Test Framework Directories and
+ Files</emphasis>
+ </para>
+
+ <para>
+ The test suite is located in the <filename>mysql-test</filename>
+ directory. For a source distribution,
+ <filename>mysql-test</filename> is found under the source tree root.
+ For a binary distribution, the location of
+ <filename>mysql-test</filename> depends on the layout used for the
+ distribution format.
+ </para>
+
+ <para>
+ The <filename>mysql-test</filename> directory contains the following
+ components:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ The <command>mysql-test-run</command>,
+ <command>mysql-test-run.pl</command>, and
+ <command>mysql-stress-test.pl</command> programs that are used
+ for running tests.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The <filename>t</filename> directory contains test case input
+ files. A test case file might also have option files associated
+ with it.
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ A filename of the form
+ <filename><replaceable>test_name</replaceable>.test</filename>
+ is a test case file for a test named
+ <replaceable>test_name</replaceable>. For example,
+ <filename>subselect.test</filename> is the test case file
+ for the test named <literal>subselect</literal>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ A filename of the form
+ <filename><replaceable>test_name</replaceable>-master.opt</filename>
+ provides options to associate with the named test case.
+ <literal>mysql-test-run</literal> restarts the server with
+ the options given in the file if the options are different
+ from those required for the currently running server.
+ </para>
+
+ <para>
+ Note that the <filename>-master.opt</filename> file is used
+ for the <quote>main</quote> server of a test, even if no
+ replication is involved.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ A filename of the form
+ <filename><replaceable>test_name</replaceable>-slave.opt</filename>
+ provides slave options.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ A filename of the form
+ <filename><replaceable>test_name</replaceable>-im.opt</filename>
+ provides Instance Manager options.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The <filename>disabled.def</filename> file contains
+ information about deferred/disabled tests.
+ </para>
+
+ <para>
+ [TODO: Describe the format of this file]
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
+ <para>
+ The <filename>r</filename> directory contains test case result
+ files:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ A filename of the form
+ <filename><replaceable>test_name</replaceable>.result</filename>
+ is the expected result for the named test case. A file
+ <filename>r/<replaceable>test_name</replaceable>.result</filename>
+ is the output that corresponds to the input in the test case
+ file
+ <filename>t/<replaceable>test_name</replaceable>.test</filename>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ A filename of the form
+ <filename><replaceable>test_name</replaceable>.reject</filename>
+ contains output for the named test case if the test fails.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ For a test case that succeeds, the <filename>.result</filename>
+ file represents both the expected and actual result. For a test
+ case that fails, the <filename>.result</filename> file
+ represents the expected result, and the
+ <filename>.reject</filename> file represents the actual result.
+ </para>
+
+ <para>
+ [Q: If a <filename>.reject</filename> file is created because a
+ test fails, does <command>mysql-test-run</command> remove the
+ file automatically later the next time the test succeeds?
+ (Apparently not.)]
+ </para>
+
+ <para>
+ [Q: <command>mysql-test-run</command> refers to
+ <filename>.eval</filename> files. What are these for? Do they
+ result from the <literal>eval_result</literal> command and if
+ they exist they are used instead of the corresponding
+ <filename>.result</filename> files? (No longer needed?)]
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The <filename>include</filename> directory contains files that
+ are included by test case files using the
+ <literal>source</literal> command.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The <filename>lib</filename> directory contains library files
+ used by <command>mysql-test-run.pl</command>, and database
+ initialization SQL code.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The <filename>std_data</filename> directory contains data files
+ used by some of the tests.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The <filename>var</filename> directory is used during test runs
+ for various kinds of files: log files, temporary files, trace
+ files, Unix socket files for the servers started during the
+ tests, and so forth. This directory cannot be shared by
+ simultaneous test runs.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ <emphasis role="bold">Test Execution and Evaluation</emphasis>
+ </para>
+
+ <para>
+ [The following stuff would be better for an overview section?]
+ </para>
+
+ <para>
+ A <quote>test case</quote> is a single file. The case might contain
+ multiple individual test commands. If any individual command fails,
+ the entire test case is considered to fail. Note that
+ <quote>fail</quote> means <quote>does not produce the expected
+ result.</quote> It does <emphasis>not</emphasis> necessarily mean
+ <quote>executes without error,</quote> because some tests are
+ written precisely to verify that an illegal statement does in fact
+ produce an error. In such an instance, if the statement executes
+ successfully without producing the expected error, that is
+ considered failure of the test.
+ </para>
+
+ <para>
+ Test case output (the test result) consists of:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Input SQL statements and their output. Each statement is written
+ to the result followed by its output. Columns in output
+ resulting from SQL statements are separated by tab characters.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The result from <command>mysqltest</command> commands such as
+ <literal>echo</literal> and <literal>exec</literal>. The
+ commands themselves are not echoed to the result, only their
+ output.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ The <literal>disable_query_log</literal> and
+ <literal>enable_query_log</literal> commands control logging of
+ input SQL statements. The <literal>disable_result_log</literal> and
+ <literal>enable_result_log</literal> commands control logging of SQL
+ statement results, and warning or error messages resulting from
+ those statements. Output from the <literal>echo</literal> command is
+ not disabled.
+ </para>
+
+ <para>
+ [Q: I'm not sure how the _result_log commands affect logging of
+ <command>mysqltest</command> command output. <literal>eval</literal>
+ command output seems to be turned off/on?]
+ </para>
+
+ <para>
+ <command>mysqltest</command> reads a test case file from its
+ standard input by default. The <option>--test-file</option> or
+ <option>-x</option> option can be given to name a test case file
+ explicitly.
+ </para>
+
+ <para>
+ <command>mysqltest</command> writes test case output to the standard
+ output by default. The <option>--result-file</option> or
+ <option>-R</option> option can be used to indicate the location of
+ the result file. That option, together with the
+ <option>--record</option> option, determine how
+ <command>mysqltest</command> treats the test actual and expected
+ results for a test case:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ If the test produces no results, <command>mysqltest</command>
+ exits with an error message to that effect.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Otherwise, if <option>--result-file</option> is not given,
+ <command>mysqltest</command> sends test results to the standard
+ output.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ With <option>--result-file</option> but not
+ <option>--record</option>, <command>mysqltest</command> reads
+ the expected results from the given file and compares them with
+ the actual results. If the results do not match,
+ <command>mysqltest</command> writes a
+ <filename>.reject</filename> file in the same directory as the
+ result file and exits with an error.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ With both <option>--result-file</option> and
+ <option>--record</option>, <command>mysqltest</command> updates
+ the given file by writing the actual test results to it.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ <command>mysqltest</command> itself knows nothing of the
+ <filename>t</filename> and <filename>r</filename> directories under
+ the <filename>mysql-test</filename> directory. The use of files in
+ those directories is a convention that is used by
+ <command>mysql-test-run</command>, which invokes
+ <command>mysqltest</command> with the appropriate options for each
+ test case to tell <command>mysqltest</command> where to read input
+ and write output.
+ </para>
+
+ <para>
+ [TODO: would be useful to have an example command line here showing
+ how <command>mysql-test-run</command> invokes
+ <command>mysqltest</command>.]
+ </para>
+
+ <section id="tests-and-ssl">
+
+ <title>The Test Framework and SSL</title>
+
+ <para>
+ When <command>mysql-test-run.pl</command> starts, it checks
+ whether <command>mysqld</command> supports SSL connections:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ If <command>mysqld</command> supports SSL,
+ <command>mysql-test-run.pl</command> starts it with the proper
+ <option>--ssl-<replaceable>xxx</replaceable></option> options
+ that enable it to accept SSL connections for those test cases
+ that require secure connections (those with <quote>ssl</quote>
+ in their name). As <command>mysql-test-run.pl</command> runs
+ test cases, a secure connection to <command>mysqld</command>
+ is initiated for those cases that require one. For those test
+ cases that do not require SSL, an unencrypted connection is
+ initiated.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ If <command>mysqld</command> does not support SSL,
+ <command>mysql-test-run.pl</command> skips those test cases
+ that require secure connections.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ If <command>mysql-test-run.pl</command> is started with the
+ <option>--ssl</option> option, it sets up a secure conection for
+ all test cases. In this case, if <command>mysqld</command> does
+ not support SSL, <command>mysql-test-run.pl</command> exits with
+ an error message: <literal>Couldn't find support for SSL</literal>
+ </para>
+
+ <para>
+ For <command>mysql-test-run</command> (the shell version), the
+ <option>--with-openssl</option> option corresponds to the
+ <option>--ssl</option> option for
+ <command>mysql-test-run.pl</command>.
+ </para>
+
+ </section>
+
+</chapter>
Modified: trunk/mysqltest/introduction.xml
===================================================================
--- trunk/mysqltest/introduction.xml 2006-06-05 14:03:30 UTC (rev 2278)
+++ trunk/mysqltest/introduction.xml 2006-06-05 20:15:04 UTC (rev 2279)
@@ -2,8 +2,8 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
- <!ENTITY % fixedchars.entities SYSTEM "fixedchars.ent">
- %fixedchars.entities;
+ <!ENTITY % fixedchars.entities SYSTEM "fixedchars.ent">
+ %fixedchars.entities;
]>
<chapter id="introduction">
Modified: trunk/mysqltest/mysqltest.xml
===================================================================
--- trunk/mysqltest/mysqltest.xml 2006-06-05 14:03:30 UTC (rev 2278)
+++ trunk/mysqltest/mysqltest.xml 2006-06-05 20:15:04 UTC (rev 2279)
@@ -2,17 +2,8 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
- <!ENTITY % fixedchars.entities SYSTEM "fixedchars.ent">
- %fixedchars.entities;
-<!ENTITY current-series "MySQL 5.1">
-<!ENTITY title-mysqltest-for-manpage "program to run test cases">
-<!ENTITY title-mysqltest-for-manual "Program to Run Test Cases">
-<!ENTITY title-mysql-test-run-for-manpage "run MySQL test suite">
-<!ENTITY title-mysql-test-run-for-manual "Run MySQL Test Suite">
-<!ENTITY title-mysql-test-run-pl-for-manpage "run MySQL test suite">
-<!ENTITY title-mysql-test-run-pl-for-manual "Run MySQL Test Suite">
-<!ENTITY title-mysql-stress-test-for-manpage "server stress test program">
-<!ENTITY title-mysql-stress-test-for-manual "Server Stress Test Program">
+ <!ENTITY % fixedchars.entities SYSTEM "fixedchars.ent">
+ %fixedchars.entities;
]>
<book lang="en">
@@ -54,7 +45,7 @@
<para>
MySQL distributions include a set of test cases and programs for
running them. These tools constitute the MySQL test framework that
- provideas a means for verifying that MySQL Server and its client
+ provides a means for verifying that MySQL Server and its client
programs operate according to expectations. The test cases consist
mostly of SQL statements, but can also use test language
constructs that control how to run tests and verify their results.
@@ -66,3957 +57,16 @@
cases.
</para>
- <para>
- Copyright © 2006 MySQL AB
- </para>
-
</preface>
<xi:include href="introduction.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
<xi:include href="tutorial.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
- <chapter id="test-framework-components">
+ <xi:include href="components.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
- <title>MySQL Test Framework Components</title>
+ <xi:include href="programs.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
- <para>
- The MySQL test framework includes programs that run tests, and
- directories and files used by those programs.
- </para>
-
- <para>
- <emphasis role="bold">Test Framework Programs</emphasis>
- </para>
-
- <para>
- The MySQL test framework uses several programs:
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- The <command>mysql-test-run</command> shell script is the main
- application used to run the test suite. It invokes
- <command>mysqltest</command> to run individual test cases.
- </para>
- </listitem>
-
- <listitem>
- <para>
- The <command>mysql-test-run.pl</command> Perl script is
- currently in development to serve as a replacement for
- <command>mysql-test-run</command>.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <command>mysqltest</command> runs test cases. A version named
- <command>mysqltest_embedded</command> is similar but is built
- with support for the <literal>libmysqld</literal> embedded
- server.
- </para>
- </listitem>
-
- <listitem>
- <para>
- The <command>mysql-stress-test.pl</command> Perl script
- performs stress-testing of the MySQL server. (MySQL 5.0 and up
- only)
- </para>
- </listitem>
-
- </itemizedlist>
-
- <para>
- Except for <command>mysqltest</command>, these programs are
- located in the <filename>mysql-test</filename> directory.
- <command>mysqltest</command> is located elsewhere. For a source
- distribution, <command>mysqltest</command> is in the
- <filename>client</filename> directory. For a binary distribution,
- it is in the MySQL <filename>bin</filename> directory.
- </para>
-
- <para>
- <emphasis role="bold">Test Framework Directories and
- Files</emphasis>
- </para>
-
- <para>
- The test suite is located in the <filename>mysql-test</filename>
- directory. For a source distribution,
- <filename>mysql-test</filename> is found under the source tree
- root. For a binary distribution, the location of
- <filename>mysql-test</filename> depends on the layout used for the
- distribution format.
- </para>
-
- <para>
- The <filename>mysql-test</filename> directory contains the
- following components:
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- The <command>mysql-test-run</command>,
- <command>mysql-test-run.pl</command>, and
- <command>mysql-stress-test.pl</command> programs that are used
- for running tests.
- </para>
- </listitem>
-
- <listitem>
- <para>
- The <filename>t</filename> directory contains test case input
- files. A test case file might also have option files
- associated with it.
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- A filename of the form
- <filename><replaceable>test_name</replaceable>.test</filename>
- is a test case file for a test named
- <replaceable>test_name</replaceable>. For example,
- <filename>subselect.test</filename> is the test case file
- for the test named <literal>subselect</literal>.
- </para>
- </listitem>
-
- <listitem>
- <para>
- A filename of the form
- <filename><replaceable>test_name</replaceable>-master.opt</filename>
- provides options to associate with the named test case.
- <literal>mysql-test-run</literal> restarts the server with
- the options given in the file if the options are different
- from those required for the currently running server.
- </para>
-
- <para>
- Note that the <filename>-master.opt</filename> file is
- used for the <quote>main</quote> server of a test, even if
- no replication is involved.
- </para>
- </listitem>
-
- <listitem>
- <para>
- A filename of the form
- <filename><replaceable>test_name</replaceable>-slave.opt</filename>
- provides slave options.
- </para>
- </listitem>
-
- <listitem>
- <para>
- A filename of the form
- <filename><replaceable>test_name</replaceable>-im.opt</filename>
- provides Instance Manager options.
- </para>
- </listitem>
-
- <listitem>
- <para>
- The <filename>disabled.def</filename> file contains
- information about deferred/disabled tests.
- </para>
-
- <para>
- [TODO: Describe the format of this file]
- </para>
- </listitem>
-
- </itemizedlist>
- </listitem>
-
- <listitem>
- <para>
- The <filename>r</filename> directory contains test case result
- files:
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- A filename of the form
- <filename><replaceable>test_name</replaceable>.result</filename>
- is the expected result for the named test case. A file
- <filename>r/<replaceable>test_name</replaceable>.result</filename>
- is the output that corresponds to the input in the test
- case file
- <filename>t/<replaceable>test_name</replaceable>.test</filename>.
- </para>
- </listitem>
-
- <listitem>
- <para>
- A filename of the form
- <filename><replaceable>test_name</replaceable>.reject</filename>
- contains output for the named test case if the test fails.
- </para>
- </listitem>
-
- </itemizedlist>
-
- <para>
- For a test case that succeeds, the
- <filename>.result</filename> file represents both the expected
- and actual result. For a test case that fails, the
- <filename>.result</filename> file represents the expected
- result, and the <filename>.reject</filename> file represents
- the actual result.
- </para>
-
- <para>
- [Q: If a <filename>.reject</filename> file is created because
- a test fails, does <command>mysql-test-run</command> remove
- the file automatically later the next time the test succeeds?
- (Apparently not.)]
- </para>
-
- <para>
- [Q: <command>mysql-test-run</command> refers to
- <filename>.eval</filename> files. What are these for? Do they
- result from the <literal>eval_result</literal> command and if
- they exist they are used instead of the corresponding
- <filename>.result</filename> files? (No longer needed?)]
- </para>
- </listitem>
-
- <listitem>
- <para>
- The <filename>include</filename> directory contains files that
- are included by test case files using the
- <literal>source</literal> command.
- </para>
- </listitem>
-
- <listitem>
- <para>
- The <filename>lib</filename> directory contains library files
- used by <command>mysql-test-run.pl</command>, and database
- initialization SQL code.
- </para>
- </listitem>
-
- <listitem>
- <para>
- The <filename>std_data</filename> directory contains data
- files used by some of the tests.
- </para>
- </listitem>
-
- <listitem>
- <para>
- The <filename>var</filename> directory is used during test
- runs for various kinds of files: log files, temporary files,
- trace files, Unix socket files for the servers started during
- the tests, and so forth. This directory cannot be shared by
- simultaneous test runs.
- </para>
- </listitem>
-
- </itemizedlist>
-
- <para>
- <emphasis role="bold">Test Execution and Evaluation</emphasis>
- </para>
-
- <para>
- [The following stuff would be better for an overview section?]
- </para>
-
- <para>
- A <quote>test case</quote> is a single file. The case might
- contain multiple individual test commands. If any individual
- command fails, the entire test case is considered to fail. Note
- that <quote>fail</quote> means <quote>does not produce the
- expected result.</quote> It does <emphasis>not</emphasis>
- necessarily mean <quote>executes without error,</quote> because
- some tests are written precisely to verify that an illegal
- statement does in fact produce an error. In such an instance, if
- the statement executes successfully without producing the expected
- error, that is considered failure of the test.
- </para>
-
- <para>
- Test case output (the test result) consists of:
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- Input SQL statements and their output. Each statement is
- written to the result followed by its output. Columns in
- output resulting from SQL statements are separated by tab
- characters.
- </para>
- </listitem>
-
- <listitem>
- <para>
- The result from <command>mysqltest</command> commands such as
- <literal>echo</literal> and <literal>exec</literal>. The
- commands themselves are not echoed to the result, only their
- output.
- </para>
- </listitem>
-
- </itemizedlist>
-
- <para>
- The <literal>disable_query_log</literal> and
- <literal>enable_query_log</literal> commands control logging of
- input SQL statements. The <literal>disable_result_log</literal>
- and <literal>enable_result_log</literal> commands control logging
- of SQL statement results, and warning or error messages resulting
- from those statements. Output from the <literal>echo</literal>
- command is not disabled.
- </para>
-
- <para>
- [Q: I'm not sure how the _result_log commands affect logging of
- <command>mysqltest</command> command output.
- <literal>eval</literal> command output seems to be turned off/on?]
- </para>
-
- <para>
- <command>mysqltest</command> reads a test case file from its
- standard input by default. The <option>--test-file</option> or
- <option>-x</option> option can be given to name a test case file
- explicitly.
- </para>
-
- <para>
- <command>mysqltest</command> writes test case output to the
- standard output by default. The <option>--result-file</option> or
- <option>-R</option> option can be used to indicate the location of
- the result file. That option, together with the
- <option>--record</option> option, determine how
- <command>mysqltest</command> treats the test actual and expected
- results for a test case:
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- If the test produces no results, <command>mysqltest</command>
- exits with an error message to that effect.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Otherwise, if <option>--result-file</option> is not given,
- <command>mysqltest</command> sends test results to the
- standard output.
- </para>
- </listitem>
-
- <listitem>
- <para>
- With <option>--result-file</option> but not
- <option>--record</option>, <command>mysqltest</command> reads
- the expected results from the given file and compares them
- with the actual results. If the results do not match,
- <command>mysqltest</command> writes a
- <filename>.reject</filename> file in the same directory as the
- result file and exits with an error.
- </para>
- </listitem>
-
- <listitem>
- <para>
- With both <option>--result-file</option> and
- <option>--record</option>, <command>mysqltest</command>
- updates the given file by writing the actual test results to
- it.
- </para>
- </listitem>
-
- </itemizedlist>
-
- <para>
- <command>mysqltest</command> itself knows nothing of the
- <filename>t</filename> and <filename>r</filename> directories
- under the <filename>mysql-test</filename> directory. The use of
- files in those directories is a convention that is used by
- <command>mysql-test-run</command>, which invokes
- <command>mysqltest</command> with the appropriate options for each
- test case to tell <command>mysqltest</command> where to read input
- and write output.
- </para>
-
- <para>
- [TODO: would be useful to have an example command line here
- showing how <command>mysql-test-run</command> invokes
- <command>mysqltest</command>.]
- </para>
-
- <section id="tests-and-ssl">
-
- <title>The Test Framework and SSL</title>
-
- <para>
- When <command>mysql-test-run.pl</command> starts, it checks
- whether <command>mysqld</command> supports SSL connections:
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- If <command>mysqld</command> supports SSL,
- <command>mysql-test-run.pl</command> starts it with the
- proper <option>--ssl-<replaceable>xxx</replaceable></option>
- options that enable it to accept SSL connections for those
- test cases that require secure connections (those with
- <quote>ssl</quote> in their name). As
- <command>mysql-test-run.pl</command> runs test cases, a
- secure connection to <command>mysqld</command> is initiated
- for those cases that require one. For those test cases that
- do not require SSL, an unencrypted connection is initiated.
- </para>
- </listitem>
-
- <listitem>
- <para>
- If <command>mysqld</command> does not support SSL,
- <command>mysql-test-run.pl</command> skips those test cases
- that require secure connections.
- </para>
- </listitem>
-
- </itemizedlist>
-
- <para>
- If <command>mysql-test-run.pl</command> is started with the
- <option>--ssl</option> option, it sets up a secure conection for
- all test cases. In this case, if <command>mysqld</command> does
- not support SSL, <command>mysql-test-run.pl</command> exits with
- an error message: <literal>Couldn't find support for
- SSL</literal>
- </para>
-
- <para>
- For <command>mysql-test-run</command> (the shell version), the
- <option>--with-openssl</option> option corresponds to the
- <option>--ssl</option> option for
- <command>mysql-test-run.pl</command>.
- </para>
-
- </section>
-
- </chapter>
-
- <chapter id="test-programs">
-
- <title>MySQL Test Programs</title>
-
- <remark>
- Note: The sections here that describe each program are written
- using refentry markup so that the content can be included in the
- MySQL Reference Manual and used for generating Unix manpages more
- easily.
- </remark>
-
- <para>
- This chapter describes the test programs that run test cases. For
- information about the language used for writing test cases, see
- <xref linkend="mysqltest-reference"/>.
- </para>
-
- <para>
- The test suite uses the following programs:
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- The <command>mysql-test-run</command> shell script is the main
- application used to run the test suite. It invokes
- <command>mysqltest</command> to run individual test cases.
- </para>
- </listitem>
-
- <listitem>
- <para>
- The <command>mysql-test-run.pl</command> Perl script is
- currently in development to serve as a replacement for
- <command>mysql-test-run</command>.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <command>mysqltest</command> runs test cases. A version named
- <command>mysqltest_embedded</command> is similar but is built
- with support for the <literal>libmysqld</literal> embedded
- server.
- </para>
- </listitem>
-
- <listitem>
- <para>
- The <command>mysql-stress-test.pl</command> Perl script
- performs stress-testing of the MySQL server. (MySQL 5.0 and up
- only)
- </para>
- </listitem>
-
- </itemizedlist>
-
- <section id="fake-id-for-mysqltest-manpage-section-wrapper">
-
- <title>fake title for mysqltest manpage section wrapper</title>
-
- <refentry id="mysqltest">
-
- <indexterm>
- <primary><command>mysqltest</command></primary>
- </indexterm>
-
- <refmeta>
- <refentrytitle><command>mysqltest</command></refentrytitle>
-
- <manvolnum>1</manvolnum>
- <refmiscinfo class="manual">MySQL Database System</refmiscinfo>
- <refmiscinfo class="source">MySQL</refmiscinfo>
- <refmiscinfo class="version">¤t-series;</refmiscinfo>
- <refmiscinfo class="refman">&title-mysqltest-for-manual;</refmiscinfo>
- </refmeta>
-
- <refnamediv>
- <refname>mysqltest</refname>
-
- <refpurpose>&title-mysqltest-for-manpage;</refpurpose>
- </refnamediv>
-
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>mysqltest [<replaceable>options</replaceable>] [<replaceable>db_name</replaceable>]</command>
- </cmdsynopsis>
- </refsynopsisdiv>
-
- <refsection id="mysqltest-description">
-
- <title>Description</title>
-
- <para>
- The <command>mysqltest</command> program runs a test case
- against a MySQL server and optionally compares the output
- with a result file. This program reads input written in a
- special test language. Typically, you invoke
- <command>mysqltest</command> via
- <command>mysql-test-run</command> rather than invoking it
- directly.
- </para>
-
- <para>
- Features of <command>mysqltest</command>:
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- Can send SQL statements to MySQL servers for execution
- </para>
- </listitem>
-
- <listitem>
- <para>
- Can execute external shell commands
- </para>
- </listitem>
-
- <listitem>
- <para>
- Can test whether the result from SQL statements or shell
- commands is as expected
- </para>
- </listitem>
-
- <listitem>
- <para>
- Can connect to one or more standalone
- <command>mysqld</command> servers and switch between
- connections
- </para>
- </listitem>
-
- <listitem>
- <para>
- Can connect to an embedded server
- (<literal>libmysqld</literal>), if MySQL is compiled
- with support for <literal>libmysqld</literal> (in this
- case, the executable is named
- <command>mysqltest_embedded</command> rather than
- <command>mysqltest</command>)
- </para>
- </listitem>
-
- </itemizedlist>
-
- <para>
- By default, <command>mysqltest</command> reads the test case
- on the standard input. To run <command>mysqltest</command>
- this way, you normally invoke it like this:
- </para>
-
-<programlisting>
-shell> <userinput>mysqltest [<replaceable>options</replaceable>] [<replaceable>db_name</replaceable>] < <replaceable>test_file</replaceable></userinput>
-</programlisting>
-
- <para>
- You can also name the test case file with a
- <option>--test-file=<replaceable>file_name</replaceable></option>
- option.
- </para>
-
- </refsection>
-
- <refsection id="mysqltest-options">
-
- <title><command>mysqltest</command> Options</title>
-
- <remark role="note">
- Also supports the standard SSL options. (And what else?)
- </remark>
-
-<!-- THIS IS FOR MANPAGE IN REFMAN, NOT mysql manual itself
- <para>
- This section describes the command options that
- <command>mysqltest</command> implements.
- <command>mysqltest</command> also implements a language for
- writing test files. For details about this language and
- instructions for writing test files, see the
- <command>mysqltest</command> manual, available at [URL]
- </para>
--->
-
- <para>
- <command>mysqltest</command> supports the following options:
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>help option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>help option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--help</option>, <option>-?</option>
- </para>
-
- <para>
- Display a help message and exit.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>basedir option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>basedir option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--basedir=<replaceable>dir_name</replaceable></option>,
- <option>-b <replaceable>dir_name</replaceable></option>
- </para>
-
- <para>
- The base directory for tests.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>big-test option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>big-test option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--big-test</option>, <option>-B</option>
- </para>
-
- <para>
- Define the <command>mysqltest</command> variable
- <literal>$BIG_TEST</literal> as 1.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>compress option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>compress option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--compress</option>, <option>-C</option>
- </para>
-
- <para>
- Compress all information sent between the client and the
- server if both support compression.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>cursor-protocol option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>cursor-protocol option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--cursor-protocol</option>
- </para>
-
- <para>
- Use cursors for prepared statements (implies
- <option>--ps-protocol</option>). This option was added
- in MySQL 5.0.19.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>database option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>database option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--database=<replaceable>db_name</replaceable></option>,
- <option>-D <replaceable>db_name</replaceable></option>
- </para>
-
- <para>
- The default database to use.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>debug option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>debug option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--debug[=<replaceable>debug_options</replaceable>]</option>,
- <option>-#[<replaceable>debug_options</replaceable>]</option>
- </para>
-
- <para>
- Write a debugging log if MySQL is built with debugging
- support. The default
- <replaceable>debug_options</replaceable> value is
- <literal>'d:t:S:i:O,/tmp/mysqltest.trace'</literal>.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>host option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>host option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--host=<replaceable>host_name</replaceable></option>,
- <option>-h <replaceable>host_name</replaceable></option>
- </para>
-
- <para>
- Connect to the MySQL server on the given host.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>include option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>include option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--include=<replaceable>file_name</replaceable></option>,
- <option>-i <replaceable>file_name</replaceable></option>
- </para>
-
- <para>
- Include the contents of the given file before processing
- the contents of the test file. The included file should
- have the same format as other
- <command>mysqltest</command> test files. This option has
- the same effect as putting a <literal>--source
- <replaceable>file_name</replaceable></literal> command
- as the first line of the test file. This option was
- added in MySQL 5.1.7.
- </para>
- </listitem>
-
- <listitem>
- <remark role="todo">
- This and the next several options should be commented
- out for the manpage in the reference manual.
- </remark>
-
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>manager-host option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>manager-host option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--manager-host=<replaceable>host_name</replaceable></option>
- </para>
-
- <para>
- Undocumented: Used for debugging.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>manager-password option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>manager-password option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--manager-password=<replaceable>password</replaceable></option>
- </para>
-
- <para>
- Undocumented: Used for debugging.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>manager-port option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>manager-port option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--manager-port=<replaceable>port_num</replaceable></option>
- </para>
-
- <para>
- Undocumented: Used for debugging. The default value is
- 23456.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>manager-user option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>manager-user option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--manager-user=<replaceable>user_name</replaceable></option>
- </para>
-
- <para>
- Undocumented: Used for debugging. The default value is
- <literal>root</literal>.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>manager-wait-timeout option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>manager-wait-timeout option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--manager-wait-timeout=<replaceable>num</replaceable></option>
- </para>
-
- <para>
- Undocumented: Used for debugging. The default value is
- 3.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>max-connect-retries option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>max-connect-retries option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--max-connect-retries=<replaceable>num</replaceable></option>
- </para>
-
- <para>
- The maximum number of connection attempts when
- connecting to server. This option was added in MySQL
- 5.0.23.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>no-defaults option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>no-defaults option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--no-defaults</option>
- </para>
-
- <para>
- Do not read default options from any option files.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>password option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>password option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--password[=<replaceable>password</replaceable>]</option>,
- <option>-p[<replaceable>password</replaceable>]</option>
- </para>
-
- <para>
- The password to use when connecting to the server. If
- you use the short option form (<option>-p</option>), you
- <emphasis>cannot</emphasis> have a space between the
- option and the password. If you omit the
- <replaceable>password</replaceable> value following the
- <option>--password</option> or <option>-p</option>
- option on the command line, you are prompted for one.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>port option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>port option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--port=<replaceable>port_num</replaceable></option>,
- <option>-P <replaceable>port_num</replaceable></option>
- </para>
-
- <para>
- The TCP/IP port number to use for the connection.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>ps-protocol option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>ps-protocol option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--ps-protocol</option>
- </para>
-
- <para>
- Use the prepared-statement protocol for communication.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>quiet option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>quiet option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--quiet</option>
- </para>
-
- <para>
- Suppress all normal output. This is a synonym for
-
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>silent option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>silent option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--silent</option>.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>record option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>record option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--record</option>, <option>-r</option>
- </para>
-
- <remark role="todo">
- What happens if no --result-file option is given?
- </remark>
-
- <para>
- Record the output that results from running the test
- file into the file named by the
- <option>--result-file</option> option, if that option is
- given.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>result-file option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>result-file option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--result-file=<replaceable>file_name</replaceable></option>,
- <option>-R <replaceable>file_name</replaceable></option>
- </para>
-
- <para>
- This option specifies the file for test case expected
- results. <option>--result-file</option>, together with
- <option>--record</option>, determines how
- <command>mysqltest</command> treats the test actual and
- expected results for a test case:
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- If the test produces no results,
- <command>mysqltest</command> exits with an error
- message to that effect.
- </para>
- </listitem>
-
- <listitem>
- <para>
- Otherwise, if <option>--result-file</option> is not
- given, <command>mysqltest</command> sends test
- results to the standard output.
- </para>
- </listitem>
-
- <listitem>
- <para>
- With <option>--result-file</option> but not
- <option>--record</option>,
- <command>mysqltest</command> reads the expected
- results from the given file and compares them with
- the actual results. If the results do not match,
- <command>mysqltest</command> writes a
- <filename>.reject</filename> file in the same
- directory as the result file and exits with an
- error.
- </para>
-
- <para>
- [Q: And does what with the result from the
- comparison? Is this similar to using the
- <literal>result</literal> command?]
- </para>
- </listitem>
-
- <listitem>
- <para>
- With both <option>--result-file</option> and
- <option>--record</option>,
- <command>mysqltest</command> updates the given file
- by writing the actual test results to it.
- </para>
- </listitem>
-
- </itemizedlist>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>server-arg option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>server-arg option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--server-arg=<replaceable>value</replaceable></option>,
- <option>-A <replaceable>value</replaceable></option>
- </para>
-
- <para>
- Pass the argument as an argument to the embedded server.
- For example, <option>--server-arg=--tmpdir=/tmp</option>
- or <option>--server-arg=--core</option>. Up to 64
- arguments can be given.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>server-file option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>server-file option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--server-file=<replaceable>file_name</replaceable></option>,
- <option>-F <replaceable>file_name</replaceable></option>
- </para>
-
- <para>
- Read arguments for the embedded server from the given
- file. The file should contain one argument per line.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>silent option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>silent option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--silent</option>, <option>-s</option>
- </para>
-
- <para>
- Suppress all normal output.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>skip-safemalloc option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>skip-safemalloc option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--skip-safemalloc</option>
- </para>
-
- <para>
- Do not use memory allocation checking.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>sleep option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>sleep option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--sleep=<replaceable>num</replaceable></option>,
- <option>-T <replaceable>num</replaceable></option>
- </para>
-
- <para>
- Cause all <literal>sleep</literal> commands to sleep
- <replaceable>num</replaceable> seconds. This option does
- not affect <literal>real_sleep</literal> commands.
- </para>
-
- <para>
- [BUG: <option>--sleep=0</option> has no effect. That is,
- it doesn't cause a sleep of 0 seconds. Instead,
- <literal>sleep</literal> commands in the test file sleep
- by the amount specified in the file. I have filed a bug
- report with a suggested patch. (Bug#18312)]
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>socket option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>socket option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--socket=<replaceable>path</replaceable></option>,
- <option>-S <replaceable>path</replaceable></option>
- </para>
-
- <para>
- The socket file to use when connecting to
- <literal>localhost</literal> (which is the default
- host).
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>sp-protocol option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>sp-protocol option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--sp-protocol</option>
- </para>
-
- <para>
- Execute DML statements within a stored procedure. For
- every DML statement, <command>mysqltest</command>
- creates and invokes a stored procedure that executes the
- statement rather than executing the statement directly.
- This option was added in MySQL 5.0.19.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>test-file option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>test-file option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--test-file=<replaceable>file_name</replaceable></option>,
- <option>-x <replaceable>file_name</replaceable></option>
- </para>
-
- <para>
- Read test input from this file. The default is to read
- from the standard input.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>timer-file option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>timer-file option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--timer-file=<replaceable>file_name</replaceable></option>,
- <option>-m <replaceable>file_name</replaceable></option>
- </para>
-
- <para>
- The file where the timing in microseconds is written.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>tmpdir option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>tmpdir option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--tmpdir=<replaceable>dir_name</replaceable></option>,
- <option>-t <replaceable>dir_name</replaceable></option>
- </para>
-
- <remark role="todo">
- "put" = "created"?
- </remark>
-
- <para>
- The temporary directory where socket files are put.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>user option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>user option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--user=<replaceable>user_name</replaceable></option>,
- <option>-u <replaceable>user_name</replaceable></option>
- </para>
-
- <para>
- The MySQL username to use when connecting to the server.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>verbose option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>verbose option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--verbose</option>, <option>-v</option>
- </para>
-
- <para>
- Verbose mode. Print out more information what the
- program does.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>version option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>version option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--version</option>, <option>-V</option>
- </para>
-
- <para>
- Display version information and exit.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysqltest</primary>
- <secondary>view-protocol option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>view-protocol option</primary>
- <secondary>mysqltest</secondary>
- </indexterm>
-
- <option>--view-protocol</option>
- </para>
-
- <para>
- Every <literal>SELECT</literal> statement is wrapped
- inside a view. This option was added in MySQL 5.0.19.
- </para>
- </listitem>
-
- </itemizedlist>
-
- </refsection>
-
- </refentry>
-
- </section>
-
- <section id="fake-id-for-mysql-test-run-manpage-section-wrapper">
-
- <title>fake title for mysql-test-run manpage section wrapper</title>
-
- <refentry id="mysql-test-run">
-
- <indexterm>
- <primary><command>mysql-test-run</command></primary>
- </indexterm>
-
- <refmeta>
- <refentrytitle><command>mysql-test-run</command></refentrytitle>
-
- <manvolnum>1</manvolnum>
- <refmiscinfo class="manual">MySQL Database System</refmiscinfo>
- <refmiscinfo class="source">MySQL</refmiscinfo>
- <refmiscinfo class="version">¤t-series;</refmiscinfo>
- <refmiscinfo class="refman">&title-mysql-test-run-for-manual;</refmiscinfo>
- </refmeta>
-
- <refnamediv>
- <refname>mysql-test-run</refname>
-
- <refpurpose>&title-mysql-test-run-for-manpage;</refpurpose>
- </refnamediv>
-
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>mysql-test-run [<replaceable>options</replaceable>] [<replaceable>test_name</replaceable>] ...</command>
- </cmdsynopsis>
- </refsynopsisdiv>
-
- <refsection id="mysql-test-run-description">
-
- <title>Description</title>
-
- <para>
- <command>mysql-test-run</command> is the main application
- that is used to run the test suite. It invokes
- <command>mysqltest</command> to run individual test cases.
- </para>
-
- <para>
- <command>mysql-test-run</command> is a shell script, so it
- does not run on Windows. A replacement script
- (<command>mysql-test-run.pl</command>) is being developed
- that is written in Perl and therefore has better
- cross-platform portability. You can substitute
- <command>mysql-test-run.pl</command> for
- <command>mysql-test-run</command> whenever you see the
- latter in this document, but
- <command>mysql-test-run.pl</command> should still be
- considered experimental.
- <command>mysql-test-run.pl</command> will be the only script
- available as of MySQL 5.2. [Q: Perhaps this replacement will
- occur earlier]
- </para>
-
- <para>
- Invoke <command>mysql-test-run</command> in the
- <filename>mysql-test</filename> directory like this:
- </para>
-
-<programlisting>
-shell> <userinput>mysql-test-run [<replaceable>options</replaceable>] [<replaceable>test_name</replaceable>] ...</userinput>
-</programlisting>
-
- <para>
- Each <replaceable>test_name</replaceable> argument names a
- test case. The test case file that corresponds to the test
- name is
- <filename>t/<replaceable>test_name</replaceable>.test</filename>.
- </para>
-
- <para>
- For each <replaceable>test_name</replaceable> argument,
- <command>mysql-test-run</command> runs the named test case.
- With no <replaceable>test_name</replaceable> arguments,
- <command>mysql-test-run</command> runs all
- <filename>.test</filename> files in the
- <filename>t</filename> subdirectory.
- </para>
-
- <para>
- To run a family of test cases for which the names share a
- common prefix, use the
- <option>--do-tests=<replaceable>prefix</replaceable></option>
- option. For example, <option>--do-tests=rpl</option> runs
- the replication tests (test cases that have names beginning
- with <literal>rpl</literal>).
- </para>
-
- <para>
- <command>mysql-test-run</command> defines several
- environment variables. Some of them are listed in the
- following table.
- </para>
-
- <informaltable>
- <tgroup cols="2">
- <colspec colwidth="30*"/>
- <colspec colwidth="70*"/>
- <tbody>
- <row>
- <entry><emphasis role="bold">Variable</emphasis></entry>
- <entry><emphasis role="bold">Meaning</emphasis></entry>
- </row>
- <row>
- <entry><literal>MYSQL_TEST</literal></entry>
- <entry>Pathname to <command>mysqltest</command> binary</entry>
- </row>
- <row>
- <entry><literal>MYSQLTEST_VARDIR</literal></entry>
- <entry>Pathname to the <filename>var</filename> directory that is used for
- logs, temporary files, and so forth</entry>
- </row>
- <row>
- <entry><literal>MASTER_MYPORT</literal></entry>
- <entry>???</entry>
- </row>
- <row>
- <entry><literal>MASTER_MYSOCK</literal></entry>
- <entry>???</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>
- [Q: Are there other important variables that should be
- mentioned here? Does the Perl script export the same
- environment variables?]
- </para>
-
- <para>
- Tests sometimes rely on certain environment variables being
- defined. For example, certain tests assume that
- <literal>MYSQL_TEST</literal> is defined so that
- <command>mysqltest</command> can invoke itself with
- <literal>exec $MYSQL_TEST</literal>.
- </para>
-
- </refsection>
-
- <refsection id="mysql-test-run-options">
-
- <title><command>mysql-test-run</command> Options</title>
-
- <para>
- [Q: Is there an option to display the commands being run? Or
- a <quote>dry run</quote> option to display the commands
- without executing them? Apparently not.]
- </para>
-
- <para>
- <command>mysql-test-run</command> supports the options in
- the following list. An argument of <option>--</option> tells
- <command>mysql-test-run</command> not to process any
- following arguments as options. [Q: Does
- <literal>--</literal> also have that effect for
- <command>mysql-test-run.pl</command>?]
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>help option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>help option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--help</option>, <option>-?</option>
- </para>
-
- <para>
- Display a help message and exit.
- </para>
-
- <para>
- [BUG: In fact, <command>mysql-test-run</command> does
- not have a <option>--help</option> option. That is a
- deficiency that is corrected in
- <command>mysql-test-run.pl</command>, but for
- <command>mysql-test-run</command> there is no runtime
- command that you can use to discover its options.]
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>bench option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>bench option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--bench</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>big option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>big option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--big-test</option>
- </para>
-
- <para>
- Pass the <option>--big-test</option> option to
- <command>mysqltest</command>.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>client-gdb option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>client-gdb option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--client-gdb</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>comment option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>comment option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--comment=<replaceable>str</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>compress option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>compress option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--compress</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>ddd option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>ddd option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--ddd</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>debug option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>debug option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--debug</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>do-test option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>do-test option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--do-test=<replaceable>prefix</replaceable></option>
- </para>
-
- <para>
- Run all test cases having a name that begins with the
- given <replaceable>prefix</replaceable> value. This
- option provides a convenient way to run a family of
- similarly named tests.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>embedded-server option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>embedded-server option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--embedded-server</option>
- </para>
-
- <para>
- Use a version of <command>mysqltest</command> built with
- the embedded server.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>extern option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>extern option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--extern</option>
- </para>
-
- <para>
- Use an already running server.
- </para>
-
- <para>
- Note: If a test has an <filename>.opt</filename> file
- that requires the server to be restarted with specific
- options, the file will not be used. The test likely will
- fail as a result.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>fast option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>fast option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--fast</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>force option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>force option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--force</option>
- </para>
-
- <para>
- Normally, <command>mysql-test-run</command> exits if a
- test case fails. <option>--force</option> causes
- execution to continue regardless of test case failure.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>gcov option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>gcov option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--gcov</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>gdb option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>gdb option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--gdb</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>gprof option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>gprof option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--gprof</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>local option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>local option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--local</option>
- </para>
-
- <para>
- Do not use an already running server.
- <command>mysql-run-test</command> starts a server and
- tells <command>mysqltest</command> to use it. This is
- the default as of MySQL 4.1.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>local-master option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>local-master option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--local-master</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>manager option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>manager option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--manager</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>manager-port option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>manager-port option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--manager-port=<replaceable>port_num</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>manual-gdb option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>manual-gdb option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--manual-gdb</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>master-binary option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>master-binary option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--master-binary=<replaceable>path</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>master_port option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>master_port option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--master_port=<replaceable>port_num</replaceable></option>
- </para>
-
- <para>
- [Note the glitch that the option name has an underscore
- and not a dash (both versions)]
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>mysqld option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>mysqld option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--mysqld=<replaceable>path</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>ndb-connectstring-slave option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>ndb-connectstring-slave option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--ndb-connectstring-slave=<replaceable>str</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>ndb-connectstring option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>ndb-connectstring option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--ndb-connectstring=<replaceable>str</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>ndb-extra-test option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>ndb-extra-test option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--ndb-extra-test</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>ndb-verbose option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>ndb-verbose option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--ndb-verbose</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>ndb_mgm-extra-opts option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>ndb_mgm-extra-opts option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--ndb_mgm-extra-opts=<replaceable>str</replaceable></option>
- </para>
-
- <para>
- [Note the glitch that the option name has an underscore
- and not a dash]
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>ndb_mgmd-extra-opts option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>ndb_mgmd-extra-opts option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--ndb_mgmd-extra-opts=<replaceable>str</replaceable></option>
- </para>
-
- <para>
- [Note the glitch that the option name has an underscore
- and not a dash]
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>ndbcluster-port-slave option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>ndbcluster-port-slave option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--ndbcluster-port-slave=<replaceable>port_num</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>ndbcluster-port option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>ndbcluster-port option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--ndbcluster-port=<replaceable>port_num</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>ndbcluster_port option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>ndbcluster_port option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--ndbcluster_port=<replaceable>port_num</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>ndbd-extra-opts option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>ndbd-extra-opts option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--ndbd-extra-opts=<replaceable>str</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>no-manager option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>no-manager option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--no-manager</option>,
-
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>skip-manager option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>skip-manager option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--skip-manager</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>old-master option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>old-master option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--old-master</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>ps-protocol option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>ps-protocol option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--ps-protocol</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>purify option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>purify option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--purify</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>record option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>record option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--record</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>skip-master-binlog option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>skip-master-binlog option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--skip-master-binlog</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>skip-ndbcluster option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>skip-ndbcluster option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--skip-ndbcluster</option>,
-
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>skip-ndb option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>skip-ndb option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--skip-ndb</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>skip-ndbcluster-slave option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>skip-ndbcluster-slave option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--skip-ndbcluster-slave</option>,
-
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>skip-ndb-slave option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>skip-ndb-slave option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--skip-ndb-slave</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>skip-rpl option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>skip-rpl option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--skip-rpl</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>skip-slave-binlog option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>skip-slave-binlog option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--skip-slave-binlog</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>skip-test option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>skip-test option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--skip-test=<replaceable>regex</replaceable></option>
- </para>
-
- <para>
- Specify a regular expression that matches the names of
- tests to skip.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <option>--skip-*</option>
- </para>
-
- <para>
- <option>--skip-*</option> options not otherwise
- recognized by <command>mysql-test-run</command> are
- passed to the master server.
- </para>
-
- <para>
- [Q: is that true in the Perl version as well?]
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>slave-binary option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>slave-binary option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--slave-binary=<replaceable>path</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>slave_port option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>slave_port option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--slave_port=<replaceable>port_num</replaceable></option>
- </para>
-
- <para>
- [Note the glitch that the option name has an underscore
- and not a dash (both versions)]
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>sleep option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>sleep option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--sleep=<replaceable>N</replaceable></option>
- </para>
-
- <para>
- [Q: Passed to <command>mysqltest</command>?]
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>small-bench option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>small-bench option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--small-bench</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>socket option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>socket option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--socket=<replaceable>file_name</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>start-and-exit option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>start-and-exit option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--start-and-exit</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>start-from option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>start-from option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--start-from=<replaceable>test_name</replaceable></option>
- </para>
-
- <para>
- <command>mysql-test-run</command> sorts the list of
- names indicating which tests to run, and then begins
- with <replaceable>test_name</replaceable>.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>strace-client option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>strace-client option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--strace-client</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>stress option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>stress option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--stress</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>stress-init-file option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>stress-init-file option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--stress-init-file=<replaceable>file_name</replaceable></option>
- </para>
-
- <para>
- This option enables initialization of the stress
- database by execution of test files.
- <replaceable>file_name</replaceable> is the location of
- the file that contains the list of tests. If
- <replaceable>file_name</replaceable> is omitted, the
- default file is <filename>stress-init.txt</filename> in
- the stress suite base directory. [Q: Is that correct?]
- (See <option>--stress-suite-basedir</option>.)
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>stress-loop-count option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>stress-loop-count option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--stress-loop-count=<replaceable>N</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>stress-mode option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>stress-mode option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--stress-mode=<replaceable>mode</replaceable></option>
- </para>
-
- <para>
- The stress test mode, either <literal>random</literal>
- to select tests in randome order or
- <literal>seq</literal> to run tests in each thread in
- the order specified in the test list file.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>stress-suite option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>stress-suite option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--stress-suite=<replaceable>suite_name</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>stress-test-count option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>stress-test-count option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--stress-test-count=<replaceable>N</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>stress-test-duration option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>stress-test-duration option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--stress-test-duration=<replaceable>N</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>stress-test-file option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>stress-test-file option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--stress-test-file=<replaceable>file_name</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>stress-threads option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>stress-threads option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--stress-threads=<replaceable>N</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>timer option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>timer option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--timer</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>tmpdir option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>tmpdir option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--tmpdir=<replaceable>path</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>use-old-data option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>use-old-data option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--use-old-data</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>user-test option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>user-test option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--user-test=<replaceable>val</replaceable></option>
- </para>
-
- <para>
- Unused, apparently.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>user option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>user option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--user=<replaceable>user_name</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>valgrind option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>valgrind option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--valgrind</option>,
-
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>valgrind-all option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>valgrind-all option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--valgrind-all</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>valgrind-mysqltest option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>valgrind-mysqltest option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--valgrind-mysqltest</option>,
-
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>valgrind-mysqltest-all option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>valgrind-mysqltest-all option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--valgrind-mysqltest-all</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>valgrind-options option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>valgrind-options option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--valgrind-options=<replaceable>str</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>verbose-manager option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>verbose-manager option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--verbose-manager</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>wait-timeout option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>wait-timeout option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--wait-timeout=<replaceable>N</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>warnings option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>warnings option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--warnings</option>,
-
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>log-warnings option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>log-warnings option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--log-warnings</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>with-ndbcluster option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>with-ndbcluster option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--with-ndbcluster</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>with-ndbcluster-all option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>with-ndbcluster-all option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--with-ndbcluster-all</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>with-ndbcluster-only option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>with-ndbcluster-only option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--with-ndbcluster-only</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>with-ndbcluster-slave option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>with-ndbcluster-slave option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--with-ndbcluster-slave</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run</primary>
- <secondary>with-openssl option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>with-openssl option</primary>
- <secondary>mysql-test-run</secondary>
- </indexterm>
-
- <option>--with-openssl</option>
- </para>
-
- <para>
- If <command>mysql-test-run</command> is started with the
- <option>--ssl</option> option, it sets up a secure
- conection for all test cases. In this case, if
- <command>mysqld</command> does not support SSL,
- <command>mysql-test-run</command> exits with an error
- message: <literal>Couldn't find support for
- SSL</literal>
- </para>
- </listitem>
-
- </itemizedlist>
-
- </refsection>
-
- </refentry>
-
- </section>
-
- <section id="fake-id-for-mysql-test-run-pl-manpage-section-wrapper">
-
- <title>fake title for mysql-test-run.pl manpage section wrapper</title>
-
- <refentry id="mysql-test-run-pl">
-
- <indexterm>
- <primary><command>mysql-test-run.pl</command></primary>
- </indexterm>
-
- <refmeta>
- <refentrytitle><command>mysql-test-run.pl</command></refentrytitle>
-
- <manvolnum>1</manvolnum>
- <refmiscinfo class="manual">MySQL Database System</refmiscinfo>
- <refmiscinfo class="source">MySQL</refmiscinfo>
- <refmiscinfo class="version">¤t-series;</refmiscinfo>
- <refmiscinfo class="refman">&title-mysql-test-run-pl-for-manual;</refmiscinfo>
- </refmeta>
-
- <refnamediv>
- <refname>mysql-test-run.pl</refname>
-
- <refpurpose>&title-mysql-test-run-pl-for-manpage;</refpurpose>
- </refnamediv>
-
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>mysql-test-run.pl [<replaceable>options</replaceable>]</command>
- </cmdsynopsis>
- </refsynopsisdiv>
-
- <refsection id="mysql-test-run-pl-description">
-
- <title>Description</title>
-
- <para>
- The <command>mysql-test-run.pl</command> Perl script is
- currently in development to serve as a replacement for
- <command>mysql-test-run</command>.
- </para>
-
- <para>
- Invoke <command>mysql-test-run.pl</command> in the
- <filename>mysql-test</filename> directory like this:
- </para>
-
-<programlisting>
-shell> <userinput>mysql-test-run.pl [<replaceable>options</replaceable>] [<replaceable>test_name</replaceable>] ...</userinput>
-</programlisting>
-
- </refsection>
-
- <refsection id="mysql-test-run-pl-options">
-
- <title><command>mysql-test-run.pl</command> Options</title>
-
- <para>
- [Because the options for the Perl script are so similar to
- those for the shell script, just describe here by referring
- to the option list for <command>mysql-test-run</command>,
- and note which options have been dropped and which added in
- <command>mysql-test-run.pl</command>.
- </para>
-
- <para>
- <command>mysql-test-run.pl</command> supports the following
- options:
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run.pl</primary>
- <secondary>help option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>help option</primary>
- <secondary>mysql-test-run.pl</secondary>
- </indexterm>
-
- <option>--help</option>
- </para>
-
- <para>
- Display a help message and exit.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-test-run.pl</primary>
- <secondary>ssl option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>ssl option</primary>
- <secondary>mysql-test-run.pl</secondary>
- </indexterm>
-
- <option>--ssl</option>
- </para>
-
- <para>
- If <command>mysql-test-run.pl</command> is started with
- the <option>--ssl</option> option, it sets up a secure
- conection for all test cases. In this case, if
- <command>mysqld</command> does not support SSL,
- <command>mysql-test-run.pl</command> exits with an error
- message: <literal>Couldn't find support for
- SSL</literal>
- </para>
- </listitem>
-
- </itemizedlist>
-
- <para>
- [Fill in this section with all
- <command>mysql-test-run.pl</command> options that
- <command>mysql-test-run</command> does not have]
- </para>
-
- </refsection>
-
- </refentry>
-
- </section>
-
- <section id="fake-id-for-mysql-stress-test-manpage-section-wrapper">
-
- <title>fake title for mysql-stress-test.pl manpage section wrapper</title>
-
- <refentry id="mysql-stress-test">
-
- <indexterm>
- <primary><command>mysql-stress-test.pl</command></primary>
- </indexterm>
-
- <refmeta>
- <refentrytitle><command>mysql-stress-test.pl</command></refentrytitle>
-
- <manvolnum>1</manvolnum>
- <refmiscinfo class="manual">MySQL Database System</refmiscinfo>
- <refmiscinfo class="source">MySQL</refmiscinfo>
- <refmiscinfo class="version">¤t-series;</refmiscinfo>
- <refmiscinfo class="refman">&title-mysql-stress-test-for-manual;</refmiscinfo>
- </refmeta>
-
- <refnamediv>
- <refname>mysql-stress-test.pl</refname>
-
- <refpurpose>&title-mysql-stress-test-for-manpage;</refpurpose>
- </refnamediv>
-
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>mysql-stress-test.pl [<replaceable>options</replaceable>]</command>
- </cmdsynopsis>
- </refsynopsisdiv>
-
- <refsection id="mysql-stress-test-description">
-
- <title>Description</title>
-
- <para>
- The <command>mysql-stress-test.pl</command> Perl script
- performs stress-testing of the MySQL server. (MySQL 5.0 and
- up only)
- </para>
-
- <para>
- <command>mysql-stress-test.pl</command> requires a version
- of Perl that has been built with threads support.
- </para>
-
- <para>
- Invoke <command>mysql-stress-test.pl</command> like this:
- [Q: In the <filename>mysql-test</filename> directory?]
- </para>
-
-<programlisting>
-shell> <userinput>mysql-stress-test.pl [<replaceable>options</replaceable>]</userinput>
-</programlisting>
-
- </refsection>
-
- <refsection id="mysql-stress-test-options">
-
- <title><command>mysql-stress-test.pl</command> Options</title>
-
- <para>
- <command>mysql-stress-test.pl</command> supports the
- following options:
- </para>
-
- <para>
- [TODO: Use <option>--help</option> message to fill in
- descriptions here]
- </para>
-
- <itemizedlist>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>help option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>help option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--help</option>
- </para>
-
- <para>
- Display a help message and exit.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>abort-on-error option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>abort-on-error option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--abort-on-error</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>check-tests-file option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>check-tests-file option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--check-tests-file</option>
- </para>
-
- <para>
- [Q: I don't understand what the <option>--help</option>
- text means]
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>cleanup option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>cleanup option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--cleanup</option>
- </para>
-
- <para>
- Force cleanup of the working directory.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>log-error-details option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>log-error-details option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--log-error-details</option>
- </para>
-
- <para>
- Log error details in the global error log file. [Q:
- Which is named what?]
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>loop-count option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>loop-count option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--loop-count=<replaceable>N</replaceable></option>
- </para>
-
- <para>
- In sequential test mode, the number of loops to execute
- before exiting.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>mysqltest option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>mysqltest option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--mysqltest=<replaceable>path</replaceable></option>
- </para>
-
- <para>
- The pathname to the <command>mysqltest</command>
- program.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>server-database option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>server-database option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--server-database=<replaceable>db_name</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>server-host option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>server-host option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--server-host=<replaceable>host_name</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>server-logs-dir option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>server-logs-dir option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--server-logs-dir=<replaceable>path</replaceable></option>
- </para>
-
- <para>
- This option is required. <replaceable>path</replaceable>
- is the directory where all client session logs will be
- stored. Usually this is the shared directory that is
- associated with the server used for testing.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>server-password option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>server-password option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--server-password=<replaceable>password</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>server-port option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>server-port option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--server-port=<replaceable>port_num</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>server-socket option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>server-socket option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--server-socket=<replaceable>file_name</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>server-user option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>server-user option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--server-user=<replaceable>user_name</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>sleep-time option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>sleep-time option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--sleep-time=<replaceable>N</replaceable></option>
- </para>
-
- <para>
- The delay in seconds between test executions.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>stress-basedir option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>stress-basedir option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--stress-basedir=<replaceable>path</replaceable></option>
- </para>
-
- <para>
- This option is required. <replaceable>path</replaceable>
- is the working directory for the test run. It is used as
- the temporary location for result tracking during
- testing.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>stress-datadir option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>stress-datadir option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--stress-datadir=<replaceable>path</replaceable></option>
- </para>
-
- <para>
- The directory of data files to be used during testing.
- The default location is the <filename>data</filename>
- directory under the location given by the
- <option>--stress-suite-basedir</option> option.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>stress-init-file option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>stress-init-file option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--stress-init-file[=<replaceable>path</replaceable>]</option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>stress-mode option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>stress-mode option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--stress-mode=<replaceable>mode</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>stress-suite-basedir option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>stress-suite-basedir option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--stress-suite-basedir=<replaceable>path</replaceable></option>
- </para>
-
- <para>
- This option is required. <replaceable>path</replaceable>
- is the directory that has the <filename>t</filename> and
- <replaceable>r</replaceable> subdirectories containing
- the test case and result files. This directory is also
- the default location of the
- <filename>stress-test.txt</filename> file that contains
- the list of tests. (A different location can be
- specified with the <option>--stress-tests-file</option>
- option.)
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>stress-tests-file option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>stress-tests-file option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--stress-tests-file[=<replaceable>file_name</replaceable>]</option>
- </para>
-
- <para>
- Use this option to run the stress tests.
- <replaceable>file_name</replaceable> is the location of
- the file that contains the list of tests. If
- <replaceable>file_name</replaceable> is omitted, the
- default file is <filename>stress-test.txt</filename> in
- the stress suite base directory. [Q: Is that correct?]
- (See <option>--stress-suite-basedir</option>.)
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>suite option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>suite option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--suite=<replaceable>suite_name</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>test-count option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>test-count option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--test-count=<replaceable>N</replaceable></option>
- </para>
-
- <para>
- The number of tests to execute before exiting.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>test-duration option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>test-duration option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--test-duration=<replaceable>N</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>test-suffix option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>test-suffix option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--test-suffix=<replaceable>str</replaceable></option>
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>threads option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>threads option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--threads=<replaceable>N</replaceable></option>
- </para>
-
- <para>
- The number of threads.
- </para>
- </listitem>
-
- <listitem>
- <para>
- <indexterm>
- <primary>mysql-stress-test.pl</primary>
- <secondary>verbose option</secondary>
- </indexterm>
-
- <indexterm>
- <primary>verbose option</primary>
- <secondary>mysql-stress-test.pl</secondary>
- </indexterm>
-
- <option>--verbose</option>
- </para>
- </listitem>
-
- </itemizedlist>
-
- </refsection>
-
- </refentry>
-
- </section>
-
- </chapter>
-
<xi:include href="command-reference.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
- <chapter id="mysqltest-misc">
-
- <title><command>mysqltest</command> Misc. Stuff</title>
-
- <para>
- [TODO: All this stuff needs to be moved somewhere else]
- </para>
-
- <section id="error-handling">
-
- <title>Error Handling</title>
-
- <para>
- If an expected error is specified and that error occurs,
- <command>mysqltest</command> continues reading input. If the
- command is successful or a different error occurs,
- <command>mysqltest</command> aborts.
- </para>
-
- <para>
- If no expected error is specified, <command>mysqltest</command>
- aborts unless the command is successful. (It is implicit that
- you expect <literal>$mysql_errno</literal> to be 0.)
- </para>
-
- </section>
-
- <section id="environment-overview">
-
- <title>Test Environment Overview</title>
-
- <para>
- There are two ways the same test environment should handle. One
- is to talk to an installed running server. The second case is to
- be able to start a server from the binaries in the source tree,
- i.e. an uninstalled MySQL server. Because of this in general you
- don't start a server and create a connection from the test case,
- this is done by the <command>mysql-test-run</command> script
- before your test case is run.
- </para>
-
- </section>
-
- <section id="language-overview">
-
- <title>Language Overview</title>
-
- <para>
- The <command>mysqltest</command> program is a small interpreter
- for a special test language. Lines that it doesn't recognize as
- its own commands are assumed to be SQL statements to be sent to
- the MySQL server. In effect, this makes the test files look like
- SQL scripts with some small extensions.
- </para>
-
- <para>
- Commands to the test engine itself are often put into comments,
- like --cmd. This sometimes leads to conflicts with comments that
- start with the same word as a command.
- </para>
-
- <para>
- Mention that <command>make test</command> in the top directory
- of a source directory also run <command>mysql-test-run</command>
- as one of its effects.
- </para>
-
- </section>
-
- </chapter>
-
</book>
Added: trunk/mysqltest/programs.xml
===================================================================
--- trunk/mysqltest/programs.xml (rev 0)
+++ trunk/mysqltest/programs.xml 2006-06-05 20:15:04 UTC (rev 2279)
@@ -0,0 +1,3427 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+ <!ENTITY % fixedchars.entities SYSTEM "fixedchars.ent">
+ %fixedchars.entities;
+<!ENTITY current-series "MySQL 5.1">
+<!ENTITY title-mysqltest-for-manpage "program to run test cases">
+<!ENTITY title-mysqltest-for-manual "Program to Run Test Cases">
+<!ENTITY title-mysql-test-run-for-manpage "run MySQL test suite">
+<!ENTITY title-mysql-test-run-for-manual "Run MySQL Test Suite">
+<!ENTITY title-mysql-test-run-pl-for-manpage "run MySQL test suite">
+<!ENTITY title-mysql-test-run-pl-for-manual "Run MySQL Test Suite">
+<!ENTITY title-mysql-stress-test-for-manpage "server stress test program">
+<!ENTITY title-mysql-stress-test-for-manual "Server Stress Test Program">
+]>
+<chapter id="test-programs">
+
+ <title>MySQL Test Programs</title>
+
+ <remark>
+ Note: The sections here that describe each program are written using
+ refentry markup so that the content can be included in the MySQL
+ Reference Manual and used for generating Unix manpages more easily.
+ </remark>
+
+ <para>
+ This chapter describes the test programs that run test cases. For
+ information about the language used for writing test cases, see
+ <xref linkend="mysqltest-reference"/>.
+ </para>
+
+ <para>
+ The test suite uses the following programs:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ The <command>mysql-test-run</command> shell script is the main
+ application used to run the test suite. It invokes
+ <command>mysqltest</command> to run individual test cases.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The <command>mysql-test-run.pl</command> Perl script is
+ currently in development to serve as a replacement for
+ <command>mysql-test-run</command>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <command>mysqltest</command> runs test cases. A version named
+ <command>mysqltest_embedded</command> is similar but is built
+ with support for the <literal>libmysqld</literal> embedded
+ server.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The <command>mysql-stress-test.pl</command> Perl script performs
+ stress-testing of the MySQL server. (MySQL 5.0 and up only)
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <section id="fake-id-for-mysqltest-manpage-section-wrapper">
+
+ <title>fake title for mysqltest manpage section wrapper</title>
+
+ <refentry id="mysqltest">
+
+ <indexterm>
+ <primary><command>mysqltest</command></primary>
+ </indexterm>
+
+ <refmeta>
+ <refentrytitle><command>mysqltest</command></refentrytitle>
+
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="manual">MySQL Database System</refmiscinfo>
+ <refmiscinfo class="source">MySQL</refmiscinfo>
+ <refmiscinfo class="version">¤t-series;</refmiscinfo>
+ <refmiscinfo class="refman">&title-mysqltest-for-manual;</refmiscinfo>
+ </refmeta>
+
+ <refnamediv>
+ <refname>mysqltest</refname>
+
+ <refpurpose>&title-mysqltest-for-manpage;</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>mysqltest [<replaceable>options</replaceable>] [<replaceable>db_name</replaceable>]</command>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+
+ <refsection id="mysqltest-description">
+
+ <title>Description</title>
+
+ <para>
+ The <command>mysqltest</command> program runs a test case
+ against a MySQL server and optionally compares the output with
+ a result file. This program reads input written in a special
+ test language. Typically, you invoke
+ <command>mysqltest</command> via
+ <command>mysql-test-run</command> rather than invoking it
+ directly.
+ </para>
+
+ <para>
+ Features of <command>mysqltest</command>:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Can send SQL statements to MySQL servers for execution
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Can execute external shell commands
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Can test whether the result from SQL statements or shell
+ commands is as expected
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Can connect to one or more standalone
+ <command>mysqld</command> servers and switch between
+ connections
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Can connect to an embedded server
+ (<literal>libmysqld</literal>), if MySQL is compiled with
+ support for <literal>libmysqld</literal> (in this case,
+ the executable is named
+ <command>mysqltest_embedded</command> rather than
+ <command>mysqltest</command>)
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ By default, <command>mysqltest</command> reads the test case
+ on the standard input. To run <command>mysqltest</command>
+ this way, you normally invoke it like this:
+ </para>
+
+<programlisting>
+shell> <userinput>mysqltest [<replaceable>options</replaceable>] [<replaceable>db_name</replaceable>] < <replaceable>test_file</replaceable></userinput>
+</programlisting>
+
+ <para>
+ You can also name the test case file with a
+ <option>--test-file=<replaceable>file_name</replaceable></option>
+ option.
+ </para>
+
+ </refsection>
+
+ <refsection id="mysqltest-options">
+
+ <title><command>mysqltest</command> Options</title>
+
+ <remark role="note">
+ Also supports the standard SSL options. (And what else?)
+ </remark>
+
+<!-- THIS IS FOR MANPAGE IN REFMAN, NOT mysql manual itself
+ <para>
+ This section describes the command options that
+ <command>mysqltest</command> implements.
+ <command>mysqltest</command> also implements a language for
+ writing test files. For details about this language and
+ instructions for writing test files, see the
+ <command>mysqltest</command> manual, available at [URL]
+ </para>
+-->
+
+ <para>
+ <command>mysqltest</command> supports the following options:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>help option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>help option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--help</option>, <option>-?</option>
+ </para>
+
+ <para>
+ Display a help message and exit.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>basedir option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>basedir option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--basedir=<replaceable>dir_name</replaceable></option>,
+ <option>-b <replaceable>dir_name</replaceable></option>
+ </para>
+
+ <para>
+ The base directory for tests.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>big-test option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>big-test option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--big-test</option>, <option>-B</option>
+ </para>
+
+ <para>
+ Define the <command>mysqltest</command> variable
+ <literal>$BIG_TEST</literal> as 1.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>compress option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>compress option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--compress</option>, <option>-C</option>
+ </para>
+
+ <para>
+ Compress all information sent between the client and the
+ server if both support compression.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>cursor-protocol option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>cursor-protocol option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--cursor-protocol</option>
+ </para>
+
+ <para>
+ Use cursors for prepared statements (implies
+ <option>--ps-protocol</option>). This option was added in
+ MySQL 5.0.19.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>database option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>database option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--database=<replaceable>db_name</replaceable></option>,
+ <option>-D <replaceable>db_name</replaceable></option>
+ </para>
+
+ <para>
+ The default database to use.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>debug option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>debug option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--debug[=<replaceable>debug_options</replaceable>]</option>,
+ <option>-#[<replaceable>debug_options</replaceable>]</option>
+ </para>
+
+ <para>
+ Write a debugging log if MySQL is built with debugging
+ support. The default
+ <replaceable>debug_options</replaceable> value is
+ <literal>'d:t:S:i:O,/tmp/mysqltest.trace'</literal>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>host option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>host option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--host=<replaceable>host_name</replaceable></option>,
+ <option>-h <replaceable>host_name</replaceable></option>
+ </para>
+
+ <para>
+ Connect to the MySQL server on the given host.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>include option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>include option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--include=<replaceable>file_name</replaceable></option>,
+ <option>-i <replaceable>file_name</replaceable></option>
+ </para>
+
+ <para>
+ Include the contents of the given file before processing
+ the contents of the test file. The included file should
+ have the same format as other <command>mysqltest</command>
+ test files. This option has the same effect as putting a
+ <literal>--source
+ <replaceable>file_name</replaceable></literal> command as
+ the first line of the test file. This option was added in
+ MySQL 5.1.7.
+ </para>
+ </listitem>
+
+ <listitem>
+ <remark role="todo">
+ This and the next several options should be commented out
+ for the manpage in the reference manual.
+ </remark>
+
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>manager-host option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>manager-host option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--manager-host=<replaceable>host_name</replaceable></option>
+ </para>
+
+ <para>
+ Undocumented: Used for debugging.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>manager-password option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>manager-password option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--manager-password=<replaceable>password</replaceable></option>
+ </para>
+
+ <para>
+ Undocumented: Used for debugging.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>manager-port option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>manager-port option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--manager-port=<replaceable>port_num</replaceable></option>
+ </para>
+
+ <para>
+ Undocumented: Used for debugging. The default value is
+ 23456.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>manager-user option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>manager-user option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--manager-user=<replaceable>user_name</replaceable></option>
+ </para>
+
+ <para>
+ Undocumented: Used for debugging. The default value is
+ <literal>root</literal>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>manager-wait-timeout option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>manager-wait-timeout option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--manager-wait-timeout=<replaceable>num</replaceable></option>
+ </para>
+
+ <para>
+ Undocumented: Used for debugging. The default value is 3.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>max-connect-retries option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>max-connect-retries option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--max-connect-retries=<replaceable>num</replaceable></option>
+ </para>
+
+ <para>
+ The maximum number of connection attempts when connecting
+ to server. This option was added in MySQL 5.0.23.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>no-defaults option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>no-defaults option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--no-defaults</option>
+ </para>
+
+ <para>
+ Do not read default options from any option files.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>password option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>password option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--password[=<replaceable>password</replaceable>]</option>,
+ <option>-p[<replaceable>password</replaceable>]</option>
+ </para>
+
+ <para>
+ The password to use when connecting to the server. If you
+ use the short option form (<option>-p</option>), you
+ <emphasis>cannot</emphasis> have a space between the
+ option and the password. If you omit the
+ <replaceable>password</replaceable> value following the
+ <option>--password</option> or <option>-p</option> option
+ on the command line, you are prompted for one.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>port option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>port option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--port=<replaceable>port_num</replaceable></option>,
+ <option>-P <replaceable>port_num</replaceable></option>
+ </para>
+
+ <para>
+ The TCP/IP port number to use for the connection.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>ps-protocol option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>ps-protocol option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--ps-protocol</option>
+ </para>
+
+ <para>
+ Use the prepared-statement protocol for communication.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>quiet option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>quiet option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--quiet</option>
+ </para>
+
+ <para>
+ Suppress all normal output. This is a synonym for
+
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>silent option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>silent option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--silent</option>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>record option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>record option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--record</option>, <option>-r</option>
+ </para>
+
+ <remark role="todo">
+ What happens if no --result-file option is given?
+ </remark>
+
+ <para>
+ Record the output that results from running the test file
+ into the file named by the <option>--result-file</option>
+ option, if that option is given.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>result-file option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>result-file option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--result-file=<replaceable>file_name</replaceable></option>,
+ <option>-R <replaceable>file_name</replaceable></option>
+ </para>
+
+ <para>
+ This option specifies the file for test case expected
+ results. <option>--result-file</option>, together with
+ <option>--record</option>, determines how
+ <command>mysqltest</command> treats the test actual and
+ expected results for a test case:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ If the test produces no results,
+ <command>mysqltest</command> exits with an error
+ message to that effect.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Otherwise, if <option>--result-file</option> is not
+ given, <command>mysqltest</command> sends test results
+ to the standard output.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ With <option>--result-file</option> but not
+ <option>--record</option>,
+ <command>mysqltest</command> reads the expected
+ results from the given file and compares them with the
+ actual results. If the results do not match,
+ <command>mysqltest</command> writes a
+ <filename>.reject</filename> file in the same
+ directory as the result file and exits with an error.
+ </para>
+
+ <para>
+ [Q: And does what with the result from the comparison?
+ Is this similar to using the <literal>result</literal>
+ command?]
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ With both <option>--result-file</option> and
+ <option>--record</option>,
+ <command>mysqltest</command> updates the given file by
+ writing the actual test results to it.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>server-arg option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>server-arg option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--server-arg=<replaceable>value</replaceable></option>,
+ <option>-A <replaceable>value</replaceable></option>
+ </para>
+
+ <para>
+ Pass the argument as an argument to the embedded server.
+ For example, <option>--server-arg=--tmpdir=/tmp</option>
+ or <option>--server-arg=--core</option>. Up to 64
+ arguments can be given.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>server-file option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>server-file option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--server-file=<replaceable>file_name</replaceable></option>,
+ <option>-F <replaceable>file_name</replaceable></option>
+ </para>
+
+ <para>
+ Read arguments for the embedded server from the given
+ file. The file should contain one argument per line.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>silent option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>silent option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--silent</option>, <option>-s</option>
+ </para>
+
+ <para>
+ Suppress all normal output.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>skip-safemalloc option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>skip-safemalloc option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--skip-safemalloc</option>
+ </para>
+
+ <para>
+ Do not use memory allocation checking.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>sleep option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>sleep option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--sleep=<replaceable>num</replaceable></option>,
+ <option>-T <replaceable>num</replaceable></option>
+ </para>
+
+ <para>
+ Cause all <literal>sleep</literal> commands to sleep
+ <replaceable>num</replaceable> seconds. This option does
+ not affect <literal>real_sleep</literal> commands.
+ </para>
+
+ <para>
+ [BUG: <option>--sleep=0</option> has no effect. That is,
+ it doesn't cause a sleep of 0 seconds. Instead,
+ <literal>sleep</literal> commands in the test file sleep
+ by the amount specified in the file. I have filed a bug
+ report with a suggested patch. (Bug#18312)]
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>socket option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>socket option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--socket=<replaceable>path</replaceable></option>,
+ <option>-S <replaceable>path</replaceable></option>
+ </para>
+
+ <para>
+ The socket file to use when connecting to
+ <literal>localhost</literal> (which is the default host).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>sp-protocol option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>sp-protocol option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--sp-protocol</option>
+ </para>
+
+ <para>
+ Execute DML statements within a stored procedure. For
+ every DML statement, <command>mysqltest</command> creates
+ and invokes a stored procedure that executes the statement
+ rather than executing the statement directly. This option
+ was added in MySQL 5.0.19.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>test-file option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>test-file option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--test-file=<replaceable>file_name</replaceable></option>,
+ <option>-x <replaceable>file_name</replaceable></option>
+ </para>
+
+ <para>
+ Read test input from this file. The default is to read
+ from the standard input.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>timer-file option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>timer-file option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--timer-file=<replaceable>file_name</replaceable></option>,
+ <option>-m <replaceable>file_name</replaceable></option>
+ </para>
+
+ <para>
+ The file where the timing in microseconds is written.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>tmpdir option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>tmpdir option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--tmpdir=<replaceable>dir_name</replaceable></option>,
+ <option>-t <replaceable>dir_name</replaceable></option>
+ </para>
+
+ <remark role="todo">
+ "put" = "created"?
+ </remark>
+
+ <para>
+ The temporary directory where socket files are put.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>user option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>user option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--user=<replaceable>user_name</replaceable></option>,
+ <option>-u <replaceable>user_name</replaceable></option>
+ </para>
+
+ <para>
+ The MySQL username to use when connecting to the server.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>verbose option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>verbose option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--verbose</option>, <option>-v</option>
+ </para>
+
+ <para>
+ Verbose mode. Print out more information what the program
+ does.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>version option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>version option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--version</option>, <option>-V</option>
+ </para>
+
+ <para>
+ Display version information and exit.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysqltest</primary>
+ <secondary>view-protocol option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>view-protocol option</primary>
+ <secondary>mysqltest</secondary>
+ </indexterm>
+
+ <option>--view-protocol</option>
+ </para>
+
+ <para>
+ Every <literal>SELECT</literal> statement is wrapped
+ inside a view. This option was added in MySQL 5.0.19.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </refsection>
+
+ </refentry>
+
+ </section>
+
+ <section id="fake-id-for-mysql-test-run-manpage-section-wrapper">
+
+ <title>fake title for mysql-test-run manpage section wrapper</title>
+
+ <refentry id="mysql-test-run">
+
+ <indexterm>
+ <primary><command>mysql-test-run</command></primary>
+ </indexterm>
+
+ <refmeta>
+ <refentrytitle><command>mysql-test-run</command></refentrytitle>
+
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="manual">MySQL Database System</refmiscinfo>
+ <refmiscinfo class="source">MySQL</refmiscinfo>
+ <refmiscinfo class="version">¤t-series;</refmiscinfo>
+ <refmiscinfo class="refman">&title-mysql-test-run-for-manual;</refmiscinfo>
+ </refmeta>
+
+ <refnamediv>
+ <refname>mysql-test-run</refname>
+
+ <refpurpose>&title-mysql-test-run-for-manpage;</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>mysql-test-run [<replaceable>options</replaceable>] [<replaceable>test_name</replaceable>] ...</command>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+
+ <refsection id="mysql-test-run-description">
+
+ <title>Description</title>
+
+ <para>
+ <command>mysql-test-run</command> is the main application that
+ is used to run the test suite. It invokes
+ <command>mysqltest</command> to run individual test cases.
+ </para>
+
+ <para>
+ <command>mysql-test-run</command> is a shell script, so it
+ does not run on Windows. A replacement script
+ (<command>mysql-test-run.pl</command>) is being developed that
+ is written in Perl and therefore has better cross-platform
+ portability. You can substitute
+ <command>mysql-test-run.pl</command> for
+ <command>mysql-test-run</command> whenever you see the latter
+ in this document, but <command>mysql-test-run.pl</command>
+ should still be considered experimental.
+ <command>mysql-test-run.pl</command> will be the only script
+ available as of MySQL 5.2. [Q: Perhaps this replacement will
+ occur earlier]
+ </para>
+
+ <para>
+ Invoke <command>mysql-test-run</command> in the
+ <filename>mysql-test</filename> directory like this:
+ </para>
+
+<programlisting>
+shell> <userinput>mysql-test-run [<replaceable>options</replaceable>] [<replaceable>test_name</replaceable>] ...</userinput>
+</programlisting>
+
+ <para>
+ Each <replaceable>test_name</replaceable> argument names a
+ test case. The test case file that corresponds to the test
+ name is
+ <filename>t/<replaceable>test_name</replaceable>.test</filename>.
+ </para>
+
+ <para>
+ For each <replaceable>test_name</replaceable> argument,
+ <command>mysql-test-run</command> runs the named test case.
+ With no <replaceable>test_name</replaceable> arguments,
+ <command>mysql-test-run</command> runs all
+ <filename>.test</filename> files in the <filename>t</filename>
+ subdirectory.
+ </para>
+
+ <para>
+ To run a family of test cases for which the names share a
+ common prefix, use the
+ <option>--do-tests=<replaceable>prefix</replaceable></option>
+ option. For example, <option>--do-tests=rpl</option> runs the
+ replication tests (test cases that have names beginning with
+ <literal>rpl</literal>).
+ </para>
+
+ <para>
+ <command>mysql-test-run</command> defines several environment
+ variables. Some of them are listed in the following table.
+ </para>
+
+ <informaltable>
+ <tgroup cols="2">
+ <colspec colwidth="30*"/>
+ <colspec colwidth="70*"/>
+ <tbody>
+ <row>
+ <entry><emphasis role="bold">Variable</emphasis></entry>
+ <entry><emphasis role="bold">Meaning</emphasis></entry>
+ </row>
+ <row>
+ <entry><literal>MYSQL_TEST</literal></entry>
+ <entry>Pathname to <command>mysqltest</command> binary</entry>
+ </row>
+ <row>
+ <entry><literal>MYSQLTEST_VARDIR</literal></entry>
+ <entry>Pathname to the <filename>var</filename> directory that is used for
+ logs, temporary files, and so forth</entry>
+ </row>
+ <row>
+ <entry><literal>MASTER_MYPORT</literal></entry>
+ <entry>???</entry>
+ </row>
+ <row>
+ <entry><literal>MASTER_MYSOCK</literal></entry>
+ <entry>???</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>
+ [Q: Are there other important variables that should be
+ mentioned here? Does the Perl script export the same
+ environment variables?]
+ </para>
+
+ <para>
+ Tests sometimes rely on certain environment variables being
+ defined. For example, certain tests assume that
+ <literal>MYSQL_TEST</literal> is defined so that
+ <command>mysqltest</command> can invoke itself with
+ <literal>exec $MYSQL_TEST</literal>.
+ </para>
+
+ </refsection>
+
+ <refsection id="mysql-test-run-options">
+
+ <title><command>mysql-test-run</command> Options</title>
+
+ <para>
+ [Q: Is there an option to display the commands being run? Or a
+ <quote>dry run</quote> option to display the commands without
+ executing them? Apparently not.]
+ </para>
+
+ <para>
+ <command>mysql-test-run</command> supports the options in the
+ following list. An argument of <option>--</option> tells
+ <command>mysql-test-run</command> not to process any following
+ arguments as options. [Q: Does <literal>--</literal> also have
+ that effect for <command>mysql-test-run.pl</command>?]
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>help option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>help option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--help</option>, <option>-?</option>
+ </para>
+
+ <para>
+ Display a help message and exit.
+ </para>
+
+ <para>
+ [BUG: In fact, <command>mysql-test-run</command> does not
+ have a <option>--help</option> option. That is a
+ deficiency that is corrected in
+ <command>mysql-test-run.pl</command>, but for
+ <command>mysql-test-run</command> there is no runtime
+ command that you can use to discover its options.]
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>bench option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>bench option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--bench</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>big option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>big option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--big-test</option>
+ </para>
+
+ <para>
+ Pass the <option>--big-test</option> option to
+ <command>mysqltest</command>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>client-gdb option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>client-gdb option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--client-gdb</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>comment option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>comment option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--comment=<replaceable>str</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>compress option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>compress option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--compress</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>ddd option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>ddd option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--ddd</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>debug option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>debug option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--debug</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>do-test option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>do-test option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--do-test=<replaceable>prefix</replaceable></option>
+ </para>
+
+ <para>
+ Run all test cases having a name that begins with the
+ given <replaceable>prefix</replaceable> value. This option
+ provides a convenient way to run a family of similarly
+ named tests.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>embedded-server option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>embedded-server option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--embedded-server</option>
+ </para>
+
+ <para>
+ Use a version of <command>mysqltest</command> built with
+ the embedded server.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>extern option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>extern option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--extern</option>
+ </para>
+
+ <para>
+ Use an already running server.
+ </para>
+
+ <para>
+ Note: If a test has an <filename>.opt</filename> file that
+ requires the server to be restarted with specific options,
+ the file will not be used. The test likely will fail as a
+ result.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>fast option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>fast option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--fast</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>force option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>force option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--force</option>
+ </para>
+
+ <para>
+ Normally, <command>mysql-test-run</command> exits if a
+ test case fails. <option>--force</option> causes execution
+ to continue regardless of test case failure.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>gcov option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>gcov option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--gcov</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>gdb option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>gdb option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--gdb</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>gprof option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>gprof option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--gprof</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>local option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>local option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--local</option>
+ </para>
+
+ <para>
+ Do not use an already running server.
+ <command>mysql-run-test</command> starts a server and
+ tells <command>mysqltest</command> to use it. This is the
+ default as of MySQL 4.1.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>local-master option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>local-master option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--local-master</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>manager option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>manager option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--manager</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>manager-port option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>manager-port option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--manager-port=<replaceable>port_num</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>manual-gdb option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>manual-gdb option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--manual-gdb</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>master-binary option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>master-binary option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--master-binary=<replaceable>path</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>master_port option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>master_port option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--master_port=<replaceable>port_num</replaceable></option>
+ </para>
+
+ <para>
+ [Note the glitch that the option name has an underscore
+ and not a dash (both versions)]
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>mysqld option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>mysqld option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--mysqld=<replaceable>path</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>ndb-connectstring-slave option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>ndb-connectstring-slave option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--ndb-connectstring-slave=<replaceable>str</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>ndb-connectstring option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>ndb-connectstring option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--ndb-connectstring=<replaceable>str</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>ndb-extra-test option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>ndb-extra-test option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--ndb-extra-test</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>ndb-verbose option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>ndb-verbose option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--ndb-verbose</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>ndb_mgm-extra-opts option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>ndb_mgm-extra-opts option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--ndb_mgm-extra-opts=<replaceable>str</replaceable></option>
+ </para>
+
+ <para>
+ [Note the glitch that the option name has an underscore
+ and not a dash]
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>ndb_mgmd-extra-opts option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>ndb_mgmd-extra-opts option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--ndb_mgmd-extra-opts=<replaceable>str</replaceable></option>
+ </para>
+
+ <para>
+ [Note the glitch that the option name has an underscore
+ and not a dash]
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>ndbcluster-port-slave option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>ndbcluster-port-slave option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--ndbcluster-port-slave=<replaceable>port_num</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>ndbcluster-port option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>ndbcluster-port option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--ndbcluster-port=<replaceable>port_num</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>ndbcluster_port option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>ndbcluster_port option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--ndbcluster_port=<replaceable>port_num</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>ndbd-extra-opts option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>ndbd-extra-opts option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--ndbd-extra-opts=<replaceable>str</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>no-manager option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>no-manager option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--no-manager</option>,
+
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>skip-manager option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>skip-manager option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--skip-manager</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>old-master option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>old-master option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--old-master</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>ps-protocol option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>ps-protocol option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--ps-protocol</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>purify option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>purify option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--purify</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>record option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>record option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--record</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>skip-master-binlog option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>skip-master-binlog option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--skip-master-binlog</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>skip-ndbcluster option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>skip-ndbcluster option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--skip-ndbcluster</option>,
+
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>skip-ndb option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>skip-ndb option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--skip-ndb</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>skip-ndbcluster-slave option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>skip-ndbcluster-slave option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--skip-ndbcluster-slave</option>,
+
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>skip-ndb-slave option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>skip-ndb-slave option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--skip-ndb-slave</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>skip-rpl option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>skip-rpl option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--skip-rpl</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>skip-slave-binlog option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>skip-slave-binlog option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--skip-slave-binlog</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>skip-test option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>skip-test option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--skip-test=<replaceable>regex</replaceable></option>
+ </para>
+
+ <para>
+ Specify a regular expression that matches the names of
+ tests to skip.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <option>--skip-*</option>
+ </para>
+
+ <para>
+ <option>--skip-*</option> options not otherwise recognized
+ by <command>mysql-test-run</command> are passed to the
+ master server.
+ </para>
+
+ <para>
+ [Q: is that true in the Perl version as well?]
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>slave-binary option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>slave-binary option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--slave-binary=<replaceable>path</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>slave_port option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>slave_port option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--slave_port=<replaceable>port_num</replaceable></option>
+ </para>
+
+ <para>
+ [Note the glitch that the option name has an underscore
+ and not a dash (both versions)]
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>sleep option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>sleep option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--sleep=<replaceable>N</replaceable></option>
+ </para>
+
+ <para>
+ [Q: Passed to <command>mysqltest</command>?]
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>small-bench option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>small-bench option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--small-bench</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>socket option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>socket option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--socket=<replaceable>file_name</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>start-and-exit option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>start-and-exit option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--start-and-exit</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>start-from option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>start-from option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--start-from=<replaceable>test_name</replaceable></option>
+ </para>
+
+ <para>
+ <command>mysql-test-run</command> sorts the list of names
+ indicating which tests to run, and then begins with
+ <replaceable>test_name</replaceable>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>strace-client option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>strace-client option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--strace-client</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>stress option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>stress option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--stress</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>stress-init-file option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>stress-init-file option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--stress-init-file=<replaceable>file_name</replaceable></option>
+ </para>
+
+ <para>
+ This option enables initialization of the stress database
+ by execution of test files.
+ <replaceable>file_name</replaceable> is the location of
+ the file that contains the list of tests. If
+ <replaceable>file_name</replaceable> is omitted, the
+ default file is <filename>stress-init.txt</filename> in
+ the stress suite base directory. [Q: Is that correct?]
+ (See <option>--stress-suite-basedir</option>.)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>stress-loop-count option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>stress-loop-count option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--stress-loop-count=<replaceable>N</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>stress-mode option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>stress-mode option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--stress-mode=<replaceable>mode</replaceable></option>
+ </para>
+
+ <para>
+ The stress test mode, either <literal>random</literal> to
+ select tests in randome order or <literal>seq</literal> to
+ run tests in each thread in the order specified in the
+ test list file.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>stress-suite option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>stress-suite option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--stress-suite=<replaceable>suite_name</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>stress-test-count option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>stress-test-count option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--stress-test-count=<replaceable>N</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>stress-test-duration option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>stress-test-duration option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--stress-test-duration=<replaceable>N</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>stress-test-file option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>stress-test-file option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--stress-test-file=<replaceable>file_name</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>stress-threads option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>stress-threads option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--stress-threads=<replaceable>N</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>timer option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>timer option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--timer</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>tmpdir option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>tmpdir option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--tmpdir=<replaceable>path</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>use-old-data option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>use-old-data option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--use-old-data</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>user-test option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>user-test option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--user-test=<replaceable>val</replaceable></option>
+ </para>
+
+ <para>
+ Unused, apparently.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>user option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>user option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--user=<replaceable>user_name</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>valgrind option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>valgrind option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--valgrind</option>,
+
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>valgrind-all option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>valgrind-all option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--valgrind-all</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>valgrind-mysqltest option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>valgrind-mysqltest option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--valgrind-mysqltest</option>,
+
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>valgrind-mysqltest-all option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>valgrind-mysqltest-all option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--valgrind-mysqltest-all</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>valgrind-options option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>valgrind-options option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--valgrind-options=<replaceable>str</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>verbose-manager option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>verbose-manager option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--verbose-manager</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>wait-timeout option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>wait-timeout option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--wait-timeout=<replaceable>N</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>warnings option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>warnings option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--warnings</option>,
+
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>log-warnings option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>log-warnings option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--log-warnings</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>with-ndbcluster option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>with-ndbcluster option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--with-ndbcluster</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>with-ndbcluster-all option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>with-ndbcluster-all option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--with-ndbcluster-all</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>with-ndbcluster-only option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>with-ndbcluster-only option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--with-ndbcluster-only</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>with-ndbcluster-slave option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>with-ndbcluster-slave option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--with-ndbcluster-slave</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run</primary>
+ <secondary>with-openssl option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>with-openssl option</primary>
+ <secondary>mysql-test-run</secondary>
+ </indexterm>
+
+ <option>--with-openssl</option>
+ </para>
+
+ <para>
+ If <command>mysql-test-run</command> is started with the
+ <option>--ssl</option> option, it sets up a secure
+ conection for all test cases. In this case, if
+ <command>mysqld</command> does not support SSL,
+ <command>mysql-test-run</command> exits with an error
+ message: <literal>Couldn't find support for SSL</literal>
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </refsection>
+
+ </refentry>
+
+ </section>
+
+ <section id="fake-id-for-mysql-test-run-pl-manpage-section-wrapper">
+
+ <title>fake title for mysql-test-run.pl manpage section wrapper</title>
+
+ <refentry id="mysql-test-run-pl">
+
+ <indexterm>
+ <primary><command>mysql-test-run.pl</command></primary>
+ </indexterm>
+
+ <refmeta>
+ <refentrytitle><command>mysql-test-run.pl</command></refentrytitle>
+
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="manual">MySQL Database System</refmiscinfo>
+ <refmiscinfo class="source">MySQL</refmiscinfo>
+ <refmiscinfo class="version">¤t-series;</refmiscinfo>
+ <refmiscinfo class="refman">&title-mysql-test-run-pl-for-manual;</refmiscinfo>
+ </refmeta>
+
+ <refnamediv>
+ <refname>mysql-test-run.pl</refname>
+
+ <refpurpose>&title-mysql-test-run-pl-for-manpage;</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>mysql-test-run.pl [<replaceable>options</replaceable>]</command>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+
+ <refsection id="mysql-test-run-pl-description">
+
+ <title>Description</title>
+
+ <para>
+ The <command>mysql-test-run.pl</command> Perl script is
+ currently in development to serve as a replacement for
+ <command>mysql-test-run</command>.
+ </para>
+
+ <para>
+ Invoke <command>mysql-test-run.pl</command> in the
+ <filename>mysql-test</filename> directory like this:
+ </para>
+
+<programlisting>
+shell> <userinput>mysql-test-run.pl [<replaceable>options</replaceable>] [<replaceable>test_name</replaceable>] ...</userinput>
+</programlisting>
+
+ </refsection>
+
+ <refsection id="mysql-test-run-pl-options">
+
+ <title><command>mysql-test-run.pl</command> Options</title>
+
+ <para>
+ [Because the options for the Perl script are so similar to
+ those for the shell script, just describe here by referring to
+ the option list for <command>mysql-test-run</command>, and
+ note which options have been dropped and which added in
+ <command>mysql-test-run.pl</command>.
+ </para>
+
+ <para>
+ <command>mysql-test-run.pl</command> supports the following
+ options:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run.pl</primary>
+ <secondary>help option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>help option</primary>
+ <secondary>mysql-test-run.pl</secondary>
+ </indexterm>
+
+ <option>--help</option>
+ </para>
+
+ <para>
+ Display a help message and exit.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-test-run.pl</primary>
+ <secondary>ssl option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>ssl option</primary>
+ <secondary>mysql-test-run.pl</secondary>
+ </indexterm>
+
+ <option>--ssl</option>
+ </para>
+
+ <para>
+ If <command>mysql-test-run.pl</command> is started with
+ the <option>--ssl</option> option, it sets up a secure
+ conection for all test cases. In this case, if
+ <command>mysqld</command> does not support SSL,
+ <command>mysql-test-run.pl</command> exits with an error
+ message: <literal>Couldn't find support for SSL</literal>
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ [Fill in this section with all
+ <command>mysql-test-run.pl</command> options that
+ <command>mysql-test-run</command> does not have]
+ </para>
+
+ </refsection>
+
+ </refentry>
+
+ </section>
+
+ <section id="fake-id-for-mysql-stress-test-manpage-section-wrapper">
+
+ <title>fake title for mysql-stress-test.pl manpage section wrapper</title>
+
+ <refentry id="mysql-stress-test">
+
+ <indexterm>
+ <primary><command>mysql-stress-test.pl</command></primary>
+ </indexterm>
+
+ <refmeta>
+ <refentrytitle><command>mysql-stress-test.pl</command></refentrytitle>
+
+ <manvolnum>1</manvolnum>
+ <refmiscinfo class="manual">MySQL Database System</refmiscinfo>
+ <refmiscinfo class="source">MySQL</refmiscinfo>
+ <refmiscinfo class="version">¤t-series;</refmiscinfo>
+ <refmiscinfo class="refman">&title-mysql-stress-test-for-manual;</refmiscinfo>
+ </refmeta>
+
+ <refnamediv>
+ <refname>mysql-stress-test.pl</refname>
+
+ <refpurpose>&title-mysql-stress-test-for-manpage;</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>mysql-stress-test.pl [<replaceable>options</replaceable>]</command>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+
+ <refsection id="mysql-stress-test-description">
+
+ <title>Description</title>
+
+ <para>
+ The <command>mysql-stress-test.pl</command> Perl script
+ performs stress-testing of the MySQL server. (MySQL 5.0 and up
+ only)
+ </para>
+
+ <para>
+ <command>mysql-stress-test.pl</command> requires a version of
+ Perl that has been built with threads support.
+ </para>
+
+ <para>
+ Invoke <command>mysql-stress-test.pl</command> like this: [Q:
+ In the <filename>mysql-test</filename> directory?]
+ </para>
+
+<programlisting>
+shell> <userinput>mysql-stress-test.pl [<replaceable>options</replaceable>]</userinput>
+</programlisting>
+
+ </refsection>
+
+ <refsection id="mysql-stress-test-options">
+
+ <title><command>mysql-stress-test.pl</command> Options</title>
+
+ <para>
+ <command>mysql-stress-test.pl</command> supports the following
+ options:
+ </para>
+
+ <para>
+ [TODO: Use <option>--help</option> message to fill in
+ descriptions here]
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-stress-test.pl</primary>
+ <secondary>help option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>help option</primary>
+ <secondary>mysql-stress-test.pl</secondary>
+ </indexterm>
+
+ <option>--help</option>
+ </para>
+
+ <para>
+ Display a help message and exit.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-stress-test.pl</primary>
+ <secondary>abort-on-error option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>abort-on-error option</primary>
+ <secondary>mysql-stress-test.pl</secondary>
+ </indexterm>
+
+ <option>--abort-on-error</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-stress-test.pl</primary>
+ <secondary>check-tests-file option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>check-tests-file option</primary>
+ <secondary>mysql-stress-test.pl</secondary>
+ </indexterm>
+
+ <option>--check-tests-file</option>
+ </para>
+
+ <para>
+ [Q: I don't understand what the <option>--help</option>
+ text means]
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-stress-test.pl</primary>
+ <secondary>cleanup option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>cleanup option</primary>
+ <secondary>mysql-stress-test.pl</secondary>
+ </indexterm>
+
+ <option>--cleanup</option>
+ </para>
+
+ <para>
+ Force cleanup of the working directory.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-stress-test.pl</primary>
+ <secondary>log-error-details option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>log-error-details option</primary>
+ <secondary>mysql-stress-test.pl</secondary>
+ </indexterm>
+
+ <option>--log-error-details</option>
+ </para>
+
+ <para>
+ Log error details in the global error log file. [Q: Which
+ is named what?]
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-stress-test.pl</primary>
+ <secondary>loop-count option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>loop-count option</primary>
+ <secondary>mysql-stress-test.pl</secondary>
+ </indexterm>
+
+ <option>--loop-count=<replaceable>N</replaceable></option>
+ </para>
+
+ <para>
+ In sequential test mode, the number of loops to execute
+ before exiting.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-stress-test.pl</primary>
+ <secondary>mysqltest option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>mysqltest option</primary>
+ <secondary>mysql-stress-test.pl</secondary>
+ </indexterm>
+
+ <option>--mysqltest=<replaceable>path</replaceable></option>
+ </para>
+
+ <para>
+ The pathname to the <command>mysqltest</command> program.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-stress-test.pl</primary>
+ <secondary>server-database option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>server-database option</primary>
+ <secondary>mysql-stress-test.pl</secondary>
+ </indexterm>
+
+ <option>--server-database=<replaceable>db_name</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-stress-test.pl</primary>
+ <secondary>server-host option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>server-host option</primary>
+ <secondary>mysql-stress-test.pl</secondary>
+ </indexterm>
+
+ <option>--server-host=<replaceable>host_name</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-stress-test.pl</primary>
+ <secondary>server-logs-dir option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>server-logs-dir option</primary>
+ <secondary>mysql-stress-test.pl</secondary>
+ </indexterm>
+
+ <option>--server-logs-dir=<replaceable>path</replaceable></option>
+ </para>
+
+ <para>
+ This option is required. <replaceable>path</replaceable>
+ is the directory where all client session logs will be
+ stored. Usually this is the shared directory that is
+ associated with the server used for testing.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-stress-test.pl</primary>
+ <secondary>server-password option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>server-password option</primary>
+ <secondary>mysql-stress-test.pl</secondary>
+ </indexterm>
+
+ <option>--server-password=<replaceable>password</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-stress-test.pl</primary>
+ <secondary>server-port option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>server-port option</primary>
+ <secondary>mysql-stress-test.pl</secondary>
+ </indexterm>
+
+ <option>--server-port=<replaceable>port_num</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-stress-test.pl</primary>
+ <secondary>server-socket option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>server-socket option</primary>
+ <secondary>mysql-stress-test.pl</secondary>
+ </indexterm>
+
+ <option>--server-socket=<replaceable>file_name</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-stress-test.pl</primary>
+ <secondary>server-user option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>server-user option</primary>
+ <secondary>mysql-stress-test.pl</secondary>
+ </indexterm>
+
+ <option>--server-user=<replaceable>user_name</replaceable></option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-stress-test.pl</primary>
+ <secondary>sleep-time option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>sleep-time option</primary>
+ <secondary>mysql-stress-test.pl</secondary>
+ </indexterm>
+
+ <option>--sleep-time=<replaceable>N</replaceable></option>
+ </para>
+
+ <para>
+ The delay in seconds between test executions.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-stress-test.pl</primary>
+ <secondary>stress-basedir option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>stress-basedir option</primary>
+ <secondary>mysql-stress-test.pl</secondary>
+ </indexterm>
+
+ <option>--stress-basedir=<replaceable>path</replaceable></option>
+ </para>
+
+ <para>
+ This option is required. <replaceable>path</replaceable>
+ is the working directory for the test run. It is used as
+ the temporary location for result tracking during testing.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <indexterm>
+ <primary>mysql-stress-test.pl</primary>
+ <secondary>stress-datadir option</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>stress-datadir option</primary>
+ <secondary>mysql-stress-test.pl</secondary>
+ </indexterm>
+
+ <option>--stress-datadir=<replaceable>p