2000-12-14 02:23:55 +01:00
|
|
|
This directory contains a test suite for mysql daemon. To run
|
|
|
|
the currently existing test cases, simply execute ./mysql-test-run in
|
|
|
|
this directory. It will fire up the newly built mysqld and test it.
|
2006-03-02 00:37:07 +01:00
|
|
|
|
|
|
|
If you want to run a test with a running MySQL server use the --extern
|
|
|
|
option to mysql-test-run. Please note that in this mode the test suite
|
|
|
|
expects user to specify test names to run. Otherwise it falls back to the
|
|
|
|
normal "non-extern" behaviour. The reason is that some tests
|
|
|
|
could not run with external server. Here is the sample command
|
|
|
|
to test "alias" and "analyze" tests on external server:
|
|
|
|
|
|
|
|
mysql-test-run --extern alias analyze
|
|
|
|
|
|
|
|
To match your setup you might also need to provide --socket, --user and
|
|
|
|
other relevant options.
|
|
|
|
|
2000-12-14 02:23:55 +01:00
|
|
|
Note that you do not have to have to do make install, and you could
|
|
|
|
actually have a co-existing MySQL installation - the tests will not
|
|
|
|
conflict with it.
|
|
|
|
|
|
|
|
All tests must pass. If one or more of them fail on your system, please
|
2001-03-10 16:05:10 +01:00
|
|
|
read the following manual section of how to report the problem:
|
|
|
|
|
2006-03-02 00:37:07 +01:00
|
|
|
http://dev.mysql.com/doc/mysql/en/mysql-test-suite.html
|
2001-03-10 16:05:10 +01:00
|
|
|
|
2000-12-14 02:23:55 +01:00
|
|
|
|
|
|
|
You can create your own test cases. To create a test case:
|
|
|
|
|
2006-03-02 00:37:07 +01:00
|
|
|
xemacs t/test_case_name.test
|
2000-12-14 02:23:55 +01:00
|
|
|
|
|
|
|
in the file, put a set of SQL commands that will create some tables,
|
|
|
|
load test data, run some queries to manipulate it.
|
|
|
|
|
2000-12-15 15:12:31 +01:00
|
|
|
We would appreciate if the test tables were called t1, t2, t3 ... (to not
|
|
|
|
conflict too much with existing tables).
|
2001-01-04 01:56:38 +01:00
|
|
|
|
|
|
|
Your test should begin by dropping the tables you are going to create and
|
|
|
|
end by dropping them again. This will ensure that one can run the test
|
|
|
|
over and over again.
|
2000-12-15 15:12:31 +01:00
|
|
|
|
|
|
|
If you are using mysqltest commands (like result file names) in your
|
|
|
|
test case you should do create the result file as follows:
|
|
|
|
|
2000-12-16 00:17:13 +01:00
|
|
|
mysql-test-run --record test_case_name
|
|
|
|
|
|
|
|
or
|
|
|
|
|
|
|
|
mysqltest --record < t/test_case_name.test
|
2000-12-15 15:12:31 +01:00
|
|
|
|
|
|
|
If you only have a simple test cases consistent of SQL commands and comments
|
|
|
|
you can create the test case one of the following ways:
|
|
|
|
|
2000-12-16 00:17:13 +01:00
|
|
|
mysql-test-run --record test_case_name
|
|
|
|
|
|
|
|
mysql test < t/test_case_name.test > r/test_case_name.result
|
2000-12-15 15:12:31 +01:00
|
|
|
|
2000-12-16 00:17:13 +01:00
|
|
|
mysqltest --record --record-file=r/test_case_name.result < t/test_case_name.test
|
2000-12-15 15:12:31 +01:00
|
|
|
|
|
|
|
When this is done, take a look at r/test_case_name.result
|
|
|
|
- If the result is wrong, you have found a bug; In this case you should
|
|
|
|
edit the test result to the correct results so that we can verify
|
|
|
|
that the bug is corrected in future releases.
|
2000-12-14 02:23:55 +01:00
|
|
|
|
|
|
|
To submit your test case, put your .test file and .result file(s) into
|
|
|
|
a tar.gz archive, add a README that explains the problem, ftp the
|
|
|
|
archive to ftp://support.mysql.com/pub/mysql/secret/ and send a mail
|
|
|
|
to bugs@lists.mysql.com
|