Merge lp:~gl-az/percona-xtrabackup/bug1243009-2.1 into lp:percona-xtrabackup/2.1

Proposed by George Ormond Lorch III on 2013-11-15
Status: Work in progress
Proposed branch: lp:~gl-az/percona-xtrabackup/bug1243009-2.1
Merge into: lp:percona-xtrabackup/2.1
Diff against target: 417 lines (+88/-41)
16 files modified
test/inc/common.sh (+13/-3)
test/run.sh (+20/-4)
test/t/bug1037379.sh (+2/-2)
test/t/bug1112224.sh (+1/-1)
test/t/bug483827.sh (+4/-10)
test/t/bug664986.sh (+4/-4)
test/t/bug729843.sh (+1/-1)
test/t/bug740489.sh (+1/-1)
test/t/bug996493.sh (+1/-1)
test/t/ib_doublewrite.sh (+3/-7)
test/t/ib_empty_dir.sh (+1/-1)
test/t/ib_slave_info.sh (+1/-1)
test/t/kill_long_selects.sh (+2/-2)
test/t/version_check.sh (+7/-1)
utils/build-binary.sh (+14/-1)
utils/build.sh (+13/-1)
To merge this branch: bzr merge lp:~gl-az/percona-xtrabackup/bug1243009-2.1
Reviewer Review Type Date Requested Status
Vlad Lesin (community) g2 Needs Fixing on 2014-01-06
Alexey Kopytov 2013-11-15 Pending
Review via email: mp+195435@code.launchpad.net

This proposal supersedes a proposal from 2013-10-22.

Description of the change

Fix for bug 1243009 --debug and --valgrind options needed for XtraBackup's build-binary.sh

util/build-binary.sh:
Added new options --debug, --relwithdebinfo and --valgrind. These will set and export the DEBUG, RELWITHDEBINFO and VALGRIND variables to 'yes' before calling build.sh if specified. Even though they are mutually exclusive, there is no explicit test for this case.

util/build.sh:
Added testing for RELWITHDEBINFO and VALGRIND variables and set up build/make options necessary for each case.

test/run.sh and test/inc/common.sh:
Added -v N option to run.sh to allow enabling of valgrind when using test suite. N specifies a value that will be passed to valgrinds --error-exitcode option. Made changes to accomplish this based on Alexey Kopytovs suggestions.
Moved innobackupex_no_defaults_file into inc/common.sh from t/ib_doublewrite.sh since the concept is used in a few tests and correct fixup of IB_ARGS[@] is necessary in order to preserve args and valgrind options and makes a couple test cases a little simpler.

Fixed up several test cases that use/depend on $IB_ARGS to use "${IB_ARGS[@]}".

jenkins http://jenkins.percona.com/view/XtraBackup/job/percona-xtrabackup-2.1-param/492/
jenkins with '-v 0 -T 1600' options http://jenkins.percona.com/view/XtraBackup/job/percona-xtrabackup-2.1-param/496/

To post a comment you must log in.
Alexey Kopytov (akopytov) wrote : Posted in a previous version of this proposal

Same question as in 2.0 MP.

review: Needs Information
Vlad Lesin (vlad-lesin) wrote :

The same questions as here: https://code.launchpad.net/~gl-az/percona-xtrabackup/bug1243009-2.0/+merge/195434/comments/465887.

I am not sure in correctness if this code in test/t/version_check.sh:

+for ((i=0; i < ${#IB_ARGS[@]}; i++))
+do
+ if [ "${IB_ARGS[$i]}" = "--no-version-check" ]
+ then
+ IB_ARGS=("${IB_ARGS[@]:0:$i}" "${IB_ARGS[@]:(($i + 1))}")
+ fi
+done

Imagine you have three "--no-version-check" options in a line starting with index say 2. There will be the following iterations:

1)
before removing
index 2 3 4
i = 2, IB_ARGS = (... "--no-version-check" "--no-version-check" "--no-version-check" ...), ${#IB_ARGS[@]} = n
after removing
index 2 3
i = 2, IB_ARGS = (... "--no-version-check" "--no-version-check" ...), ${#IB_ARGS[@]} = n - 1

2)
before removing
index 2 3
i = 3, IB_ARGS = (... "--no-version-check" "--no-version-check" ...), ${#IB_ARGS[@]} = n - 1
after removing
index 2 3
i = 3, IB_ARGS = (... "--no-version-check" ... ...), ${#IB_ARGS[@]} = n - 2

So as we can see this algorithm removes only a half of "--no-version-check" elements because $i is increased on every loop but the tail of the array is shifted by one element left and the index of the next element after removed element is decreased.

review: Needs Fixing (g2)

Unmerged revisions

693. By George Ormond Lorch III on 2013-11-15

Fix for bug 1243009 --debug and --valgrind options needed for XtraBackup's build-binary.sh

util/build-binary.sh:
  Added new options --debug, --relwithdebinfo and --valgrind. These will set and export the DEBUG, RELWITHDEBINFO and VALGRIND variables to 'yes' before calling build.sh if specified. Even though they are mutually exclusive, there is no explicit test for this case.

util/build.sh:
  Added testing for RELWITHDEBINFO and VALGRIND variables and set up build/make options necessary for each case.

test/run.sh and test/inc/common.sh:
  Added -v N option to run.sh to allow enabling of valgrind when using test suite. N specifies a value that will be bassed to valgrinds --error-exitcode option. Made changes to accomplish this based on Alexey Kopytovs suggestions.
  Moved innobackupex_no_defaults_file into inc/common.sh from t/ib_doublewrite.sh since the concept is used in a few tests and correct fixup of IB_ARGS[@] is necessary in order to preserve args and valgrind options and makes a couple test cases a little simpler.

Fixed up several test cases that use/depend on $IB_ARGS to use "${IB_ARGS[@]}".

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'test/inc/common.sh'
2--- test/inc/common.sh 2013-11-07 12:23:43 +0000
3+++ test/inc/common.sh 2013-11-15 18:16:05 +0000
4@@ -2,9 +2,19 @@
5
6 function innobackupex()
7 {
8- run_cmd $IB_BIN $IB_ARGS $*
9+ run_cmd $IB_BIN "${IB_ARGS[@]}" $*
10 }
11+function innobackupex_no_defaults_file()
12+{
13+ local IB_ARGS_NO_DEFAULTS_FILE=()
14+ for arg in "${IB_ARGS[@]}"; do
15+ if [[ $arg != "--defaults-file="* ]]; then
16+ IB_ARGS_NO_DEFAULTS_FILE[${#IB_ARGS_NO_DEFAULTS_FILE[@]}]=$arg
17+ fi
18+ done
19
20+ run_cmd $IB_BIN "${IB_ARGS_NO_DEFAULTS_FILE[@]}" $*
21+}
22 function xtrabackup()
23 {
24 run_cmd $XB_BIN $XB_ARGS $*
25@@ -239,8 +249,8 @@
26 MYSQLD_ARGS="$MYSQLD_ARGS --user=root"
27 fi
28
29- IB_ARGS="--defaults-file=$MYSQLD_VARDIR/my.cnf --ibbackup=$XB_BIN \
30---no-version-check"
31+ IB_ARGS=("--defaults-file=$MYSQLD_VARDIR/my.cnf" "--ibbackup=$XB_BIN"
32+ "--no-version-check")
33 XB_ARGS="--defaults-file=$MYSQLD_VARDIR/my.cnf"
34
35 # Some aliases for compatibility, as tests use the following names
36
37=== modified file 'test/run.sh'
38--- test/run.sh 2013-09-23 05:21:56 +0000
39+++ test/run.sh 2013-11-15 18:16:05 +0000
40@@ -38,10 +38,11 @@
41 function usage()
42 {
43 cat <<EOF
44-Usage: $0 [-f] [-g] [-h] [-s suite] [-t test_name] [-d mysql_basedir] [-c build_conf]
45+Usage: $0 [-f] [-g] [-v child_error_exit] [-h] [-s suite] [-t test_name] [-d mysql_basedir] [-c build_conf]
46 -f Continue running tests after failures
47 -d path Server installation directory. Default is './server'.
48 -g Debug mode
49+-v N Run XtraBackup binary through "valgrind --error-exitcode=N".
50 -t path Run only a single named test
51 -h Print this help message
52 -s suite Select a test suite to run. Possible values: experimental, t.
53@@ -440,7 +441,12 @@
54 vlog "Cannot find '$XB_BIN' in PATH"
55 return 1
56 fi
57- XB_BIN="$XB_PATH"
58+ if [ -z "$VALGRIND" ]
59+ then
60+ XB_BIN="$XB_PATH"
61+ else
62+ XB_BIN="valgrind --error-exitcode=$VALGRIND $XB_PATH"
63+ fi
64
65 # Set the correct binary for innobackupex
66 IB_BIN="`which innobackupex`"
67@@ -771,8 +777,9 @@
68 SUBUNIT_OUT=test_results.subunit
69 NWORKERS=
70 DEBUG_WORKER=""
71+VALGRIND=""
72
73-while getopts "fgh?:t:s:d:c:j:T:" options; do
74+while getopts "fgh?:t:s:d:c:j:v:T:" options; do
75 case $options in
76 f ) force="yes";;
77 t )
78@@ -786,6 +793,15 @@
79 ;;
80
81 g ) DEBUG=on;;
82+ v )
83+ if [[ ! $OPTARG =~ ^[0-9]+$ ]]
84+ then
85+ echo "Wrong -v argument: $OPTARG"
86+ exit -1
87+ fi
88+ VALGRIND="$OPTARG"
89+ ;;
90+
91 h ) usage; exit;;
92 s ) tname="$OPTARG/*.sh";;
93 d ) export MYSQL_BASEDIR="$OPTARG";;
94@@ -844,7 +860,7 @@
95 echo "Running against $MYSQL_FLAVOR $MYSQL_VERSION ($INNODB_FLAVOR $INNODB_VERSION)" |
96 tee -a $OUTFILE
97
98-echo "Using '`basename $XB_BIN`' as xtrabackup binary" | tee -a $OUTFILE
99+echo "Using '$XB_BIN' as xtrabackup binary" | tee -a $OUTFILE
100
101 [ -z "$NWORKERS" ] && autocalc_nworkers
102
103
104=== modified file 'test/t/bug1037379.sh'
105--- test/t/bug1037379.sh 2012-10-16 15:05:23 +0000
106+++ test/t/bug1037379.sh 2013-11-15 18:16:05 +0000
107@@ -40,7 +40,7 @@
108 ################################################################################
109
110 # The following will fail due to a timeout
111-run_cmd_expect_failure $IB_BIN $IB_ARGS --no-timestamp --safe-slave-backup \
112+run_cmd_expect_failure $IB_BIN "${IB_ARGS[@]}" --no-timestamp --safe-slave-backup \
113 --safe-slave-backup-timeout=3 $topdir/backup1
114
115 grep -q "Slave_open_temp_tables did not become zero" $OUTFILE
116@@ -57,7 +57,7 @@
117 run_cmd $MYSQL $MYSQL_ARGS -e "STOP SLAVE SQL_THREAD"
118
119 # The following will fail due to a timeout
120-run_cmd_expect_failure $IB_BIN $IB_ARGS --no-timestamp --safe-slave-backup \
121+run_cmd_expect_failure $IB_BIN "${IB_ARGS[@]}" --no-timestamp --safe-slave-backup \
122 --safe-slave-backup-timeout=3 $topdir/backup2
123
124 grep -c "Slave_open_temp_tables did not become zero" $OUTFILE | grep -w 2
125
126=== modified file 'test/t/bug1112224.sh'
127--- test/t/bug1112224.sh 2013-03-18 14:13:04 +0000
128+++ test/t/bug1112224.sh 2013-11-15 18:16:05 +0000
129@@ -35,7 +35,7 @@
130 vlog "Log applied to full backup"
131
132 # Command should fail and print error message
133-run_cmd_expect_failure $IB_BIN $IB_ARGS --apply-log --redo-only --incremental-dir=$topdir/inc \
134+run_cmd_expect_failure $IB_BIN "${IB_ARGS[@]}" --apply-log --redo-only --incremental-dir=$topdir/inc \
135 $topdir/full
136 if ! grep -q "Cannot handle DDL operation" $OUTFILE
137 then
138
139=== modified file 'test/t/bug483827.sh'
140--- test/t/bug483827.sh 2013-04-27 18:46:54 +0000
141+++ test/t/bug483827.sh 2013-11-15 18:16:05 +0000
142@@ -2,12 +2,6 @@
143 # Bug #483827: support for mysqld_multi
144 ########################################################################
145
146-function modify_args()
147-{
148- XB_ARGS=`echo $XB_ARGS | sed -e 's/my.cnf/my_multi.cnf/'`
149- IB_ARGS=`echo $IB_ARGS | sed -e 's/my.cnf/my_multi.cnf/'`
150-}
151-
152 . inc/common.sh
153
154 start_server
155@@ -15,14 +9,14 @@
156 backup_dir=$topdir/backup
157
158 # change defaults file from my.cnf to my_multi.cnf
159-modify_args
160+XB_ARGS=`echo $XB_ARGS | sed -e 's/my.cnf/my_multi.cnf/'`
161
162 # make my_multi.cnf
163 sed -e 's/\[mysqld\]/[mysqld1]/' $topdir/my.cnf > $topdir/my_multi.cnf
164
165 # Backup
166-innobackupex --no-timestamp --defaults-group=mysqld1 $backup_dir
167-innobackupex --apply-log $backup_dir
168+innobackupex_no_defaults_file --defaults-file=$topdir/my_multi.cnf --no-timestamp --defaults-group=mysqld1 $backup_dir
169+innobackupex_no_defaults_file --defaults-file=$topdir/my_multi.cnf --apply-log $backup_dir
170
171 stop_server
172
173@@ -30,7 +24,7 @@
174 rm -rf ${mysql_datadir}/*
175
176 # restore backup
177-innobackupex --copy-back --defaults-group=mysqld1 $backup_dir
178+innobackupex_no_defaults_file --defaults-file=$topdir/my_multi.cnf --copy-back --defaults-group=mysqld1 $backup_dir
179
180 # make sure that data are in correct place
181 if [ ! -f ${mysql_datadir}/ibdata1 ] ; then
182
183=== modified file 'test/t/bug664986.sh'
184--- test/t/bug664986.sh 2013-07-03 18:30:28 +0000
185+++ test/t/bug664986.sh 2013-11-15 18:16:05 +0000
186@@ -18,23 +18,23 @@
187 # Test that wrong directory permissions result in a backup failure
188 # for both InnoDB and non-InnoDB files
189 chmod 000 $MYSQLD_DATADIR/test_bug664986_innodb
190-run_cmd_expect_failure $IB_BIN $IB_ARGS --no-timestamp $topdir/backup
191+run_cmd_expect_failure $IB_BIN "${IB_ARGS[@]}" --no-timestamp $topdir/backup
192 chmod 777 $MYSQLD_DATADIR/test_bug664986_innodb
193 rm -rf $topdir/backup
194
195 chmod 000 $MYSQLD_DATADIR/test_bug664986_myisam
196-run_cmd_expect_failure $IB_BIN $IB_ARGS --no-timestamp $topdir/backup
197+run_cmd_expect_failure $IB_BIN "${IB_ARGS[@]}" --no-timestamp $topdir/backup
198 chmod 777 $MYSQLD_DATADIR/test_bug664986_myisam
199 rm -rf $topdir/backup
200
201 # Test that wrong file permissions result in a backup failure
202 # for both InnoDB and non-InnoDB files
203 chmod 000 $MYSQLD_DATADIR/test_bug664986_innodb/t.ibd
204-run_cmd_expect_failure $IB_BIN $IB_ARGS --no-timestamp $topdir/backup
205+run_cmd_expect_failure $IB_BIN "${IB_ARGS[@]}" --no-timestamp $topdir/backup
206 chmod 644 $MYSQLD_DATADIR/test_bug664986_innodb/t.ibd
207 rm -rf $topdir/backup
208
209 chmod 000 $MYSQLD_DATADIR/test_bug664986_myisam/t.MYD
210-run_cmd_expect_failure $IB_BIN $IB_ARGS --no-timestamp $topdir/backup
211+run_cmd_expect_failure $IB_BIN "${IB_ARGS[@]}" --no-timestamp $topdir/backup
212 chmod 644 $MYSQLD_DATADIR/test_bug664986_myisam/t.MYD
213 rm -rf $topdir/backup
214
215=== modified file 'test/t/bug729843.sh'
216--- test/t/bug729843.sh 2013-02-05 11:54:27 +0000
217+++ test/t/bug729843.sh 2013-11-15 18:16:05 +0000
218@@ -12,7 +12,7 @@
219 # Don't use run_cmd_* or innobackupex functions here to avoid logging
220 # the full command line (including the password in plaintext)
221 set +e
222-$IB_BIN $IB_ARGS --password=secretpassword $topdir/backup 2>&1 | tee $logfile
223+$IB_BIN "${IB_ARGS[@]}" --password=secretpassword $topdir/backup 2>&1 | tee $logfile
224 set -e
225
226 # Check that the password was not logged in plaintext
227
228=== modified file 'test/t/bug740489.sh'
229--- test/t/bug740489.sh 2013-04-27 18:46:54 +0000
230+++ test/t/bug740489.sh 2013-11-15 18:16:05 +0000
231@@ -24,7 +24,7 @@
232 backup_dir=$topdir/backup
233 run_cmd $IB_BIN \
234 --defaults-extra-file=$defaults_extra_file --socket=${MYSQLD_SOCKET} \
235- --ibbackup=$XB_BIN --no-timestamp $backup_dir
236+ "--ibbackup=$XB_BIN" --no-timestamp $backup_dir
237 vlog "Backup created in directory $backup_dir"
238
239 run_cmd ${MYSQL} ${MYSQL_ARGS} --password=password <<EOF
240
241=== modified file 'test/t/bug996493.sh'
242--- test/t/bug996493.sh 2013-07-03 18:30:28 +0000
243+++ test/t/bug996493.sh 2013-11-15 18:16:05 +0000
244@@ -24,7 +24,7 @@
245 # Do not run innobackupex, because it pass option --defaults-file
246 # which we should avoid. Our goal is to test that backup-my.cnf
247 # will be read by default when apply-log is run.
248-run_cmd $IB_BIN --ibbackup=$XB_BIN --apply-log $backup_dir
249+run_cmd $IB_BIN "--ibbackup=$XB_BIN" --apply-log $backup_dir
250
251 vlog "Get my.cnf back"
252 mv $topdir/my.cnf.bak $topdir/my.cnf
253
254=== modified file 'test/t/ib_doublewrite.sh'
255--- test/t/ib_doublewrite.sh 2013-07-25 15:04:49 +0000
256+++ test/t/ib_doublewrite.sh 2013-11-15 18:16:05 +0000
257@@ -23,13 +23,6 @@
258 start_server
259 load_dbase_schema incremental_sample
260
261-# Workaround for bug #1072695
262-IB_ARGS_NO_DEFAULTS_FILE=`echo $IB_ARGS | sed -e 's/--defaults-file=[^ ]* / /'`
263-function innobackupex_no_defaults_file ()
264-{
265- run_cmd $IB_BIN $IB_ARGS_NO_DEFAULTS_FILE $*
266-}
267-
268 # Adding initial rows
269 vlog "Adding initial rows to database..."
270 ${MYSQL} ${MYSQL_ARGS} -e "insert into test values (1, 1);" incremental_sample
271@@ -75,17 +68,20 @@
272 vlog "##############"
273 vlog "# PREPARE #1 #"
274 vlog "##############"
275+# Workaround for bug #1072695
276 innobackupex_no_defaults_file --apply-log --redo-only $full_backup_dir
277 vlog "Log applied to full backup"
278 vlog "##############"
279 vlog "# PREPARE #2 #"
280 vlog "##############"
281+# Workaround for bug #1072695
282 innobackupex_no_defaults_file --apply-log --redo-only --incremental-dir=$inc_backup_dir \
283 $full_backup_dir
284 vlog "Delta applied to full backup"
285 vlog "##############"
286 vlog "# PREPARE #3 #"
287 vlog "##############"
288+# Workaround for bug #1072695
289 innobackupex_no_defaults_file --apply-log $full_backup_dir
290 vlog "Data prepared for restore"
291
292
293=== modified file 'test/t/ib_empty_dir.sh'
294--- test/t/ib_empty_dir.sh 2012-10-15 16:14:59 +0000
295+++ test/t/ib_empty_dir.sh 2013-11-15 18:16:05 +0000
296@@ -22,7 +22,7 @@
297 vlog "###########"
298 vlog "# RESTORE #"
299 vlog "###########"
300-run_cmd_expect_failure $IB_BIN $IB_ARGS --copy-back $backup_dir
301+run_cmd_expect_failure $IB_BIN "${IB_ARGS[@]}" --copy-back $backup_dir
302
303 if grep -q "is not empty!" $OUTFILE
304 then
305
306=== modified file 'test/t/ib_slave_info.sh'
307--- test/t/ib_slave_info.sh 2013-08-18 18:07:09 +0000
308+++ test/t/ib_slave_info.sh 2013-11-15 18:16:05 +0000
309@@ -18,7 +18,7 @@
310 switch_server $slave_id
311
312 vlog "Check that --slave-info with --no-lock and no --safe-slave-backup fails"
313-run_cmd_expect_failure $IB_BIN $IB_ARGS --no-timestamp --slave-info --no-lock \
314+run_cmd_expect_failure $IB_BIN "${IB_ARGS[@]}" --no-timestamp --slave-info --no-lock \
315 $topdir/backup
316
317 innobackupex --no-timestamp --slave-info $topdir/backup
318
319=== modified file 'test/t/kill_long_selects.sh'
320--- test/t/kill_long_selects.sh 2013-10-21 10:32:46 +0000
321+++ test/t/kill_long_selects.sh 2013-11-15 18:16:05 +0000
322@@ -141,7 +141,7 @@
323
324 sleep 1
325
326-run_cmd_expect_failure ${IB_BIN} ${IB_ARGS} $topdir/full \
327+run_cmd_expect_failure ${IB_BIN} "${IB_ARGS[@]}" $topdir/full \
328 --lock-wait-timeout=3 \
329 --lock-wait-query-type=all \
330 --lock-wait-threshold=1 \
331@@ -160,7 +160,7 @@
332
333 sleep 2
334
335-run_cmd_expect_failure ${IB_BIN} ${IB_ARGS} $topdir/full \
336+run_cmd_expect_failure ${IB_BIN} "${IB_ARGS[@]}" $topdir/full \
337 --lock-wait-timeout=3 \
338 --lock-wait-query-type=update \
339 --lock-wait-threshold=2 \
340
341=== modified file 'test/t/version_check.sh'
342--- test/t/version_check.sh 2013-11-07 12:23:43 +0000
343+++ test/t/version_check.sh 2013-11-15 18:16:05 +0000
344@@ -35,7 +35,13 @@
345 die "/tmp/percona-version-check has been created with --no-version-check!"
346 fi
347
348-IB_ARGS=`echo $IB_ARGS | sed -e 's/--no-version-check//g'`
349+for ((i=0; i < ${#IB_ARGS[@]}; i++))
350+do
351+ if [ "${IB_ARGS[$i]}" = "--no-version-check" ]
352+ then
353+ IB_ARGS=("${IB_ARGS[@]:0:$i}" "${IB_ARGS[@]:(($i + 1))}")
354+ fi
355+done
356
357 innobackupex --no-timestamp $topdir/backup2
358
359
360=== modified file 'utils/build-binary.sh'
361--- utils/build-binary.sh 2013-06-05 08:39:54 +0000
362+++ utils/build-binary.sh 2013-11-15 18:16:05 +0000
363@@ -22,7 +22,8 @@
364 # Check if we have a functional getopt(1)
365 if ! getopt --test
366 then
367- go_out="$(getopt --options="i" --longoptions=i686 \
368+ go_out="$(getopt --options="drvi" \
369+ --longoptions="debug, relwithdebinfo, valgrind, i686" \
370 --name="$(basename "$0")" -- "$@")"
371 test $? -eq 0 || exit 1
372 eval set -- $go_out
373@@ -32,6 +33,18 @@
374 do
375 case "$arg" in
376 -- ) shift; break;;
377+ -d | --debug )
378+ shift
379+ export DEBUG=yes
380+ ;;
381+ -r | --relwithdebinfo )
382+ shift
383+ export RELWITHDEBINFO=yes
384+ ;;
385+ -v | --valgrind )
386+ shift
387+ export VALGRIND=yes
388+ ;;
389 -i | --i686 )
390 shift
391 TARGET="i686"
392
393=== modified file 'utils/build.sh'
394--- utils/build.sh 2013-07-20 14:24:26 +0000
395+++ utils/build.sh 2013-11-15 18:16:05 +0000
396@@ -35,8 +35,20 @@
397 ;;
398 esac
399
400+if [ -n "$VALGRIND" ]
401+then
402+ export CFLAGS="$CFLAGS -g -O0"
403+ export CXXFLAGS="$CXXFLAGS -g -O0"
404+ extra_config_51=
405+ extra_config_55plus="-DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_VALGRIND=ON"
406+elif [ -n "$RELWITHDEBINFO" ]
407+then
408+ export CFLAGS="$CFLAGS -g -O0"
409+ export CXXFLAGS="$CXXFLAGS -g -O0"
410+ extra_config_51=
411+ extra_config_55plus="-DCMAKE_BUILD_TYPE=RelWithDebInfo"
412 # Percona Server 5.5 does not build with -Werror, so ignore DEBUG for now
413-if [ -n "$DEBUG" -a "$type" != "xtradb55" -a "$type" != "xtradb51" ]
414+elif [ -n "$DEBUG" -a "$type" != "xtradb55" -a "$type" != "xtradb51" ]
415 then
416 # InnoDB extra debug flags
417 innodb_extra_debug="-DUNIV_DEBUG -DUNIV_MEM_DEBUG \

Subscribers

People subscribed via source and target branches