WL#9027: Remove usage of skip from tests(except rpl and binlog) that need specific mysqld options to run
Affects: Server-8.0 — Status: Complete — Priority: Medium
This is a sub task of WL#8036 and will address the category of tests that need specific mysqld options. The objective of the work-log is to eliminate the dependency of "inc" files from the test-cases which is being used for passing mysqld server options. Under this work-log, all inc files in each MTR suites (except replication and binlog) will be analyzed. Replication and binlog suites are little complex because they involves many different cases (for eg. GTID mode skips, binlog format skips) which needs to be planned and will be taken in a separate WL. It is good to have the mysqld option passed through an opt file or within the test because this will always allow the test to run. If instead, an inc file is used, the test will be skipped if the option is missed/not-passed while running the test. User Documentation ================== Changes for test suite. No user documentation needed.
FR1 : Tests that need special mysqld options shall be set in the .opt or .test file instead of "inc" files. FR1.1: .opt file will be used when server restart is required, specially in case of initializing static variables. FR1.2: .test will be used in case of initializing dynamic server variables. FR2: "inc" files that skip the testcase when mysqld option is not passed shall be removed - including reference of the inc file within the test. FR2.1: Specific "inc" files (for eg. have_QC_Disabled.inc) shall not be removed as it helps skipping tests in a suite which are already covered. for eg. Below test should run only with QC Disabled: Testname: a.test If the test is run by MTR using different query_cache options (ON/OFF), below test should successfully skip with (ON). ./mtr a.test --query-cache-type=ON ./mtr a.test --query-cache-type=OFF FR3: All "inc" files will be checked for redundancy. If found, any "inc" file not being used by a testcase shall be removed.
Inc files from the below location will be checked against all the functional requirements - (FR1, FR2, FR3). mysql-trunk/mysql-test/include mysql-trunk/mysql-test/t mysql-trunk/suite/auth_sec/include mysql-trunk/suite/funcs_1/include mysql-trunk/suite/innodb/include mysql-trunk/suite/innodb_undo/include mysql-trunk/suite/sys_vars/inc mysql-trunk/suite/funcs_2/include mysql-trunk/suite/innodb_fts/include mysql-trunk/suite/innodb_zip/include mysql-trunk/suite/perfschema/include mysql-trunk/suite/gcol/inc mysql-trunk/suite/memcached/include mysql-trunk/suite/opt_trace/include mysql-trunk/suite/query_rewrite_plugins/include mysql-trunk/suite/sysschema/include
Each of the .inc file mentioned in the HLS will be studied and then categorized which falls under mysqld server options. The options (server variables) used in the inc file will be analyzed (as static or dynamic variables) and based on that will be incorporated in the opt file or within the test file. A new opt file needs to be created, in case it does not exist. Once implemented, the inc file needs to be removed along with it's reference from the test file.
Copyright (c) 2000, 2019, Oracle Corporation and/or its affiliates. All rights reserved.