The test system that is included in Unix source and binary
distributions makes it possible for users and developers to
perform regression tests on the MySQL code. These tests can be
run on Unix.
The current set of test cases doesn't test everything in MySQL,
but it should catch most obvious bugs in the SQL processing
code, operating system or library issues, and is quite thorough
in testing replication. Our goal is to have the tests cover 100%
of the code. We welcome contributions to our test suite. You may
especially want to contribute tests that examine the
functionality critical to your system because this ensures that
all future MySQL releases work well with your applications.
The test system consists of a test language interpreter
(mysqltest), a Perl script to run all tests
(mysql-test-run.pl), the actual test cases
written in a special test language, and their expected results.
To run the test suite on your system after a build, type
make test from the source root directory, or
change location to the mysql-test directory
and type ./mysql-test-run.pl. If you have
installed a binary distribution, change location to the
mysql-test directory under the installation
root directory (for example,
/usr/local/mysql/mysql-test), and run
./mysql-test-run.pl. All tests should
succeed. If any do not, feel free to try to find out why and
report the problem if it indicates a bug in MySQL. See
Section 1.7, âHow to Report Bugs or Problemsâ.
If one test fails, you should run
mysql-test-run.pl with the
--force option to check whether any other tests
fail.
If you have a copy of mysqld running on the
machine where you want to run the test suite, you do not have to
stop it, as long as it is not using ports
9306 or 9307. If either of
those ports is taken, you should set the
MTR_BUILD_THREAD environment variable to an
appropriate value, and the test suite will use a different set
of ports for master, slave, NDB, and Instance Manager). For
example:
In the mysql-test directory, you can run an
individual test case with ./mysql-test-run.pl
test_name.
You can use the mysqltest language to write
your own test cases. This is documented in the MySQL Test
Framework manual, available at http://dev.mysql.com/doc/.
User Comments
Add your own comment.