1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-07 00:04:31 +03:00

Set default valgrind options to "-v --show-reachable=yes" and make it possible to override that with --valgrind-options

This commit is contained in:
msvensson@neptunus.(none)
2006-06-16 15:56:08 +02:00
parent 4fcf32909a
commit 0a15f9d0bf

View File

@@ -286,7 +286,7 @@ our $opt_user_test;
our $opt_valgrind= 0; our $opt_valgrind= 0;
our $opt_valgrind_mysqld= 0; our $opt_valgrind_mysqld= 0;
our $opt_valgrind_mysqltest= 0; our $opt_valgrind_mysqltest= 0;
our $opt_valgrind_all= 0; our $default_valgrind_options= "-v --show-reachable=yes";
our $opt_valgrind_options; our $opt_valgrind_options;
our $opt_valgrind_path; our $opt_valgrind_path;
@@ -597,10 +597,9 @@ sub command_line_setup () {
# Coverage, profiling etc # Coverage, profiling etc
'gcov' => \$opt_gcov, 'gcov' => \$opt_gcov,
'gprof' => \$opt_gprof, 'gprof' => \$opt_gprof,
'valgrind' => \$opt_valgrind, 'valgrind|valgrind-all' => \$opt_valgrind,
'valgrind-mysqltest' => \$opt_valgrind_mysqltest, 'valgrind-mysqltest' => \$opt_valgrind_mysqltest,
'valgrind-mysqld' => \$opt_valgrind_mysqld, 'valgrind-mysqld' => \$opt_valgrind_mysqld,
'valgrind-all' => \$opt_valgrind_all,
'valgrind-options=s' => \$opt_valgrind_options, 'valgrind-options=s' => \$opt_valgrind_options,
'valgrind-path=s' => \$opt_valgrind_path, 'valgrind-path=s' => \$opt_valgrind_path,
@@ -807,20 +806,32 @@ sub command_line_setup () {
$opt_with_ndbcluster= 0; $opt_with_ndbcluster= 0;
} }
# Turn on valgrinding of all executables if "valgrind" or "valgrind-all" # Check valgrind arguments
if ( $opt_valgrind or $opt_valgrind_all ) if ( $opt_valgrind or $opt_valgrind_path or defined $opt_valgrind_options)
{ {
mtr_report("Turning on valgrind for all executables"); mtr_report("Turning on valgrind for all executables");
$opt_valgrind= 1; $opt_valgrind= 1;
$opt_valgrind_mysqld= 1; $opt_valgrind_mysqld= 1;
$opt_valgrind_mysqltest= 1; $opt_valgrind_mysqltest= 1;
} }
elsif ( $opt_valgrind_mysqld or $opt_valgrind_mysqltest ) elsif ( $opt_valgrind_mysqld )
{ {
# If test's are run for a specific executable, turn on mtr_report("Turning on valgrind for mysqld(s) only");
# verbose and show-reachable
$opt_valgrind= 1; $opt_valgrind= 1;
$opt_valgrind_all= 1; }
elsif ( $opt_valgrind_mysqltest )
{
mtr_report("Turning on valgrind for mysqltest only");
$opt_valgrind= 1;
}
if ( $opt_valgrind )
{
# Set valgrind_options to default unless already defined
$opt_valgrind_options=$default_valgrind_options
unless defined $opt_valgrind_options;
mtr_report("Running valgrind with options \"$opt_valgrind_options\"");
} }
if ( ! $opt_testcase_timeout ) if ( ! $opt_testcase_timeout )
@@ -3409,17 +3420,8 @@ sub valgrind_arguments {
mtr_add_arg($args, "--suppressions=%s/valgrind.supp", $glob_mysql_test_dir) mtr_add_arg($args, "--suppressions=%s/valgrind.supp", $glob_mysql_test_dir)
if -f "$glob_mysql_test_dir/valgrind.supp"; if -f "$glob_mysql_test_dir/valgrind.supp";
if ( $opt_valgrind_all ) # Add valgrind options, can be overriden by user
{ mtr_add_arg($args, '%s', $_) for (split(' ', $opt_valgrind_options));
mtr_add_arg($args, "-v");
mtr_add_arg($args, "--show-reachable=yes");
}
if ( $opt_valgrind_options )
{
mtr_add_arg($args, '%s', $_) for (split(' ', $opt_valgrind_options));
}
mtr_add_arg($args, $$exe); mtr_add_arg($args, $$exe);
@@ -3519,12 +3521,12 @@ Options for coverage, profiling etc
gcov FIXME gcov FIXME
gprof FIXME gprof FIXME
valgrind Run the "mysqltest" and "mysqld" executables using valgrind valgrind Run the "mysqltest" and "mysqld" executables using
valgrind-all Same as "valgrind" but will also add "verbose" and "--show-reachable" valgrind with options($default_valgrind_options)
flags to valgrind valgrind-all Synonym for --valgrind
valgrind-mysqltest Run the "mysqltest" executable with valgrind valgrind-mysqltest Run the "mysqltest" executable with valgrind
valgrind-mysqld Run the "mysqld" executable with valgrind valgrind-mysqld Run the "mysqld" executable with valgrind
valgrind-options=ARGS Extra options to give valgrind valgrind-options=ARGS Options to give valgrind, replaces default options
valgrind-path=[EXE] Path to the valgrind executable valgrind-path=[EXE] Path to the valgrind executable
Misc options Misc options