diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 5cad27df555..85e0a914d39 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -1916,7 +1916,6 @@ sub kill_running_servers () { } } - # # Remove var and any directories in var/ created by previous # tests @@ -1968,7 +1967,6 @@ sub remove_stale_vardir () { mtr_error("The destination for symlink $opt_vardir does not exist") if ! -d readlink($opt_vardir); - my $dir= shift; foreach my $bin ( glob("$opt_vardir/*") ) { mtr_verbose("Removing bin $bin"); @@ -2030,6 +2028,19 @@ sub setup_vardir() { } } + if ( ! -d $opt_vardir ) + { + mtr_verbose("Creating $opt_vardir"); + mkpath($opt_vardir); + } + + # Ensure a proper error message if vardir couldn't be created + unless ( -d $opt_vardir and -w $opt_vardir ) + { + mtr_error("Writable 'var' directory is needed, use the " . + "'--vardir=' option"); + } + mkpath("$opt_vardir/log"); mkpath("$opt_vardir/run"); mkpath("$opt_vardir/tmp"); @@ -3496,6 +3507,11 @@ sub mysqld_arguments ($$$$$) { # Force mysqld to use log files up until 5.1.6 mtr_add_arg($args, "%s--log=%s", $prefix, $master->[0]->{'path_mylog'}); } + else + { + # Turn on logging, will be sent to tables + mtr_add_arg($args, "%s--log=", $prefix); + } } if ( $type eq 'slave' ) @@ -3579,6 +3595,11 @@ sub mysqld_arguments ($$$$$) { # Force mysqld to use log files up until 5.1.6 mtr_add_arg($args, "%s--log=%s", $prefix, $master->[0]->{'path_mylog'}); } + else + { + # Turn on logging, will be sent to tables + mtr_add_arg($args, "%s--log=", $prefix); + } } # end slave