1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
|
# 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: <basedir>/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)
# "{<min>,<max>}" Minimum match count <min> , Maximum match count <max>
# 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 => [
# '--source include/master-slave.inc', # Enable this for replication
'--disable_abort_on_error',
'--disable_warnings',
'--disable_query_log',
'--disable_result_log'
],
# 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 => [
# '--connection master',
# '--sync_slave_with_master', # Enable this for replication
# '--let $diff_table_1 = master:test.table1_int',
# '--let $diff_table_2 = slave:test.table1_int',
# '--source include/diff_tables.inc',
],
# 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,
},
# 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
}
|