Loading mysql-test/mysql-test-run.pl +63 −8 Original line number Diff line number Diff line Loading @@ -209,6 +209,7 @@ our $opt_fast; our $opt_force; our $opt_reorder= 0; our $opt_enable_disabled; our $opt_mem; our $opt_gcov; our $opt_gcov_err; Loading Loading @@ -643,6 +644,7 @@ sub command_line_setup () { 'tmpdir=s' => \$opt_tmpdir, 'vardir=s' => \$opt_vardir, 'benchdir=s' => \$glob_mysql_bench_dir, 'mem' => \$opt_mem, # Misc 'comment=s' => \$opt_comment, Loading Loading @@ -715,6 +717,32 @@ sub command_line_setup () { } mtr_report("Using binlog format '$used_binlog_format'"); # -------------------------------------------------------------------------- # Check if we should speed up tests by trying to run on tmpfs # -------------------------------------------------------------------------- if ( $opt_mem ) { mtr_error("Can't use --mem and --vardir at the same time ") if $opt_vardir; mtr_error("Can't use --mem and --tmpdir at the same time ") if $opt_tmpdir; # Use /dev/shm as the preferred location for vardir and # thus implicitly also tmpdir. Add other locations to list my @tmpfs_locations= ("/dev/shm"); # One could maybe use "mount" to find tmpfs location(s) foreach my $fs (@tmpfs_locations) { if ( -d $fs ) { mtr_report("Using tmpfs in $fs"); $opt_mem= "$fs/var"; $opt_mem .= $ENV{'MTR_BUILD_THREAD'} if $ENV{'MTR_BUILD_THREAD'}; last; } } } # -------------------------------------------------------------------------- # Set the "var/" directory, as it is the base for everything else # -------------------------------------------------------------------------- Loading Loading @@ -1771,6 +1799,8 @@ sub kill_running_server () { sub cleanup_stale_files () { my $created_by_mem_file= "$glob_mysql_test_dir/var/created_by_mem"; mtr_report("Removing Stale Files"); if ( $opt_vardir eq "$glob_mysql_test_dir/var" ) Loading @@ -1778,7 +1808,17 @@ sub cleanup_stale_files () { # # Running with "var" in mysql-test dir # if ( -l "$glob_mysql_test_dir/var" ) if ( -l $opt_vardir) { # var is a symlink if (-f $created_by_mem_file) { # Remove the directory which the link points at rmtree(readlink($opt_vardir)); # Remove the entire "var" dir rmtree("$opt_vardir/"); } else { # Some users creates a soft link in mysql-test/var to another area # - allow it Loading @@ -1788,6 +1828,7 @@ sub cleanup_stale_files () { rmtree("$opt_vardir/run"); rmtree("$opt_vardir/tmp"); } } else { # Remove the entire "var" dir Loading @@ -1808,6 +1849,17 @@ sub cleanup_stale_files () { rmtree("$opt_vardir/"); } if ( $opt_mem ) { # Runinng with var as a link to some "memory" location, normally tmpfs rmtree($opt_mem); mkpath($opt_mem); mtr_verbose("Creating symlink from $opt_vardir to $opt_mem"); symlink($opt_mem, $opt_vardir); # Put a small file to recognize this dir was created by --mem mtr_tofile($created_by_mem_file, $opt_mem); } mkpath("$opt_vardir/log"); mkpath("$opt_vardir/run"); mkpath("$opt_vardir/tmp"); Loading Loading @@ -4326,6 +4378,9 @@ Options to control directories to use vardir=DIR The directory where files generated from the test run is stored (default: ./var). Specifying a ramdisk or tmpfs will speed up tests. mem=DIR Run testsuite in "memory" using tmpfs if available(default: /dev/shm) Options to control what test suites or cases to run Loading Loading
mysql-test/mysql-test-run.pl +63 −8 Original line number Diff line number Diff line Loading @@ -209,6 +209,7 @@ our $opt_fast; our $opt_force; our $opt_reorder= 0; our $opt_enable_disabled; our $opt_mem; our $opt_gcov; our $opt_gcov_err; Loading Loading @@ -643,6 +644,7 @@ sub command_line_setup () { 'tmpdir=s' => \$opt_tmpdir, 'vardir=s' => \$opt_vardir, 'benchdir=s' => \$glob_mysql_bench_dir, 'mem' => \$opt_mem, # Misc 'comment=s' => \$opt_comment, Loading Loading @@ -715,6 +717,32 @@ sub command_line_setup () { } mtr_report("Using binlog format '$used_binlog_format'"); # -------------------------------------------------------------------------- # Check if we should speed up tests by trying to run on tmpfs # -------------------------------------------------------------------------- if ( $opt_mem ) { mtr_error("Can't use --mem and --vardir at the same time ") if $opt_vardir; mtr_error("Can't use --mem and --tmpdir at the same time ") if $opt_tmpdir; # Use /dev/shm as the preferred location for vardir and # thus implicitly also tmpdir. Add other locations to list my @tmpfs_locations= ("/dev/shm"); # One could maybe use "mount" to find tmpfs location(s) foreach my $fs (@tmpfs_locations) { if ( -d $fs ) { mtr_report("Using tmpfs in $fs"); $opt_mem= "$fs/var"; $opt_mem .= $ENV{'MTR_BUILD_THREAD'} if $ENV{'MTR_BUILD_THREAD'}; last; } } } # -------------------------------------------------------------------------- # Set the "var/" directory, as it is the base for everything else # -------------------------------------------------------------------------- Loading Loading @@ -1771,6 +1799,8 @@ sub kill_running_server () { sub cleanup_stale_files () { my $created_by_mem_file= "$glob_mysql_test_dir/var/created_by_mem"; mtr_report("Removing Stale Files"); if ( $opt_vardir eq "$glob_mysql_test_dir/var" ) Loading @@ -1778,7 +1808,17 @@ sub cleanup_stale_files () { # # Running with "var" in mysql-test dir # if ( -l "$glob_mysql_test_dir/var" ) if ( -l $opt_vardir) { # var is a symlink if (-f $created_by_mem_file) { # Remove the directory which the link points at rmtree(readlink($opt_vardir)); # Remove the entire "var" dir rmtree("$opt_vardir/"); } else { # Some users creates a soft link in mysql-test/var to another area # - allow it Loading @@ -1788,6 +1828,7 @@ sub cleanup_stale_files () { rmtree("$opt_vardir/run"); rmtree("$opt_vardir/tmp"); } } else { # Remove the entire "var" dir Loading @@ -1808,6 +1849,17 @@ sub cleanup_stale_files () { rmtree("$opt_vardir/"); } if ( $opt_mem ) { # Runinng with var as a link to some "memory" location, normally tmpfs rmtree($opt_mem); mkpath($opt_mem); mtr_verbose("Creating symlink from $opt_vardir to $opt_mem"); symlink($opt_mem, $opt_vardir); # Put a small file to recognize this dir was created by --mem mtr_tofile($created_by_mem_file, $opt_mem); } mkpath("$opt_vardir/log"); mkpath("$opt_vardir/run"); mkpath("$opt_vardir/tmp"); Loading Loading @@ -4326,6 +4378,9 @@ Options to control directories to use vardir=DIR The directory where files generated from the test run is stored (default: ./var). Specifying a ramdisk or tmpfs will speed up tests. mem=DIR Run testsuite in "memory" using tmpfs if available(default: /dev/shm) Options to control what test suites or cases to run Loading