Loading mysql-test/lib/mtr_misc.pl +2 −2 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ use strict; sub mtr_full_hostname (); sub mtr_short_hostname (); sub mtr_init_args ($); sub mtr_add_arg ($$); sub mtr_add_arg ($$@); sub mtr_path_exists(@); sub mtr_script_exists(@); sub mtr_exe_exists(@); Loading Loading @@ -51,7 +51,7 @@ sub mtr_init_args ($) { $$args = []; # Empty list } sub mtr_add_arg ($$) { sub mtr_add_arg ($$@) { my $args= shift; my $format= shift; my @fargs = @_; Loading mysql-test/lib/mtr_stress.pl 0 → 100644 +172 −0 Original line number Diff line number Diff line # -*- cperl -*- # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the # same name. use strict; use File::Spec; # These are not to be prefixed with "mtr_" sub run_stress_test (); ############################################################################## # # Run tests in the stress mode # ############################################################################## sub run_stress_test () { my $args; my $stress_basedir; my $stress_suitedir; mtr_report("Starting stress testing\n"); if ( ! $::glob_use_embedded_server and ! $::opt_local_master ) { $::master->[0]->{'pid'}= mysqld_start('master',0,[],[]); if ( ! $::master->[0]->{'pid'} ) { mtr_error("Can't start the mysqld server"); } } my $stress_basedir=File::Spec->catdir($::opt_vardir, "stress"); #Clean up stress dir if ( -d $stress_basedir ) { rmtree($stress_basedir); } mkpath($stress_basedir); if ($::opt_stress_suite ne 'main' && $::opt_stress_suite ne 'default' ) { $stress_suitedir=File::Spec->catdir($::glob_mysql_test_dir, "suite", $::opt_stress_suite); } else { $stress_suitedir=$::glob_mysql_test_dir; } if ( -d $stress_suitedir ) { #$stress_suite_t_dir=File::Spec->catdir($stress_suitedir, "t"); #$stress_suite_r_dir=File::Spec->catdir($stress_suitedir, "r"); #FIXME: check dirs above for existence to ensure that test suite # contains tests and results dirs } else { mtr_error("Specified test suite $::opt_stress_suite doesn't exist"); } if ( @::opt_cases ) { $::opt_stress_test_file=File::Spec->catfile($stress_basedir, "stress_tests.txt"); open(STRESS_FILE, ">$::opt_stress_test_file"); print STRESS_FILE join("\n",@::opt_cases),"\n"; close(STRESS_FILE); } elsif ( $::opt_stress_test_file ) { $::opt_stress_test_file=File::Spec->catfile($stress_suitedir, $::opt_stress_test_file); if ( ! -f $::opt_stress_test_file ) { mtr_error("Specified file $::opt_stress_test_file with list of tests does not exist\n", "Please ensure that file exists and has proper permissions"); } } else { $::opt_stress_test_file=File::Spec->catfile($stress_suitedir, "stress_tests.txt"); if ( ! -f $::opt_stress_test_file ) { mtr_error("Default file $::opt_stress_test_file with list of tests does not exist\n", "Please use --stress-test-file option to specify custom one or you can\n", "just specify name of test for testing as last argument in command line"); } } if ( $::opt_stress_init_file ) { $::opt_stress_init_file=File::Spec->catfile($stress_suitedir, $::opt_stress_init_file); if ( ! -f $::opt_stress_init_file ) { mtr_error("Specified file $::opt_stress_init_file with list of tests does not exist\n", "Please ensure that file exists and has proper permissions"); } } else { $::opt_stress_init_file=File::Spec->catfile($stress_suitedir, "stress_init.txt"); if ( ! -f $::opt_stress_init_file ) { $::opt_stress_init_file=''; } } if ( $::opt_stress_mode ne 'random' && $::opt_stress_mode ne 'seq' ) { mtr_error("You specified wrong mode $::opt_stress_mode for stress test\n", "Correct values are 'random' or 'seq'"); } mtr_init_args(\$args); mtr_add_arg($args, "--server-socket=%s", $::master->[0]->{'path_mysock'}); mtr_add_arg($args, "--server-user=%s", $::opt_user); mtr_add_arg($args, "--server-database=%s", "test"); mtr_add_arg($args, "--stress-suite-basedir=%s", $::glob_mysql_test_dir); mtr_add_arg($args, "--suite=%s", $::opt_stress_suite); mtr_add_arg($args, "--stress-tests-file=%s", $::opt_stress_test_file); mtr_add_arg($args, "--stress-basedir=%s", $stress_basedir); mtr_add_arg($args, "--server-logs-dir=%s", $stress_basedir); mtr_add_arg($args, "--stress-mode=%s", $::opt_stress_mode); mtr_add_arg($args, "--mysqltest=%s", $::exe_mysqltest); mtr_add_arg($args, "--threads=%s", $::opt_stress_threads); mtr_add_arg($args, "--verbose"); mtr_add_arg($args, "--cleanup"); mtr_add_arg($args, "--log-error-details"); mtr_add_arg($args, "--abort-on-error"); if ( $::opt_stress_init_file ) { mtr_add_arg($args, "--stress-init-file=%", $::opt_stress_init_file); } if ( $::opt_stress_loop_count ) { mtr_add_arg($args, "--loop-count=%s", $::opt_stress_loop_count); } if ( $::opt_stress_test_count ) { mtr_add_arg($args, "--test-count=%s", $::opt_stress_test_count); } if ( $::opt_stress_test_duration ) { mtr_add_arg($args, "--test-duration=%s", $::opt_stress_test_duration); } #Run stress test mtr_run("$::glob_mysql_test_dir/mysql-stress-test.pl", $args, "", "", "", ""); if ( ! $::glob_use_embedded_server ) { stop_masters(); } } 1; mysql-test/mysql-test-run.pl +26 −0 Original line number Diff line number Diff line Loading @@ -96,6 +96,7 @@ require "lib/mtr_report.pl"; require "lib/mtr_diff.pl"; require "lib/mtr_match.pl"; require "lib/mtr_misc.pl"; require "lib/mtr_stress.pl"; $Devel::Trace::TRACE= 1; Loading Loading @@ -271,6 +272,16 @@ our $opt_valgrind_mysqltest; our $opt_valgrind_all; our $opt_valgrind_options; our $opt_stress= ""; our $opt_stress_suite= "main"; our $opt_stress_mode= "random"; our $opt_stress_threads= 5; our $opt_stress_test_count= 20; our $opt_stress_loop_count= ""; our $opt_stress_test_duration= ""; our $opt_stress_init_file= ""; our $opt_stress_test_file= ""; our $opt_verbose; our $opt_wait_for_master; Loading Loading @@ -391,6 +402,10 @@ sub main () { { run_benchmarks(shift); # Shift what? Extra arguments?! } elsif ( $opt_stress ) { run_stress_test() } else { run_tests(); Loading Loading @@ -547,6 +562,17 @@ sub command_line_setup () { 'valgrind-all:s' => \$opt_valgrind_all, 'valgrind-options=s' => \$opt_valgrind_options, # Stress testing 'stress' => \$opt_stress, 'stress-suite=s' => \$opt_stress_suite, 'stress-threads=i' => \$opt_stress_threads, 'stress-test-file=s' => \$opt_stress_test_file, 'stress-init-file=s' => \$opt_stress_init_file, 'stress-mode=s' => \$opt_stress_mode, 'stress-loop-count=i' => \$opt_stress_loop_count, 'stress-test-count=i' => \$opt_stress_test_count, 'stress-test-duration=i' => \$opt_stress_test_duration, # Misc 'big-test' => \$opt_big_test, 'debug' => \$opt_debug, Loading Loading
mysql-test/lib/mtr_misc.pl +2 −2 Original line number Diff line number Diff line Loading @@ -9,7 +9,7 @@ use strict; sub mtr_full_hostname (); sub mtr_short_hostname (); sub mtr_init_args ($); sub mtr_add_arg ($$); sub mtr_add_arg ($$@); sub mtr_path_exists(@); sub mtr_script_exists(@); sub mtr_exe_exists(@); Loading Loading @@ -51,7 +51,7 @@ sub mtr_init_args ($) { $$args = []; # Empty list } sub mtr_add_arg ($$) { sub mtr_add_arg ($$@) { my $args= shift; my $format= shift; my @fargs = @_; Loading
mysql-test/lib/mtr_stress.pl 0 → 100644 +172 −0 Original line number Diff line number Diff line # -*- cperl -*- # This is a library file used by the Perl version of mysql-test-run, # and is part of the translation of the Bourne shell script with the # same name. use strict; use File::Spec; # These are not to be prefixed with "mtr_" sub run_stress_test (); ############################################################################## # # Run tests in the stress mode # ############################################################################## sub run_stress_test () { my $args; my $stress_basedir; my $stress_suitedir; mtr_report("Starting stress testing\n"); if ( ! $::glob_use_embedded_server and ! $::opt_local_master ) { $::master->[0]->{'pid'}= mysqld_start('master',0,[],[]); if ( ! $::master->[0]->{'pid'} ) { mtr_error("Can't start the mysqld server"); } } my $stress_basedir=File::Spec->catdir($::opt_vardir, "stress"); #Clean up stress dir if ( -d $stress_basedir ) { rmtree($stress_basedir); } mkpath($stress_basedir); if ($::opt_stress_suite ne 'main' && $::opt_stress_suite ne 'default' ) { $stress_suitedir=File::Spec->catdir($::glob_mysql_test_dir, "suite", $::opt_stress_suite); } else { $stress_suitedir=$::glob_mysql_test_dir; } if ( -d $stress_suitedir ) { #$stress_suite_t_dir=File::Spec->catdir($stress_suitedir, "t"); #$stress_suite_r_dir=File::Spec->catdir($stress_suitedir, "r"); #FIXME: check dirs above for existence to ensure that test suite # contains tests and results dirs } else { mtr_error("Specified test suite $::opt_stress_suite doesn't exist"); } if ( @::opt_cases ) { $::opt_stress_test_file=File::Spec->catfile($stress_basedir, "stress_tests.txt"); open(STRESS_FILE, ">$::opt_stress_test_file"); print STRESS_FILE join("\n",@::opt_cases),"\n"; close(STRESS_FILE); } elsif ( $::opt_stress_test_file ) { $::opt_stress_test_file=File::Spec->catfile($stress_suitedir, $::opt_stress_test_file); if ( ! -f $::opt_stress_test_file ) { mtr_error("Specified file $::opt_stress_test_file with list of tests does not exist\n", "Please ensure that file exists and has proper permissions"); } } else { $::opt_stress_test_file=File::Spec->catfile($stress_suitedir, "stress_tests.txt"); if ( ! -f $::opt_stress_test_file ) { mtr_error("Default file $::opt_stress_test_file with list of tests does not exist\n", "Please use --stress-test-file option to specify custom one or you can\n", "just specify name of test for testing as last argument in command line"); } } if ( $::opt_stress_init_file ) { $::opt_stress_init_file=File::Spec->catfile($stress_suitedir, $::opt_stress_init_file); if ( ! -f $::opt_stress_init_file ) { mtr_error("Specified file $::opt_stress_init_file with list of tests does not exist\n", "Please ensure that file exists and has proper permissions"); } } else { $::opt_stress_init_file=File::Spec->catfile($stress_suitedir, "stress_init.txt"); if ( ! -f $::opt_stress_init_file ) { $::opt_stress_init_file=''; } } if ( $::opt_stress_mode ne 'random' && $::opt_stress_mode ne 'seq' ) { mtr_error("You specified wrong mode $::opt_stress_mode for stress test\n", "Correct values are 'random' or 'seq'"); } mtr_init_args(\$args); mtr_add_arg($args, "--server-socket=%s", $::master->[0]->{'path_mysock'}); mtr_add_arg($args, "--server-user=%s", $::opt_user); mtr_add_arg($args, "--server-database=%s", "test"); mtr_add_arg($args, "--stress-suite-basedir=%s", $::glob_mysql_test_dir); mtr_add_arg($args, "--suite=%s", $::opt_stress_suite); mtr_add_arg($args, "--stress-tests-file=%s", $::opt_stress_test_file); mtr_add_arg($args, "--stress-basedir=%s", $stress_basedir); mtr_add_arg($args, "--server-logs-dir=%s", $stress_basedir); mtr_add_arg($args, "--stress-mode=%s", $::opt_stress_mode); mtr_add_arg($args, "--mysqltest=%s", $::exe_mysqltest); mtr_add_arg($args, "--threads=%s", $::opt_stress_threads); mtr_add_arg($args, "--verbose"); mtr_add_arg($args, "--cleanup"); mtr_add_arg($args, "--log-error-details"); mtr_add_arg($args, "--abort-on-error"); if ( $::opt_stress_init_file ) { mtr_add_arg($args, "--stress-init-file=%", $::opt_stress_init_file); } if ( $::opt_stress_loop_count ) { mtr_add_arg($args, "--loop-count=%s", $::opt_stress_loop_count); } if ( $::opt_stress_test_count ) { mtr_add_arg($args, "--test-count=%s", $::opt_stress_test_count); } if ( $::opt_stress_test_duration ) { mtr_add_arg($args, "--test-duration=%s", $::opt_stress_test_duration); } #Run stress test mtr_run("$::glob_mysql_test_dir/mysql-stress-test.pl", $args, "", "", "", ""); if ( ! $::glob_use_embedded_server ) { stop_masters(); } } 1;
mysql-test/mysql-test-run.pl +26 −0 Original line number Diff line number Diff line Loading @@ -96,6 +96,7 @@ require "lib/mtr_report.pl"; require "lib/mtr_diff.pl"; require "lib/mtr_match.pl"; require "lib/mtr_misc.pl"; require "lib/mtr_stress.pl"; $Devel::Trace::TRACE= 1; Loading Loading @@ -271,6 +272,16 @@ our $opt_valgrind_mysqltest; our $opt_valgrind_all; our $opt_valgrind_options; our $opt_stress= ""; our $opt_stress_suite= "main"; our $opt_stress_mode= "random"; our $opt_stress_threads= 5; our $opt_stress_test_count= 20; our $opt_stress_loop_count= ""; our $opt_stress_test_duration= ""; our $opt_stress_init_file= ""; our $opt_stress_test_file= ""; our $opt_verbose; our $opt_wait_for_master; Loading Loading @@ -391,6 +402,10 @@ sub main () { { run_benchmarks(shift); # Shift what? Extra arguments?! } elsif ( $opt_stress ) { run_stress_test() } else { run_tests(); Loading Loading @@ -547,6 +562,17 @@ sub command_line_setup () { 'valgrind-all:s' => \$opt_valgrind_all, 'valgrind-options=s' => \$opt_valgrind_options, # Stress testing 'stress' => \$opt_stress, 'stress-suite=s' => \$opt_stress_suite, 'stress-threads=i' => \$opt_stress_threads, 'stress-test-file=s' => \$opt_stress_test_file, 'stress-init-file=s' => \$opt_stress_init_file, 'stress-mode=s' => \$opt_stress_mode, 'stress-loop-count=i' => \$opt_stress_loop_count, 'stress-test-count=i' => \$opt_stress_test_count, 'stress-test-duration=i' => \$opt_stress_test_duration, # Misc 'big-test' => \$opt_big_test, 'debug' => \$opt_debug, Loading