From df8c1eb6fe462b401b6f7496cf34184ae2082bf6 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 25 Apr 2008 16:09:25 +0200 Subject: [PATCH 1/6] Add "match end of string" marker so that only "cluster_config.xxx" are found --- mysql-test/lib/My/ConfigFactory.pm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mysql-test/lib/My/ConfigFactory.pm b/mysql-test/lib/My/ConfigFactory.pm index 3558bd0c4db..69bb969d7b8 100644 --- a/mysql-test/lib/My/ConfigFactory.pm +++ b/mysql-test/lib/My/ConfigFactory.pm @@ -416,7 +416,7 @@ sub post_fix_mysql_cluster_section { # Add a [mysl_cluster.] section for each # defined [cluster_config.] section - foreach my $group ( $config->like('cluster_config\.\w*') ) + foreach my $group ( $config->like('cluster_config\.\w*$') ) { my @urls; # Generate ndb_connectstring for this cluster @@ -497,7 +497,7 @@ sub run_generate_sections_from_cluster_config { my @options= ('ndb_mgmd', 'ndbd', 'mysqld', 'ndbapi'); - foreach my $group ( $config->like('cluster_config\.\w*') ) { + foreach my $group ( $config->like('cluster_config\.\w*$') ) { # Keep track of current index per process type my %idxes; @@ -580,7 +580,7 @@ sub new_config { $self->run_section_rules($config, - 'cluster_config\.\w*', + 'cluster_config\.\w*$', @cluster_config_rules); $self->run_generate_sections_from_cluster_config($config); From dda1dbbbd866449e0a141bc9bcfbfb93cdfb50d5 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 25 Apr 2008 20:54:42 +0400 Subject: [PATCH 2/6] WL#3754, circular replication tests BitKeeper/deleted/.del-rpl_ndb_circular_2ch-master.opt: Delete: mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch-master.opt BitKeeper/deleted/.del-rpl_ndb_circular_2ch-slave.opt: Delete: mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch-slave.opt BitKeeper/deleted/.del-rpl_circular_for_4_hosts-master.opt: Delete: mysql-test/suite/rpl/t/rpl_circular_for_4_hosts-master.opt BitKeeper/deleted/.del-rpl_circular_for_4_hosts-slave.opt: Delete: mysql-test/suite/rpl/t/rpl_circular_for_4_hosts-slave.opt mysql-test/include/circular_rpl_for_4_hosts_init.inc: initialization primitive mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result: result file mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test: result file mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf: config file for test mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf: config file for test --- .../include/circular_rpl_for_4_hosts_init.inc | 2 +- .../rpl/r/rpl_circular_for_4_hosts.result | 2 +- .../rpl/t/rpl_circular_for_4_hosts-master.opt | 1 - .../rpl/t/rpl_circular_for_4_hosts-slave.opt | 1 - .../suite/rpl/t/rpl_circular_for_4_hosts.cnf | 27 ++++++++++++++ .../rpl_ndb/t/rpl_ndb_circular_2ch-master.opt | 1 - .../rpl_ndb/t/rpl_ndb_circular_2ch-slave.opt | 1 - .../suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf | 35 +++++++++++++++++++ .../suite/rpl_ndb/t/rpl_ndb_circular_2ch.test | 5 ++- 9 files changed, 66 insertions(+), 9 deletions(-) delete mode 100644 mysql-test/suite/rpl/t/rpl_circular_for_4_hosts-master.opt delete mode 100644 mysql-test/suite/rpl/t/rpl_circular_for_4_hosts-slave.opt create mode 100644 mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf delete mode 100644 mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch-master.opt delete mode 100644 mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch-slave.opt create mode 100644 mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf diff --git a/mysql-test/include/circular_rpl_for_4_hosts_init.inc b/mysql-test/include/circular_rpl_for_4_hosts_init.inc index 8be6ef10b3e..ac6654777db 100644 --- a/mysql-test/include/circular_rpl_for_4_hosts_init.inc +++ b/mysql-test/include/circular_rpl_for_4_hosts_init.inc @@ -18,7 +18,7 @@ --source include/master-slave.inc # -# Set up circular ring by schema A->B->C-D->A +# Set up circular ring by schema A->B->C->D->A # --connection slave diff --git a/mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result b/mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result index 5b775a066c4..4f0f20d88d9 100644 --- a/mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result +++ b/mysql-test/suite/rpl/r/rpl_circular_for_4_hosts.result @@ -1,4 +1,4 @@ -*** Set up circular ring by schema A->B->C-D->A *** +*** Set up circular ring by schema A->B->C->D->A *** stop slave; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; reset master; diff --git a/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts-master.opt b/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts-master.opt deleted file mode 100644 index d540d4a6880..00000000000 --- a/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts-master.opt +++ /dev/null @@ -1 +0,0 @@ ---slave-num=3 --log-slave-updates --innodb diff --git a/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts-slave.opt b/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts-slave.opt deleted file mode 100644 index f5df45c8ecd..00000000000 --- a/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts-slave.opt +++ /dev/null @@ -1 +0,0 @@ ---log-slave-updates --innodb diff --git a/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf b/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf new file mode 100644 index 00000000000..141aaa7788d --- /dev/null +++ b/mysql-test/suite/rpl/t/rpl_circular_for_4_hosts.cnf @@ -0,0 +1,27 @@ +!include ../my.cnf + +[mysqld.1] +log-slave-updates +innodb + +[mysqld.2] +log-slave-updates +innodb + +[mysqld.3] +log-slave-updates +innodb + +[mysqld.4] +log-slave-updates +innodb + +[ENV] +SLAVE_MYPORT1= @mysqld.3.port +SLAVE_MYSOCK1= @mysqld.3.socket + +SLAVE_MYPORT2= @mysqld.4.port +SLAVE_MYSOCK2= @mysqld.4.socket + + + diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch-master.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch-master.opt deleted file mode 100644 index 3462bbc05d7..00000000000 --- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch-master.opt +++ /dev/null @@ -1 +0,0 @@ ---slave-num=2 --server-id=1 --log-bin -log-slave-updates diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch-slave.opt b/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch-slave.opt deleted file mode 100644 index 6507907b1ed..00000000000 --- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch-slave.opt +++ /dev/null @@ -1 +0,0 @@ ---server-id=2 --log-bin --log-slave-updates --skip-slave-start diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf b/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf new file mode 100644 index 00000000000..27da0af1847 --- /dev/null +++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.cnf @@ -0,0 +1,35 @@ +!include ../my.cnf + +[mysqld.1.1] +server-id= 1 +log-bin +log-slave-updates + +[mysqld.2.1] +server-id= 1 +log-bin +log-slave-updates + +[mysqld.1.slave] +server-id= 2 +log-bin +log-slave-updates +skip-slave-start + +[mysqld.2.slave] +server-id= 2 +master-host= 127.0.0.1 +master-port= @mysqld.2.1.port +master-password= @mysqld.2.1.#password +master-user= @mysqld.2.1.#user +master-connect-retry= 1 +init-rpl-role= slave +log-bin +log-slave-updates +skip-slave-start +ndb_connectstring= @mysql_cluster.slave.ndb_connectstring + +[ENV] + +SLAVE_MYPORT1= @mysqld.2.slave.port +SLAVE_MYSOCK1= @mysqld.2.slave.socket diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test index beaa2739b23..fad94539b1c 100644 --- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test +++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test @@ -170,10 +170,9 @@ SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 3 GROUP BY b ORDER BY b; # Clean up --connection master -DELETE FROM t1; +DROP TABLE t1; --connection slave -let $wait_condition= SELECT COUNT(*)=0 FROM t1; ---source include/wait_condition.inc +DROP TABLE t1; --echo # End of test 5.1 From 34854fc2a55b2b1a4bfaaeeb9fa2d826c78544b0 Mon Sep 17 00:00:00 2001 From: unknown Date: Fri, 25 Apr 2008 22:54:20 +0400 Subject: [PATCH 3/6] WL#3754 Fix for mtr, added support personal configuration for test cases mysql-test/lib/mtr_cases.pm: updated library mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result: result file for test case --- mysql-test/lib/mtr_cases.pm | 10 ++++++++++ mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/mysql-test/lib/mtr_cases.pm b/mysql-test/lib/mtr_cases.pm index f46c0165e27..3ac286811a2 100644 --- a/mysql-test/lib/mtr_cases.pm +++ b/mysql-test/lib/mtr_cases.pm @@ -748,6 +748,16 @@ sub collect_one_test_case { # Add slave opts, list of extra option only for slave # ---------------------------------------------------------------------- process_opts_file($tinfo, "$testdir/$tname-slave.opt", 'slave_opt'); + + + #----------------------------------------------------------------------- + # Check for test specific config file + #----------------------------------------------------------------------- + my $test_cnf_file= "$testdir/$tname.cnf"; + if ( -f $test_cnf_file) { + # Specifies the configuration file to use for this test + $tinfo->{'template_path'}= $test_cnf_file; + } # ---------------------------------------------------------------------- # master sh diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result index 5ad36e6f251..53130343aa0 100644 --- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result +++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result @@ -97,5 +97,6 @@ COUNT(*) SUM(a) b 100 64100 master1 100 64000 slave -DELETE FROM t1; +DROP TABLE t1; +DROP TABLE t1; From 88888395cf92341dcd81b6a518dd5d4c97be6694 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 26 Apr 2008 02:17:34 +0400 Subject: [PATCH 4/6] WL#3754, rpl_ndb_circular_2ch test disabled mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result: updated result mysql-test/suite/rpl_ndb/t/disabled.def: updated disabled list mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test: updated test --- mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result | 2 +- mysql-test/suite/rpl_ndb/t/disabled.def | 2 +- mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result b/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result index 53130343aa0..bb662542a56 100644 --- a/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result +++ b/mysql-test/suite/rpl_ndb/r/rpl_ndb_circular_2ch.result @@ -98,5 +98,5 @@ COUNT(*) SUM(a) b 100 64000 slave DROP TABLE t1; -DROP TABLE t1; +DROP TABLE IF EXISTS t1; diff --git a/mysql-test/suite/rpl_ndb/t/disabled.def b/mysql-test/suite/rpl_ndb/t/disabled.def index ebc99feeac6..8177095f5a8 100644 --- a/mysql-test/suite/rpl_ndb/t/disabled.def +++ b/mysql-test/suite/rpl_ndb/t/disabled.def @@ -12,5 +12,5 @@ rpl_ndb_circular : Bug#33849 COMMIT event missing in cluster circular replication. rpl_ndb_circular_simplex : Bug#33849 COMMIT event missing in cluster circular replication. - +rpl_ndb_circular_2ch : Bug#33849 COMMIT event missing in cluster circular replication. # the below testcase have been reworked to avoid the bug, test contains comment, keep bug open diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test index fad94539b1c..abd2144b80c 100644 --- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test +++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_circular_2ch.test @@ -172,7 +172,9 @@ SELECT COUNT(*), SUM(a), b FROM t1 WHERE c = 3 GROUP BY b ORDER BY b; --connection master DROP TABLE t1; --connection slave -DROP TABLE t1; +--disable_warings +DROP TABLE IF EXISTS t1; +--enable_warnings --echo # End of test 5.1 From af06e44745ea00b1b9ff15bf41d75ddfc7b21573 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 26 Apr 2008 10:09:42 +0200 Subject: [PATCH 5/6] Remove temporary disablings --- mysql-test/suite/rpl/t/disabled.def | 1 - mysql-test/suite/rpl_ndb/t/disabled.def | 1 - 2 files changed, 2 deletions(-) diff --git a/mysql-test/suite/rpl/t/disabled.def b/mysql-test/suite/rpl/t/disabled.def index 538719aaf65..599a2b197ae 100644 --- a/mysql-test/suite/rpl/t/disabled.def +++ b/mysql-test/suite/rpl/t/disabled.def @@ -15,5 +15,4 @@ rpl_innodb_bug28430 : Bug #32247 2007-11-27 mats Test reports wrong value o rpl_view : Bug#32654: rpl_view.test fails randomly rpl_ndb_multi : Bug#30751: rpl_ndb_multi missing row in output rpl_log_pos : Bug#8693 Test 'rpl_log_pos' fails sometimes -rpl_circular_for_4_hosts : Needs updated config diff --git a/mysql-test/suite/rpl_ndb/t/disabled.def b/mysql-test/suite/rpl_ndb/t/disabled.def index 4bcc9f95d05..8177095f5a8 100644 --- a/mysql-test/suite/rpl_ndb/t/disabled.def +++ b/mysql-test/suite/rpl_ndb/t/disabled.def @@ -14,4 +14,3 @@ rpl_ndb_circular : Bug#33849 COMMIT event missing in cluster circular re rpl_ndb_circular_simplex : Bug#33849 COMMIT event missing in cluster circular replication. rpl_ndb_circular_2ch : Bug#33849 COMMIT event missing in cluster circular replication. # the below testcase have been reworked to avoid the bug, test contains comment, keep bug open -rpl_ndb_circular_2ch : Needs updated config From 99ee0572c01ec74fa65450aa3bf98623320e27ee Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 27 Apr 2008 15:32:12 +0200 Subject: [PATCH 6/6] Save datadir in case of test failure, but limit the number of times datadir can be saved in case of constantly failing servers Remove datadirs each time all servers have been stopped thus limiting the size of vardir. The datadirs of failed tests have been saved and that should be enough to diagnose any failures --- mysql-test/mysql-test-run.pl | 176 +++++++++++++++++++++++------------ 1 file changed, 119 insertions(+), 57 deletions(-) diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index f4f45c5a61a..28e9501dec7 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -193,9 +193,12 @@ our %mysqld_variables; my $source_dist= 0; -our $opt_max_save_core= 5; +my $opt_max_save_core= $ENV{MTR_MAX_SAVE_CORE} || 5; my $num_saved_cores= 0; # Number of core files saved in vardir/log/ so far. +my $opt_max_save_datadir= $ENV{MTR_MAX_SAVE_DATADIR} || 20; +my $num_saved_datadir= 0; # Number of datadirs saved in vardir/log/ so far. + select(STDOUT); $| = 1; # Automatically flush STDOUT @@ -351,6 +354,7 @@ sub command_line_setup { 'client-debugger=s' => \$opt_client_debugger, 'strace-client:s' => \$opt_strace_client, 'max-save-core=i' => \$opt_max_save_core, + 'max-save-datadir=i' => \$opt_max_save_datadir, # Coverage, profiling etc 'gcov' => \$opt_gcov, @@ -2325,6 +2329,10 @@ sub run_testcase ($) { if ( started(all_servers()) == 0 ) { + + # Remove old datadirs + clean_datadir(); + # Restore old ENV while (my ($option, $value)= each( %old_env )) { if (defined $value){ @@ -2448,15 +2456,12 @@ sub run_testcase ($) { mtr_report_test_passed($tinfo, $opt_timer); } - if ( $opt_check_testcases ) + if ( $opt_check_testcases and check_testcase($tinfo, "after")) { - if (check_testcase($tinfo, "after")) - { - # Stop all servers that are known to be running - stop_all_servers(); - after_test_failure($tinfo->{'name'}); - mtr_report("Resuming tests...\n"); - } + # Stop all servers that are known to be running + stop_all_servers(); + clean_datadir(); + mtr_report("Resuming tests...\n"); } } elsif ( $res == 62 ) @@ -2523,7 +2528,7 @@ sub run_testcase ($) { { # Server failed, probably crashed $tinfo->{comment}= - "Server failed during test run"; + "Server $proc failed during test run"; report_failure_and_restart($tinfo); return 1; @@ -2667,57 +2672,24 @@ sub check_expected_crash_and_restart { } -# -# Save any interesting files in the data_dir -# before the data dir is removed. -# -sub save_files_after_test_failure($$) { - my $test_name= shift; - my $data_dir= shift; - my $save_name= "$opt_vardir/log/$test_name"; +sub clean_datadir { - # Look for core files - foreach my $core_file ( glob("$data_dir/core*") ) + mtr_verbose("Cleaning datadirs..."); + + foreach my $cluster ( clusters() ) { - last if $opt_max_save_core > 0 && $num_saved_cores >= $opt_max_save_core; - my $core_name= basename($core_file); - mtr_report(" - saving '$core_name'"); - mkpath($save_name) if ! -d $save_name; - rename("$core_file", "$save_name/$core_name"); - ++$num_saved_cores; + my $cluster_dir= "$opt_vardir/".$cluster->{name}; + mtr_verbose(" - removing '$cluster_dir'"); + rmtree($cluster_dir); + } -} - - -sub after_test_failure ($) { - my $test_name= shift; - - mtr_report("Cleaning datadirs..."); foreach my $mysqld ( mysqlds() ) { - my $data_dir= $mysqld->value('datadir'); - my $name= basename($data_dir); - save_files_after_test_failure($test_name, $data_dir); - mtr_debug("Removing '$data_dir'"); - rmtree($data_dir); - } - - # Remove the ndb_*_fs dirs for all ndbd nodes - # forcing a clean start of ndb next time - foreach my $cluster ( clusters() ) - { - foreach my $ndbd ( ndbds($cluster) ) - { - my $data_dir= $ndbd->value('DataDir'); - foreach my $fs_dir ( glob("$data_dir/ndb_*_fs") ) { - rmtree($fs_dir); - mtr_debug("Removing '$fs_dir'"); - } - - my $backup_dir= $ndbd->value('BackupDataDir'); - rmtree("$backup_dir/BACKUP"); - mtr_debug("Removing '$backup_dir'"); + my $mysqld_dir= dirname($mysqld->value('datadir')); + if (-d $mysqld_dir ) { + mtr_verbose(" - removing '$mysqld_dir'"); + rmtree($mysqld_dir); } } @@ -2731,6 +2703,91 @@ sub after_test_failure ($) { } +# +# Limit number of core files saved +# +sub limit_cores_after_failure ($) { + my ($datadir)= @_; + + # Look for core files + foreach my $core_file ( glob("$datadir/core*") ) + { + my $core_name= basename($core_file); + if ($opt_max_save_core > 0 && $num_saved_cores >= $opt_max_save_core) { + # Delete file to avoid saving it when the datadir is later saved + mtr_report(" - deleting '$core_name'", + "($num_saved_cores/$opt_max_save_core)"); + unlink("$core_file"); + } + else { + mtr_report(" - found '$core_name'", + "($num_saved_cores/$opt_max_save_core)"); + } + ++$num_saved_cores; + } +} + +# +# Save datadir before it's removed +# +sub save_datadir_after_failure($$) { + my ($dir, $savedir)= @_; + + if ($opt_max_save_datadir > 0 && + $num_saved_datadir >= $opt_max_save_datadir) + { + mtr_report(" - skipping '$dir'"); + } + else { + mtr_report(" - saving '$dir'"); + my $dir_name= basename($dir); + rename("$dir", "$savedir/$dir_name"); + } +} + + +sub after_failure ($) { + my ($tinfo)= @_; + + mtr_report("Saving datadirs..."); + + my $save_dir= "$opt_vardir/log/"; + $save_dir.= $tinfo->{name}; + # Add combination name if any + $save_dir.= "_$tinfo->{combination}" + if defined $tinfo->{combination}; + + mkpath($save_dir) if ! -d $save_dir; + + # Save the used my.cnf file + copy($path_config_file, $save_dir); + + if ( clusters() ) { + foreach my $cluster ( clusters() ) { + + foreach my $server ( ndbds($cluster), ndb_mgmds($cluster) ) { + my $data_dir= $server->value('DataDir'); + limit_cores_after_failure($data_dir); + } + + my $cluster_dir= "$opt_vardir/".$cluster->{name}; + save_datadir_after_failure($cluster_dir, $save_dir); + } + } + else { + foreach my $mysqld ( mysqlds() ) { + my $data_dir= $mysqld->value('datadir'); + limit_cores_after_failure($data_dir); + save_datadir_after_failure(dirname($data_dir), $save_dir); + } + } + + $num_saved_datadir++; + + clean_datadir(); +} + + sub report_failure_and_restart ($) { my $tinfo= shift; @@ -2741,7 +2798,7 @@ sub report_failure_and_restart ($) { # Stop all servers that are known to be running stop_all_servers(); - after_test_failure($tinfo->{'name'}); + after_failure($tinfo); mtr_report("Resuming tests...\n"); return; } @@ -3849,7 +3906,12 @@ Options for debugging the product Example: $0 --strace-client=ktrace max-save-core Limit the number of core files saved (to avoid filling up disks for heavily crashing server). Defaults to - $opt_max_save_core, set to 0 for no limit. + $opt_max_save_core, set to 0 for no limit. Set + it's default with MTR_MAX_SAVE_CORE + max-save-datadir Limit the number of datadir saved (to avoid filling + up disks for heavily crashing server). Defaults to + $opt_max_save_datadir, set to 0 for no limit. Set + it's default with MTR_MAX_SAVE_DATDIR Options for valgrind