summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/engines/README
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/suite/engines/README')
-rw-r--r--mysql-test/suite/engines/README72
1 files changed, 72 insertions, 0 deletions
diff --git a/mysql-test/suite/engines/README b/mysql-test/suite/engines/README
new file mode 100644
index 00000000..0a1e43cb
--- /dev/null
+++ b/mysql-test/suite/engines/README
@@ -0,0 +1,72 @@
+This directory includes a set of three test suites aimed as testing
+functionality in an engine independent way, that is - the tests should
+work identically against different engines.
+
+If you are an engine writer and wants to test if your engine is compatible with
+other engines in MariaDB, you should instead of using this test suite use
+the storage_engine test suite which is more suitable for that purpose.
+
+
+The following suites are included:
+
+1) 'funcs' suite
+ -------------
+ A collection of functional tests covering basic engine and server
+ functionality that can be run against any engine.
+
+ To run the test suite:
+ cd INSTALL_DIR/mysql-test
+ run: perl ./mysql-test-run.pl --suite=engines/funcs --mysqld=--default-storage-engine=<engine>
+
+2) 'iuds' suite
+ ------------
+ Similar to the above focused on insert/update/delete operations of different data types.
+
+ To run the test suite:
+ cd INSTALL_DIR/mysql-test
+ run: perl ./mysql-test-run.pl --suite=engines/iuds --mysqld=--default-storage-engine=<engine>
+
+3) 'rr_trx' suite (transactional engines only)
+ --------------
+ A scenario of multiple client connections verifying transactions with repeatable read isolation level
+
+ To run the test suite with innodb:
+ cd INSTALL_DIR/mysql-test
+ run: perl ./suite/engines/rr_trx/run_stress_tx_rr.pl --engine=<engine> [--duration=<nn>]
+ [--threads=<nn>] [--try] [--help]
+
+ This test is can be run against any transactional engine. However scripts need to be modified in order
+ to support such engines (current scripts support only InnoDB).
+ In order to add support for a new engine, you will need to modify scripts as follows:
+ 1) cd to INSTALL_DIR/mysql-test/suite/engines/rr_trx
+ 2) Modify the 'run_stress_rr.pl' file by adding an 'elsif' section for your engine and have it
+ include specific values required to be passed as startup parameters to the MySQL server by
+ specifying them using "--mysqld" options (see InnoDB example).
+ 3) Copy the 'init_innodb.txt' file to 'init_<engine>.txt file and change its content to be "init_<engine>".
+ 4) In the 't' directory copy the "init_innodb.test" file to "init_<engine>.test" and change the value of
+ the '$engine' variable to <engine>.
+ 5) In the 'r' directory copy "the init_innodb.result" file to "init_<engine>.result" and change references
+ to 'InnoDB' to <engine>.
+
+
+Known Issues
+------------
+1) The following tests in the 'iuds' suite:
+ - delete_decimal
+ - insert_decimal
+ - update_decimal
+ will return a 'Warning 1264 - Out of range value...' warning if run in a 32-bit environment.
+ Add the '--force' option to prevent the test run from aborting.
+
+2) The following tests in the 'funcs' suite will fail when run against the innodb_plugin:
+ - crash_manycolumns_string (bug 50495)
+ - ix_unique_lob (bug 52056, masked by an 'Out of memory error' on some 32-bit platforms)
+ - ix_unique_string_length (bug 52056, masked by an 'Out of memory error' on some 32-bit platforms)
+ Add the '--force' option to prevent the test run from aborting.
+
+3) Some of the rpl_xxx tests in the 'funcs' suite require a specific
+ binlog_format setting and will be skipped otherwise.
+
+4) Some of the rpl_xxx tests in the 'funcs' suite will report a
+ 'Statement unsafe for replication' warning when run against a
+ server configured to use statement based replication.