Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
8176fbec
Commit
8176fbec
authored
May 23, 2001
by
monty@donna.mysql.fi
Browse files
Options
Browse Files
Download
Plain Diff
merge
parents
27a9d630
a6215da1
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
88 additions
and
46 deletions
+88
-46
BitKeeper/etc/logging_ok
BitKeeper/etc/logging_ok
+1
-0
Docs/manual.texi
Docs/manual.texi
+87
-46
No files found.
BitKeeper/etc/logging_ok
View file @
8176fbec
jani@janikt.pp.saunalahti.fi
jani@janikt.pp.saunalahti.fi
monty@tik.mysql.fi
monty@tik.mysql.fi
monty@donna.mysql.fi
Docs/manual.texi
View file @
8176fbec
...
@@ -538,7 +538,7 @@ InnoDB Tables
...
@@ -538,7 +538,7 @@ InnoDB Tables
* InnoDB overview:: InnoDB tables overview
* InnoDB overview:: InnoDB tables overview
* InnoDB start:: InnoDB startup options
* InnoDB start:: InnoDB startup options
*
Creating an InnoDB database:: Creating an InnoDB databas
e.
*
InnoDB init:: Creating InnoDB table spac
e.
* Using InnoDB tables:: Creating InnoDB tables
* Using InnoDB tables:: Creating InnoDB tables
* Adding and removing:: Adding and removing InnoDB data and log files
* Adding and removing:: Adding and removing InnoDB data and log files
* Backing up:: Backing up and recovering an InnoDB database
* Backing up:: Backing up and recovering an InnoDB database
...
@@ -551,7 +551,7 @@ InnoDB Tables
...
@@ -551,7 +551,7 @@ InnoDB Tables
* InnoDB restrictions:: Some restrictions on InnoDB tables
* InnoDB restrictions:: Some restrictions on InnoDB tables
* InnoDB contact information:: InnoDB contact information.
* InnoDB contact information:: InnoDB contact information.
Creating
an InnoDB databas
e
Creating
InnoDB table spac
e
* Error creating InnoDB::
* Error creating InnoDB::
...
@@ -940,6 +940,12 @@ MySQL Internals
...
@@ -940,6 +940,12 @@ MySQL Internals
* MySQL threads:: MySQL threads
* MySQL threads:: MySQL threads
* MySQL test suite:: MySQL test suite
* MySQL test suite:: MySQL test suite
MySQL Test Suite
* running mysqltest::
* extending mysqltest::
* Reporting mysqltest bugs::
Credits
Credits
* Developers::
* Developers::
...
@@ -24633,7 +24639,7 @@ NuSphere is working on removing these limitations.
...
@@ -24633,7 +24639,7 @@ NuSphere is working on removing these limitations.
@menu
@menu
* InnoDB overview:: InnoDB tables overview
* InnoDB overview:: InnoDB tables overview
* InnoDB start:: InnoDB startup options
* InnoDB start:: InnoDB startup options
*
Creating an InnoDB database:: Creating an InnoDB databas
e.
*
InnoDB init:: Creating InnoDB table spac
e.
* Using InnoDB tables:: Creating InnoDB tables
* Using InnoDB tables:: Creating InnoDB tables
* Adding and removing:: Adding and removing InnoDB data and log files
* Adding and removing:: Adding and removing InnoDB data and log files
* Backing up:: Backing up and recovering an InnoDB database
* Backing up:: Backing up and recovering an InnoDB database
...
@@ -24688,7 +24694,7 @@ may consist of several files. This is different from, for example,
...
@@ -24688,7 +24694,7 @@ may consist of several files. This is different from, for example,
InnoDB is distributed under the GNU GPL License Version 2 (of June 1991).
InnoDB is distributed under the GNU GPL License Version 2 (of June 1991).
In the source distribution of @strong{MySQL}, InnoDB appears as a subdirectory.
In the source distribution of @strong{MySQL}, InnoDB appears as a subdirectory.
@node InnoDB start,
Creating an InnoDB database
, InnoDB overview, InnoDB
@node InnoDB start,
InnoDB init
, InnoDB overview, InnoDB
@subsection InnoDB startup options
@subsection InnoDB startup options
Beginning from @strong{MySQL}-3.23.37 the prefix of the options is changed
Beginning from @strong{MySQL}-3.23.37 the prefix of the options is changed
...
@@ -24830,8 +24836,8 @@ InnoDB cannot notice. In cases like this the timeout is useful to
...
@@ -24830,8 +24836,8 @@ InnoDB cannot notice. In cases like this the timeout is useful to
resolve the situation.
resolve the situation.
@end multitable
@end multitable
@node
Creating an InnoDB database
, Using InnoDB tables, InnoDB start, InnoDB
@node
InnoDB init
, Using InnoDB tables, InnoDB start, InnoDB
@subsection Creating
an InnoDB databas
e
@subsection Creating
InnoDB table spac
e
Suppose you have installed @strong{MySQL} and have edited @file{my.cnf} so that
Suppose you have installed @strong{MySQL} and have edited @file{my.cnf} so that
it contains the necessary InnoDB configuration parameters.
it contains the necessary InnoDB configuration parameters.
...
@@ -24895,7 +24901,7 @@ mysqld: ready for connections
...
@@ -24895,7 +24901,7 @@ mysqld: ready for connections
* Error creating InnoDB::
* Error creating InnoDB::
@end menu
@end menu
@node Error creating InnoDB, ,
Creating an InnoDB database, Creating an InnoDB database
@node Error creating InnoDB, ,
InnoDB init, InnoDB init
@subsubsection If something goes wrong in database creation
@subsubsection If something goes wrong in database creation
If something goes wrong in an InnoDB database creation, you should
If something goes wrong in an InnoDB database creation, you should
...
@@ -24905,7 +24911,7 @@ create some InnoDB tables, delete also the corresponding @file{.frm}
...
@@ -24905,7 +24911,7 @@ create some InnoDB tables, delete also the corresponding @file{.frm}
files for these tables from the @strong{MySQL} database
files for these tables from the @strong{MySQL} database
directories. Then you can try the InnoDB database creation again.
directories. Then you can try the InnoDB database creation again.
@node Using InnoDB tables, Adding and removing,
Creating an InnoDB database
, InnoDB
@node Using InnoDB tables, Adding and removing,
InnoDB init
, InnoDB
@subsection Creating InnoDB tables
@subsection Creating InnoDB tables
Suppose you have started the @strong{MySQL} client with the command
Suppose you have started the @strong{MySQL} client with the command
...
@@ -42432,16 +42438,35 @@ as well developers, to do regression tests on the @strong{MySQL} code. To
...
@@ -42432,16 +42438,35 @@ as well developers, to do regression tests on the @strong{MySQL} code. To
address this problem, we have created a new test system that is included in
address this problem, we have created a new test system that is included in
the source and binary distributions starting in Version 3.23.29.
the source and binary distributions starting in Version 3.23.29.
The test system consist of a test language interpreter (@code{mysqltest}),
The current set of test cases doesn't test everything in MySQL but, it
a shell script to run all tests(@code{mysql-test-run}), the actual test cases
should catch most obvious bugs in the SQL processing code, OS/library
written in a special test language, and their expected results. To run the
issues, and is quite thorough in testing replication. Our eventual goal
test suite on your system after a build, type @code{mysql-test/mysql-test-run}
is to have the tests cover 100% of the code. We welcome contributions
from the source root. If you have installed a binary distribution, @code{cd}
to our test suite. You may especially want to contribute tests that
to the install root (eg. @code{/usr/local/mysql}), and do
examine the functionality critical to your system, as this will ensure
@code{scripts/mysql-test-run}. All tests should succeed. If they do not,
that all future @strong{MySQL} releases will work well with your
use @code{mysqlbug} to send a bug report to @email{bugs@@lists.mysql.com}.
applications.
Make sure to include the output of @code{mysql-test-run}, as well as
contents of all @code{.reject} files in @code{mysql-test/r} directory.
@menu
* running mysqltest::
* extending mysqltest::
* Reporting mysqltest bugs::
@end menu
@node running mysqltest, extending mysqltest, MySQL test suite, MySQL test suite
@subsection Running the MySQL Test Suite
The test system consist of a test language interpreter
(@code{mysqltest}), a shell script to run all
tests(@code{mysql-test-run}), 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 @code{make test} or
@code{mysql-test/mysql-test-run} from the source root. If you have
installed a binary distribution, @code{cd} to the install root
(eg. @code{/usr/local/mysql}), and do @code{scripts/mysql-test-run}.
All tests should succeed. If not, you should try to find out why and
report the problem if this is a bug in @strong{MySQL}.
@xref{Reporting mysqltest bugs}.
If you have a copy of @code{mysqld} running on the machine where you want to
If you have a copy of @code{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
run the test suite you do not have to stop it, as long as it is not using
...
@@ -42449,14 +42474,14 @@ ports @code{9306} and @code{9307}. If one of those ports is taken, you should
...
@@ -42449,14 +42474,14 @@ ports @code{9306} and @code{9307}. If one of those ports is taken, you should
edit @code{mysql-test-run} and change the values of the master and/or slave
edit @code{mysql-test-run} and change the values of the master and/or slave
port to one that is available.
port to one that is available.
The current set of test cases is far from comprehensive, as we have not yet
You can run one individual test case with
converted all of our private tests to the new format. However, it should
@code{mysql-test/mysql-test-run test_name}.
already catch most obvious bugs in the SQL processing code, OS/library issues,
and is quite thorough in testing replication. Our eventual goal is to have
If one test fails, you should test running @code{mysql-test-run} with
the
tests cover 100% of the code. We welcome contributions to our test suite
.
the
@code{--force} option to check if any other tests fails
.
You may especially want to contribute tests that examine the functionality
critical to your system, as this will ensure that all future @strong{MySQL}
@node extending mysqltest, Reporting mysqltest bugs, running mysqltest, MySQL test suite
releases will work well with your applications.
@subsection Extending the MySQL Test Suite
You can use the @code{mysqltest} language to write your own test cases.
You can use the @code{mysqltest} language to write your own test cases.
Unfortunately, we have not yet written full documentation for it - we plan to
Unfortunately, we have not yet written full documentation for it - we plan to
...
@@ -42464,15 +42489,9 @@ do this shortly. You can, however, look at our current test cases and use
...
@@ -42464,15 +42489,9 @@ do this shortly. You can, however, look at our current test cases and use
them as an example. The following points should help you get started:
them as an example. The following points should help you get started:
@itemize
@itemize
@item
@item
The tests are located in @code{mysql-test/t/*.test}
The tests are located in @code{mysql-test/t/*.test}
@item
You can run one individual test case with
@code{mysql-test/mysql-test-run test_name}
removing @code{.test} extension from the file name
@item
@item
A test case consists of @code{;} terminated statements and is similar to the
A test case consists of @code{;} terminated statements and is similar to the
input of @code{mysql} command line client. A statement by default is a query
input of @code{mysql} command line client. A statement by default is a query
...
@@ -42501,15 +42520,9 @@ test produces more than one result, you should use @code{test_name.a.result},
...
@@ -42501,15 +42520,9 @@ test produces more than one result, you should use @code{test_name.a.result},
@code{test_name.b.result}, etc.
@code{test_name.b.result}, etc.
@item
@item
Failed test results are put in a file with the same base name as the
If a statement returns an error, you should on the line before the statement
result file with the @code{.reject} extension. If your test case is
specify with the @code{--error error-number}. The error number can be
failing, you should do a diff on the two files. If you cannot see how
a list of possible error numbers separated with @code{','}.
they are different, examine both with @code{od -c} and also check their
lengths.
@item
You can prefix a query with @code{!} if the test can continue after that query
returns an error.
@item
@item
If you are writing a replication test case, you should on the first line of
If you are writing a replication test case, you should on the first line of
...
@@ -42548,6 +42561,9 @@ attachments, you should ftp all the relevant files to:
...
@@ -42548,6 +42561,9 @@ attachments, you should ftp all the relevant files to:
@end itemize
@end itemize
@node Reporting mysqltest bugs, , extending mysqltest, MySQL test suite
@subsection Extending the MySQL Test Suite
If your @strong{MySQL} version doesn't pass the test suite you should
If your @strong{MySQL} version doesn't pass the test suite you should
do the following:
do the following:
...
@@ -42557,6 +42573,26 @@ Don't send a bug report before you have found out as much as possible of
...
@@ -42557,6 +42573,26 @@ Don't send a bug report before you have found out as much as possible of
what when wrong! When you do it, please use the @code{mysqlbug} script
what when wrong! When you do it, please use the @code{mysqlbug} script
so that we can get information about your system and @code{MySQL}
so that we can get information about your system and @code{MySQL}
version. @xref{Bug reports}.
version. @xref{Bug reports}.
@item
Make sure to include the output of @code{mysql-test-run}, as well as
contents of all @code{.reject} files in @code{mysql-test/r} directory.
@item
If a test in the test suite fails, check if the test fails also when run
by its own:
@example
cd mysql-test
mysql-test-run --local test-name
@end example
If this fails, then you should configure @strong{MySQL} with
@code{--with-debug} and run @code{mysql-test-run} with the
@code{--debug} option. If this also fails send the trace file
@file{var/tmp/master.trace} to ftp://support.mysql.com/pub/mysql/secret
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.
@item
@item
If you have compiled @strong{MySQL} yourself, check our manual for how
If you have compiled @strong{MySQL} yourself, check our manual for how
to compile @strong{MySQL} on your platform or, preferable, use one of
to compile @strong{MySQL} on your platform or, preferable, use one of
...
@@ -42568,10 +42604,14 @@ pass the test suite !
...
@@ -42568,10 +42604,14 @@ pass the test suite !
If you get an error, like @code{Result length mismatch} or @code{Result
If you get an error, like @code{Result length mismatch} or @code{Result
content mismatch} it means that the output of the test didn't match
content mismatch} it means that the output of the test didn't match
exactly the expected output. This could be a bug in @strong{MySQL} or
exactly the expected output. This could be a bug in @strong{MySQL} or
that your @code{mysqld} version produces slightly different results under some
that your mysqld version produces slight different results under some
circumstances. In this case, you should compare the @file{.test}
circumstances.
and @file{.reject} file in the @file{mysql-test/r} sub directory to
see if this is something to worry about.
Failed test results are put in a file with the same base name as the
result file with the @code{.reject} extension. If your test case is
failing, you should do a diff on the two files. If you cannot see how
they are different, examine both with @code{od -c} and also check their
lengths.
@item
@item
If a test fails totally, you should check the logs file in the
If a test fails totally, you should check the logs file in the
...
@@ -42579,7 +42619,8 @@ If a test fails totally, you should check the logs file in the
...
@@ -42579,7 +42619,8 @@ If a test fails totally, you should check the logs file in the
@item
@item
If you have compiled @strong{MySQL} with debugging you can try to debug this
If you have compiled @strong{MySQL} with debugging you can try to debug this
with the @code{--gdb} and @code{--debug} options to @code{mysql-test-run}.
by running @code{mysql-test-run} with the @code{--gdb} and/or @code{--debug}
options.
@xref{Making trace files}.
@xref{Making trace files}.
If you have not compiled @strong{MySQL} for debugging you should probably
If you have not compiled @strong{MySQL} for debugging you should probably
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment