Commit 4ef7be4c authored by unknown's avatar unknown
Browse files

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

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


mysql-test/mysql-test-run.pl:
  Make --valgrind-all a synonym for --valgrind.
  Set "-v --show-reachable=yes" as our default valgrind options. 
  Make --valgrind-options override the default options
  Update usage.
  Turn on valgrinding also when user specified --valgrind-path or --valgrind-options without --valgrind
parent 2a07ee72
Loading
Loading
Loading
Loading
+26 −24
Original line number Diff line number Diff line
@@ -286,7 +286,7 @@ our $opt_user_test;
our $opt_valgrind= 0;
our $opt_valgrind_mysqld= 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_path;

@@ -597,10 +597,9 @@ sub command_line_setup () {
             # Coverage, profiling etc
             'gcov'                     => \$opt_gcov,
             'gprof'                    => \$opt_gprof,
             'valgrind'                 => \$opt_valgrind,
             'valgrind|valgrind-all'    => \$opt_valgrind,
             'valgrind-mysqltest'       => \$opt_valgrind_mysqltest,
             'valgrind-mysqld'          => \$opt_valgrind_mysqld,
             'valgrind-all'             => \$opt_valgrind_all,
             'valgrind-options=s'       => \$opt_valgrind_options,
             'valgrind-path=s'          => \$opt_valgrind_path,

@@ -807,20 +806,32 @@ sub command_line_setup () {
    $opt_with_ndbcluster= 0;
  }

  # Turn on valgrinding of all executables if "valgrind" or "valgrind-all"
  if ( $opt_valgrind or $opt_valgrind_all )
  # Check valgrind arguments
  if ( $opt_valgrind or $opt_valgrind_path or defined $opt_valgrind_options)
  {
    mtr_report("Turning on valgrind for all executables");
    $opt_valgrind= 1;
    $opt_valgrind_mysqld= 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
    # verbose and show-reachable
    mtr_report("Turning on valgrind for mysqld(s) only");
    $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 )
@@ -3409,17 +3420,8 @@ sub valgrind_arguments {
  mtr_add_arg($args, "--suppressions=%s/valgrind.supp", $glob_mysql_test_dir)
    if -f "$glob_mysql_test_dir/valgrind.supp";

  if ( $opt_valgrind_all )
  {
    mtr_add_arg($args, "-v");
    mtr_add_arg($args, "--show-reachable=yes");
  }

  if ( $opt_valgrind_options )
  {
  # Add valgrind options, can be overriden by user
  mtr_add_arg($args, '%s', $_) for (split(' ', $opt_valgrind_options));
  }


  mtr_add_arg($args, $$exe);

@@ -3519,12 +3521,12 @@ Options for coverage, profiling etc

  gcov                  FIXME
  gprof                 FIXME
  valgrind              Run the "mysqltest" and "mysqld" executables using valgrind
  valgrind-all          Same as "valgrind" but will also add "verbose" and "--show-reachable"
                        flags to valgrind
  valgrind              Run the "mysqltest" and "mysqld" executables using
                        valgrind with options($default_valgrind_options)
  valgrind-all          Synonym for --valgrind
  valgrind-mysqltest    Run the "mysqltest" 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

Misc options