Commit 26caa52c authored by paul@snake-hub.snake.net's avatar paul@snake-hub.snake.net

Merge snake-hub.snake.net:/src/extern/MySQL/bk/mysql-4.0

into  snake-hub.snake.net:/src/extern/MySQL/bk/mysql-4.0-r1.2173
parents 4b29ce60 fe613502
This directory contains a test suite for mysql daemon. To run This directory contains a test suite for the MySQL daemon. To run
the currently existing test cases, simply execute ./mysql-test-run in the currently existing test cases, simply execute ./mysql-test-run in
this directory. It will fire up the newly built mysqld and test it. this directory. It will fire up the newly built mysqld and test it.
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 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. conflict with it.
All tests must pass. If one or more of them fail on your system, please All tests must pass. If one or more of them fail on your system, please
read the following manual section of how to report the problem: read the following manual section for instructions on how to report the
problem:
http://dev.mysql.com/doc/mysql/en/mysql-test-suite.html
If you want to use an already running MySQL server for specific tests,
use the --extern option to mysql-test-run. Please note that in this mode,
the test suite expects you to provide the names of the tests to run.
For example, here is the command to run the "alias" and "analyze" tests
with an external server:
mysql-test-run --extern alias analyze
To match your setup, you might also need to provide --socket, --user, and
other relevant options.
http://dev.mysql.com/doc/mysql/en/MySQL_test_suite.html With no test cases named on the command line, mysql-test-run falls back
to the normal "non-extern" behavior. The reason for this is that some
tests cannot run with an external server.
You can create your own test cases. To create a test case: You can create your own test cases. To create a test case, create a new
file in the t subdirectory using a text editor. The file should have a .test
extension. For example:
cd t xemacs t/test_case_name.test
vi test_case_name.test
in the file, put a set of SQL commands that will create some tables, In the file, put a set of SQL statements that create some tables,
load test data, run some queries to manipulate it. load test data, and run some queries to manipulate it.
We would appreciate if the test tables were called t1, t2, t3 ... (to not We would appreciate it if you name your test tables t1, t2, t3 ... (to not
conflict too much with existing tables). conflict too much with existing tables).
Your test should begin by dropping the tables you are going to create and 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 end by dropping them again. This ensures that you can run the test over
over and over again. and over again.
If you are using mysqltest commands (like result file names) in your If you are using mysqltest commands (like result file names) in your
test case you should do create the result file as follows: test case, you should create the result file as follows:
mysql-test-run --record test_case_name mysql-test-run --record test_case_name
...@@ -35,8 +53,8 @@ You can create your own test cases. To create a test case: ...@@ -35,8 +53,8 @@ You can create your own test cases. To create a test case:
mysqltest --record < t/test_case_name.test mysqltest --record < t/test_case_name.test
If you only have a simple test cases consistent of SQL commands and comments If you only have a simple test cases consisting of SQL statements and
you can create the test case one of the following ways: comments, you can create the test case in one of the following ways:
mysql-test-run --record test_case_name mysql-test-run --record test_case_name
...@@ -45,7 +63,7 @@ You can create your own test cases. To create a test case: ...@@ -45,7 +63,7 @@ You can create your own test cases. To create a test case:
mysqltest --record --record-file=r/test_case_name.result < t/test_case_name.test mysqltest --record --record-file=r/test_case_name.result < t/test_case_name.test
When this is done, take a look at r/test_case_name.result 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 - If the result is incorrect, you have found a bug. In this case, you should
edit the test result to the correct results so that we can verify edit the test result to the correct results so that we can verify
that the bug is corrected in future releases. that the bug is corrected in future releases.
......
To be able to see the level of coverage with the current test suite, To be able to see the level of coverage with the current test suite,
do the following: do the following:
- make sure gcov is installed - Make sure gcov is installed
- compile with BUILD/compile-pentium-gcov ( if your machine is not pentium, hack - Compile the MySQL distribution with BUILD/compile-pentium-gcov (if your
this script, or just live with the pentium-specific stuff) machine does not have a pentium CPU, hack this script, or just live with
- ./mysql-test-run -gcov the pentium-specific stuff)
- to see the level of coverage for a given source file: - In the mysql-test directory, run this command: ./mysql-test-run -gcov
- To see the level of coverage for a given source file:
grep source_file_name /tmp/gcov.out grep source_file_name /tmp/gcov.out
- to see which lines are not yet covered, look at source_file_name.gcov in the source tree. Then think hard about a test case that will cover those - To see which lines are not yet covered, look at source_file_name.gcov in
lines, and write one! the source tree. Then think hard about a test case that will cover those
lines, and write one!
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment