If test cases from the test suite fail, you should do the following:
Do not file a bug report before you have found out as much as possible about what when wrong. See the instructions at http://dev.mysql.com/doc/mysql/en/bug-reports.
Make sure to include the output of
mysql-test-run.pl, as well as contents of
all .reject
files in the
mysql-test/r
directory.
Check whether an individual test in the test suite also fails when run on its own:
shell>cd mysql-test
shell>./mysql-test-run.pl
test_name
If this fails, you should configure MySQL with
--with-debug
and run
mysql-test-run.pl with the
--debug
option. If this also fails, send the
trace file
mysql-test/var/tmp/master.trace
to
ftp://ftp.mysql.com/pub/mysql/upload/ so that we can examine it.
Please remember to also include a full description of your
system, the version of the mysqld binary
and how you compiled it.
Run mysql-test-run.pl with the
--force
option to see whether any other tests
fail.
If you have compiled MySQL yourself, check the MySQL Reference Manual to see whether there are any platform-specific issues for your system. There might be configuration workarounds to deal with the problems that you observe. Also, consider using one of the binaries we have compiled for you at http://dev.mysql.com/downloads/. All our standard binaries should pass the test suite!
If you get an error such as Result length
mismatch
or Result content
mismatch
it means that the output of the test was
not an exact match for the expected output. This could be a
bug in MySQL or it could be that your version of
mysqld produces slightly different results
under some circumstances.
The results file is located in the r
directory and has a name with a .result
extension. A failed test result is put in a file with the same
basename as the result file and a .reject
extension. If your test case is failing, you should use
diff to compare the
.result
and .reject
files. If you cannot see how they are different, examine both
with od -c and also check their lengths.
If a test fails completely, you should check the logs file in
the mysql-test/var/log
directory for
hints of what went wrong.
If you have compiled MySQL with debugging, you can try to
debug test failures by running
mysql-test-run.pl with either or both of
the --gdb
and --debug
options.
If you have not compiled MySQL for debugging you should
probably do so by specifying the --with-debug
option when you invoke configure.