# Copyright (C) 2008 Sun Microsystems, Inc. All rights reserved. Use # is subject to license terms. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 # USA # Configuration file template for util/simplify-mysqltest.pl # # Please # - copy this file to for example simplify-mysqltest_1.cfg and # - adjust the settings so that they fit to your usage case and # environment # { # base_dir #--------- # Directory where your MySQL release is installed. # # If you want to simplify based on result differences between two server versions # instead of looking for expected output from a single server, specify both # basedir and basedir2 below. # # Unless you are looking for an assertion, use a non-debug build for faster processing # basedir => '/build/bzr/mysql-5.1-rep+3', # input_file #----------- # File which should be used as the base for the simplification process. # This could be a # - script (extension .test) for processing via mysq-ltest-run.pl # - statement log (extension .CSV) # Example: /var/master-data/mysql/general_log.CSV # input_file => '/tmp/general_log.CSV', # expected_mtr_output #-------------------- # Pattern which needs to occur within the MTR output after a successful # simplification. The search pattern is usually derived from a backtrace. # Not needed if two basedirs (servers) are specified (file comparison is used # instead). # # Some hints: # "." matches any character including newline (the search command uses the "s" modifier) # "{,}" Minimum match count , Maximum match count # So the example pattern causes basically a search for # "safe_cond_timedwait" with a distance of less than 151 characters to a following # "thr_mutex.c" with a distance of less than 51 characters to a following ... # Example: # 'safe_cond_timedwait.{0,150}thr_mutex\.c.{0,50}Item_func_sleep::val_int.{0,3000}SELECT 1,SLEEP\(10\)', # expected_mtr_output => 'HA_ERR_END_OF_FILE', # Please be careful when using addresses or source file line numbers in search patterns. # - They increase the selectivity of the search. # - A minor change of the server startup options, source files etc. could cause that the search fails. # header #------- # The header is prepended to each test case and is not influenced by simplification. # If replication is enabled, --source include/master-slave.inc will also be used. # header => [ '--disable_abort_on_error', '--disable_warnings' ], # footer #------- # The footer is appended to each test case and is not influenced by simplification. # When replication is enabled, the default footer is '--sync_slave_with_master' # If you are simplifying a crashing bug, you can also put your crashing query here # footer => [ '# Footer line 1', '# Footer line 2' ], # filter #------- # The filter is applied to the test case in order to remove irrelevant queries. If # you are running a replication test, you may also wish to filter out SELECTs # filter => qr{SHOW WARNINGS|EXPLAIN}sio, # mtr_options #------------ # mysql-test-run.pl (MTR) options which should be used. # 'record' is required if two basedirs (servers) are specified. # mtr_options => { 'skip-ndbcluster' => undef, 'record' => undef, 'mem' => undef, 'no-check-testcases' => undef, 'nowarnings' => undef, 'fast' => undef }, # mysqld options #--------------- # MySQL server startup options. # mysqld => { # 'innodb' => undef, # 'binlog-format' => 'mixed', # 'plugin-dir' => '/build/bzr/mysql-5.1-rep+3/plugin/semisync/.libs', # 'plugin-load' => 'rpl_semi_sync_master=libsemisync_master.so:rpl_semi_sync_slave=libsemisync_slave.so', # 'rpl_semi_sync_master_enabled' => 1, # 'rpl_semi_sync_slave_enabled' => 1, # Those options make test execution faster 'table-lock-wait-timeout' => 1, 'loose-rpl_semi_sync_master_timeout' => 10, 'log-output' => 'none', 'innodb_flush_log_at_trx_commit' => 0, 'log-slave-updates' => 0, }, # replication #------------ # Set this to 1 to turn on # "--source include/master-slave.inc" and # "--sync_slave_with_master" # replication => 0, # Multithreaded test cases #------------------------- # # Enabling this option will use --connection --connect and --disconnect # when converting the CSV file into a .test case. This however may cause # considerable slow-down in the simplification process because MTR will # constantly complain about mismatched --connection and --connect in the # intermediate test cases. # use_connections => 0 }