diff --git a/client/mysqltest.c b/client/mysqltest.c index 0a9549acc47..db15c6c43dd 100644 --- a/client/mysqltest.c +++ b/client/mysqltest.c @@ -668,9 +668,11 @@ void close_files() DBUG_ENTER("close_files"); for (; cur_file >= file_stack; cur_file--) { - DBUG_PRINT("info", ("file_name: %s", cur_file->file_name)); if (cur_file->file && cur_file->file != stdin) + { + DBUG_PRINT("info", ("closing file: %s", cur_file->file_name)); my_fclose(cur_file->file, MYF(0)); + } my_free((gptr)cur_file->file_name, MYF(MY_ALLOW_ZERO_PTR)); cur_file->file_name= 0; } @@ -950,8 +952,8 @@ err: void check_result(DYNAMIC_STRING* ds) { - DBUG_ASSERT(result_file_name); DBUG_ENTER("check_result"); + DBUG_ASSERT(result_file_name); switch (dyn_string_cmp(ds, result_file_name)) { @@ -1433,7 +1435,7 @@ void do_source(struct st_command *command) #ifdef __WIN__ -/* Variables used for temuprary sh files used for emulating Unix on Windows */ +/* Variables used for temporary sh files used for emulating Unix on Windows */ char tmp_sh_name[64], tmp_sh_cmd[70]; void init_tmp_sh_file() @@ -2707,12 +2709,15 @@ char *get_string(char **to_ptr, char **from_ptr, void set_reconnect(MYSQL* mysql, int val) { + DBUG_ENTER("set_reconnect"); + DBUG_PRINT("info", ("val: %d", val)); #if MYSQL_VERSION_ID < 50000 mysql->reconnect= val; #else - int reconnect= val; + my_bool reconnect= val; mysql_options(mysql, MYSQL_OPT_RECONNECT, (char *)&reconnect); #endif + DBUG_VOID_RETURN; } diff --git a/mysql-test/lib/mtr_process.pl b/mysql-test/lib/mtr_process.pl index 5e21248790e..2831c179ea5 100644 --- a/mysql-test/lib/mtr_process.pl +++ b/mysql-test/lib/mtr_process.pl @@ -339,19 +339,6 @@ sub mtr_kill_leftovers () { mtr_report("Killing Possible Leftover Processes"); mtr_debug("mtr_kill_leftovers(): started."); - mkpath("$::opt_vardir/log"); # Needed for mysqladmin log - - # Stop or kill Instance Manager and all its children. If we failed to do - # that, we can only abort -- there is nothing left to do. - -# mtr_error("Failed to stop Instance Manager.") -# unless mtr_im_stop($::instance_manager); - - # Start shutdown of masters and slaves. Don't touch IM-managed mysqld - # instances -- they should be stopped by mtr_im_stop(). - - mtr_debug("Shutting down mysqld-instances..."); - my @kill_pids; my %admin_pids; diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 1759b357eb1..629ba00f8f1 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -310,7 +310,7 @@ sub command_line_setup (); sub datadir_setup (); sub executable_setup (); sub environment_setup (); -sub kill_running_server (); +sub kill_running_servers (); sub cleanup_stale_files (); sub check_ssl_support ($); sub check_running_as_root(); @@ -1418,7 +1418,7 @@ sub executable_setup () { { $exe_mysql_client_test= mtr_exe_exists("$glob_basedir/libmysqld/examples/mysql_client_test_embedded", - "$glob_basedir/tests/mysqltest_embedded"); + "$path_client_bindir/mysql_client_test_embedded"); } else { @@ -1802,7 +1802,7 @@ sub handle_int_signal () { # ############################################################################## -sub kill_running_server () { +sub kill_running_servers () { if ( $opt_fast or $glob_use_embedded_server ) { @@ -1820,6 +1820,13 @@ sub kill_running_server () { # started from this run of the script, this is terminating # leftovers from previous runs. + if ( ! -d $opt_vardir ) + { + # The "var" dir does not exist already + # the processes that mtr_kill_leftovers start will write + # their log files to var/log so it should be created + mkpath("$opt_vardir/log"); + } mtr_kill_leftovers(); } } @@ -2416,9 +2423,9 @@ sub initialize_servers () { if ( ! $glob_use_running_server ) { - kill_running_server(); + kill_running_servers(); - unless ( $opt_start_dirty ) + if ( ! $opt_start_dirty ) { cleanup_stale_files(); mysql_install_db(); @@ -3107,7 +3114,7 @@ sub mysqld_arguments ($$$$$) { $prefix= "--server-arg="; } else { # We can't pass embedded server --no-defaults - mtr_add_arg($args, "%s--no-defaults", $prefix); + mtr_add_arg($args, "--no-defaults"); } mtr_add_arg($args, "%s--console", $prefix); @@ -3529,7 +3536,12 @@ sub run_testcase_need_master_restart($) # We try to find out if we are to restart the master(s) my $do_restart= 0; # Assumes we don't have to - if ( $tinfo->{'master_sh'} ) + if ( $glob_use_embedded_server ) + { + mtr_verbose("Never start or restart for embedded server"); + return $do_restart; + } + elsif ( $tinfo->{'master_sh'} ) { $do_restart= 1; # Always restart if script to run mtr_verbose("Restart master: Always restart if script to run"); @@ -3591,7 +3603,12 @@ sub run_testcase_need_slave_restart($) # We try to find out if we are to restart the slaves my $do_slave_restart= 0; # Assumes we don't have to - if ( $max_slave_num == 0) + if ( $glob_use_embedded_server ) + { + mtr_verbose("Never start or restart for embedded server"); + return $do_slave_restart; + } + elsif ( $max_slave_num == 0) { mtr_verbose("Skip slave restart: No testcase use slaves"); } @@ -3772,7 +3789,7 @@ sub run_testcase_stop_servers($$$) { # # run_testcase_start_servers # -# Start the servers neede by this test case +# Start the servers needed by this test case # # RETURN # 0 OK diff --git a/sql-common/client.c b/sql-common/client.c index 79a5be938b2..b6947028e74 100644 --- a/sql-common/client.c +++ b/sql-common/client.c @@ -2364,6 +2364,8 @@ my_bool mysql_reconnect(MYSQL *mysql) { MYSQL tmp_mysql; DBUG_ENTER("mysql_reconnect"); + DBUG_ASSERT(mysql); + DBUG_PRINT("enter", ("mysql->reconnect: %d", mysql->reconnect)); if (!mysql->reconnect || (mysql->server_status & SERVER_STATUS_IN_TRANS) || !mysql->host_info)