72 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			72 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								The following suites are included:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								1) 'funcs' suite
							 | 
						||
| 
								 | 
							
								   -------------
							 | 
						||
| 
								 | 
							
								   A collection of functional tests covering basic engine and server functionality that can be run
							 | 
						||
| 
								 | 
							
								   against iany 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 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 refrences
							 | 
						||
| 
								 | 
							
								      to 'InnoDB' to <engine>.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Known Issues
							 | 
						||
| 
								 | 
							
								------------
							 | 
						||
| 
								 | 
							
								1) The folowing 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 secific binlog_forat 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 againsr a server configured to use statement based replication.
							 | 
						||
| 
								 | 
							
								 
							 |