summaryrefslogtreecommitdiff
path: root/mysql-test/mysql-test-run.pl
diff options
context:
space:
mode:
authorunknown <tsmith@ramayana.hindu.god>2007-12-05 12:33:36 -0700
committerunknown <tsmith@ramayana.hindu.god>2007-12-05 12:33:36 -0700
commit068b6e4222544274fd6489bad7ce272d863cf777 (patch)
tree014b7a0c6686c33c9845e9527ebb9f0052457950 /mysql-test/mysql-test-run.pl
parentdf722475e7e8bcfb8c86939eba63cbc640518c5a (diff)
parenta6e3e723ed488e9f0d2cc9bd7dafbbd4c6a2fa20 (diff)
downloadmariadb-git-068b6e4222544274fd6489bad7ce272d863cf777.tar.gz
Merge ramayana.hindu.god:/home/tsmith/m/bk/51
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51-merge client/mysqldump.c: Auto merged include/my_base.h: Auto merged include/my_sys.h: Auto merged libmysql/CMakeLists.txt: Auto merged libmysql/Makefile.shared: Auto merged mysql-test/lib/mtr_cases.pl: Auto merged mysql-test/mysql-test-run.pl: Auto merged mysql-test/r/create.result: Auto merged mysql-test/r/grant.result: Auto merged mysql-test/r/innodb.result: Auto merged mysql-test/r/ps.result: Auto merged mysql-test/suite/rpl/t/rpl_ssl.test: Auto merged mysql-test/t/cast.test: Auto merged mysql-test/t/create.test: Auto merged mysql-test/t/ps.test: Auto merged mysql-test/t/variables.test: Auto merged sql/field.cc: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_cmpfunc.h: Auto merged sql/item_timefunc.cc: Auto merged sql/opt_range.cc: Auto merged sql/records.cc: Auto merged sql/set_var.cc: Auto merged sql/set_var.h: Auto merged sql/sql_acl.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_table.cc: Auto merged sql/unireg.cc: Auto merged storage/myisam/ft_boolean_search.c: Auto merged storage/myisam/ha_myisam.cc: Auto merged storage/myisam/sort.c: Auto merged mysql-test/t/log_state.test: Manual merge fix-up mysql-test/include/mix1.inc: Manual merge mysql-test/r/ctype_ucs.result: Manual merge mysql-test/r/func_misc.result: Manual merge mysql-test/r/innodb_mysql.result: Manual merge mysql-test/r/key.result: Manual merge mysql-test/r/log_state.result: Manual merge mysql-test/suite/binlog/t/binlog_killed.test: Manual merge mysql-test/t/ctype_ucs.test: Manual merge mysql-test/t/func_misc.test: Manual merge mysql-test/t/key.test: Manual merge sql/item_strfunc.h: Manual merge strings/ctype-simple.c: Manual merge
Diffstat (limited to 'mysql-test/mysql-test-run.pl')
-rwxr-xr-xmysql-test/mysql-test-run.pl49
1 files changed, 32 insertions, 17 deletions
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
index 150247a427a..7cd65b96c08 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
@@ -257,13 +257,13 @@ our $opt_timer= 1;
our $opt_user;
-our $opt_valgrind= 0;
-our $opt_valgrind_mysqld= 0;
-our $opt_valgrind_mysqltest= 0;
-our $default_valgrind_options= "--show-reachable=yes";
-our $opt_valgrind_options;
-our $opt_valgrind_path;
-our $opt_callgrind;
+my $opt_valgrind= 0;
+my $opt_valgrind_mysqld= 0;
+my $opt_valgrind_mysqltest= 0;
+my @default_valgrind_args= ("--show-reachable=yes");
+my @valgrind_args;
+my $opt_valgrind_path;
+my $opt_callgrind;
our $opt_stress= "";
our $opt_stress_suite= "main";
@@ -577,7 +577,18 @@ sub command_line_setup () {
'valgrind|valgrind-all' => \$opt_valgrind,
'valgrind-mysqltest' => \$opt_valgrind_mysqltest,
'valgrind-mysqld' => \$opt_valgrind_mysqld,
- 'valgrind-options=s' => \$opt_valgrind_options,
+ 'valgrind-options=s' => sub {
+ my ($opt, $value)= @_;
+ # Deprecated option unless it's what we know pushbuild uses
+ if ($value eq "--gen-suppressions=all --show-reachable=yes") {
+ push(@valgrind_args, $_) for (split(' ', $value));
+ return;
+ }
+ die("--valgrind-options=s is deprecated. Use ",
+ "--valgrind-option=s, to be specified several",
+ " times if necessary");
+ },
+ 'valgrind-option=s' => \@valgrind_args,
'valgrind-path=s' => \$opt_valgrind_path,
'callgrind' => \$opt_callgrind,
@@ -980,7 +991,7 @@ sub command_line_setup () {
# --------------------------------------------------------------------------
# Check valgrind arguments
# --------------------------------------------------------------------------
- if ( $opt_valgrind or $opt_valgrind_path or defined $opt_valgrind_options)
+ if ( $opt_valgrind or $opt_valgrind_path or @valgrind_args)
{
mtr_report("Turning on valgrind for all executables");
$opt_valgrind= 1;
@@ -1005,17 +1016,18 @@ sub command_line_setup () {
$opt_valgrind_mysqld= 1;
# Set special valgrind options unless options passed on command line
- $opt_valgrind_options="--trace-children=yes"
- unless defined $opt_valgrind_options;
+ push(@valgrind_args, "--trace-children=yes")
+ unless @valgrind_args;
}
if ( $opt_valgrind )
{
# Set valgrind_options to default unless already defined
- $opt_valgrind_options=$default_valgrind_options
- unless defined $opt_valgrind_options;
+ push(@valgrind_args, @default_valgrind_args)
+ unless @valgrind_args;
- mtr_report("Running valgrind with options \"$opt_valgrind_options\"");
+ mtr_report("Running valgrind with options \"",
+ join(" ", @valgrind_args), "\"");
}
if ( ! $opt_testcase_timeout )
@@ -3770,6 +3782,7 @@ sub mysqld_arguments ($$$$) {
# see BUG#28359
mtr_add_arg($args, "%s--connect-timeout=60", $prefix);
+
# When mysqld is run by a root user(euid is 0), it will fail
# to start unless we specify what user to run as. If not running
# as root it will be ignored, see BUG#30630
@@ -5075,7 +5088,7 @@ sub valgrind_arguments {
}
# Add valgrind options, can be overriden by user
- mtr_add_arg($args, '%s', $opt_valgrind_options);
+ mtr_add_arg($args, '%s', $_) for (@valgrind_args);
mtr_add_arg($args, $$exe);
@@ -5219,12 +5232,14 @@ Options for coverage, profiling etc
gcov FIXME
gprof FIXME
valgrind Run the "mysqltest" and "mysqld" executables using
- valgrind with options($default_valgrind_options)
+ valgrind with default options
valgrind-all Synonym for --valgrind
valgrind-mysqltest Run the "mysqltest" and "mysql_client_test" executable
with valgrind
valgrind-mysqld Run the "mysqld" executable with valgrind
- valgrind-options=ARGS Options to give valgrind, replaces default options
+ valgrind-options=ARGS Deprecated, use --valgrind-option
+ valgrind-option=ARGS Option to give valgrind, replaces default option(s),
+ can be specified more then once
valgrind-path=[EXE] Path to the valgrind executable
callgrind Instruct valgrind to use callgrind