mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
e6c45f5e1f
- Reduced memory usage from safe_mutex. - Fixed problem with failing tests that could not restart mysqld becasue the port was reserved - More DBUG information - Fixed bug where bitmap_set_prefix() wrote over buffer area. - Initialize n_pages_flushed in xtradb which was used uninitialized. client/mysqltest.cc: Reduced memory usage (400K -> 80 for simple test; 400M -> 70M for some other tests) - Smaller dynamic arrays at start - Made 'st_connection' significantly smaller by allocation 'mysql' on demand in mysql_init() and storing require_file in a mem_root. - Fixed that when one does --debug we get information from safemalloc in the trace (Most of changes are changing &connect->mysql to connect->mysql libmysql/libmysql.c: Don't call mysql_thread_end() if my_init() was called outside of mysql_server_init() This is needed to get information from my_end() into the DBUG log mysql-test/README: Fixed wrong comment mysql-test/mysql-test-run.pl: Reserv 20 ports / mysql-test-run thread. (Needed as some tests uses 9 mysqld servers) mysys/hash.c: More DBUG information mysys/my_bitmap.c: Fixed bug where bitmap_set_prefix() wrote over buffer area. mysys/safemalloc.c: More DBUG information mysys/thr_mutex.c: Initialize smaller arrays be default. sql-common/client.c: More DBUG_PRINT storage/xtradb/srv/srv0srv.c: Initialize n_pages_flushed which was used uninitialized.
78 lines
3.1 KiB
Text
78 lines
3.1 KiB
Text
This directory contains a test suite for the 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.
|
|
|
|
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. To run the test suite in a source directory, you
|
|
must do make first.
|
|
|
|
All tests must pass. If one or more of them fail on your system, please
|
|
read the following manual section for instructions on how to report the
|
|
problem:
|
|
|
|
http://kb.askmonty.org/v/reporting-bugs
|
|
|
|
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 socket=/tmp/mysql.sock alias analyze
|
|
|
|
To match your setup, you might also need to provide --socket, --user, and
|
|
other relevant options.
|
|
|
|
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, create a new
|
|
file in the t subdirectory using a text editor. The file should have a .test
|
|
extension. For example:
|
|
|
|
xemacs t/test_case_name.test
|
|
|
|
In the file, put a set of SQL statements that create some tables,
|
|
load test data, and run some queries to manipulate it.
|
|
|
|
We would appreciate it if you name your test tables t1, t2, t3 ... (to not
|
|
conflict too much with existing tables).
|
|
|
|
Your test should begin by dropping the tables you are going to create and
|
|
end by dropping them again. This ensures that you can run the test over
|
|
and over again.
|
|
|
|
If you are using mysqltest commands (like result file names) in your
|
|
test case, you should create the result file as follows:
|
|
|
|
mysql-test-run --record test_case_name
|
|
|
|
or
|
|
|
|
mysqltest --record < t/test_case_name.test
|
|
|
|
If you only have a simple test cases consisting of SQL statements and
|
|
comments, you can create the test case in one of the following ways:
|
|
|
|
mysql-test-run --record test_case_name
|
|
|
|
mysql test < t/test_case_name.test > r/test_case_name.result
|
|
|
|
mysqltest --record --database test --result-file=r/test_case_name.result < t/test_case_name.test
|
|
|
|
When this is done, take a look at r/test_case_name.result
|
|
- 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
|
|
that the bug is corrected in future releases.
|
|
|
|
If you want to submit your test case you can send it
|
|
to maria-developers@lists.launchpad.com or attach it to a bug report on
|
|
https://bugs.launchpad.net/maria/.
|
|
|
|
If the test case is really big or if it contains 'not public' data,
|
|
then 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://ftp.askmonty.org/private and send a mail to
|
|
https://bugs.launchpad.net/maria/ about it.
|