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
Copyright (c) 2000, 2021, Oracle Corporation and/or its affiliates. All rights reserved.