WL#13411: Move testcases in perfschema suite that needs MyISAM to a separate .test file

Affects: Server-8.0   —   Status: Complete

There are tests in the perfschema suite as well as few others that 
have some testcases running on MyISAM.  These are marked with have_myisam.inc and 
will be skipped on a server built without MyISAM. Currently MyISAM is always 
compiled in and hence these tests will run. We do not want entire .test 
files to be skipped due to a few testcases that need MyISAM. 

This WL will move the sections that need MyISAM to a separate .test file . 
R1 - It shall be possible to run complete MTR test suite on a server that is 
built 
without MyISAM engine
R2 - Tests that need MyISAM shall not be run when triggered on a server without 
MyISAM engine
R3 - Tests that do not need MyISAM shall run and pass when run on server without 
MyISAM engine
WL#5656 marked all tests that require MyISAM with have_myisam.inc file. Some
of these tests are only for MyISAM and some have tests for MyISAM and other
engines. This WL should separate out MyISAM testcases from tests that have tests 
for multiple engines. . The strategy to be followed in this WL will be roughly as 
below


1. Tests that contain force_myisam_default. 
* These tests are exclusively for MyISAM and no change is needed in the .test 
file
2. Tests that contain have_myisam.inc, but not force_myisam_default - These
.test files have some sub tests for MyISAM. Move the MyISAM specific parts into
a separate file and add the following
* Add force_myisam_default.inc
* Retain have_myisam.inc 
* Add comments explaining why the test needs MyISAM
3. Remove have_myisam.inc from the original file

Note: Not all tests that require MyISAM is covered by have_myisam.inc. There are 
few tests that does not have "have_myisam.inc" and still have MyISAM reference in 
the test/subtest. The list have been updated in the below sections.
1.There are no tests in perfschema test suite for now which are specific to 
MyISAM and includes "have_myisam.inc" and 
"force_myisam_default.inc".

2.Following tests in perf_schema suite have "have_myisam.inc" and do not have 
force_myisam_default.inc.

perfschema/t/ddl_esms_by_program.test
perfschema/t/ddl_prepared_statements_instances.test
perfschema/t/dml_esms_by_program.test
perfschema/t/dml_prepared_statements_instances.test

3.Following MTR tests in perf_schema test suite have engine=MyISAM existence but 
do not include "have_myisam.inc".

perfschema/t/alter_table_progress.test
perfschema/t/dml_file_instances.test
perfschema/t/func_file_io.test
perfschema/t/func_mutex.test
perfschema/t/indexed_table_io.test
perfschema/t/merge_table_io.test
perfschema/t/multi_table_io.test
perfschema/t/myisam_file_io.test
perfschema/t/myisam_table_io.test
perfschema/t/no_threads.test
perfschema/t/one_thread_per_con.test
perfschema/t/selects.test
perfschema/t/table_name.test
perfschema/t/temp_table_io.test
perfschema/t/transaction_nested_events.test
perfschema/t/transaction.test
perfschema/t/trigger_table_io.test
perfschema/t/view_table_io.test
perfschema/t/perfschema.no_threads
perfschema/t/perfschema.binlog_edge_mix
perfschema/t/perfschema.binlog_edge_row
perfschema/t/perfschema.binlog_edge_stmt
perfschema/t/perfschema.binlog_ok_mix
perfschema/t/perfschema.binlog_ok_row
perfschema/t/perfschema.binlog_ok_stmt
perfschema/t/binlog_edge_mix.test 
perfschema/t/binlog_edge_row.test 
perfschema/t/binlog_edge_stmt.test 
perfschema/t/binlog_ok_mix.test 
perfschema/t/binlog_ok_row.test 
perfschema/t/binlog_ok_stmt.test
i_perfschema/t/optimizer.test
i_perfschema/t/ddl_temp_table.test