Loading client/mysqltest.c +10 −3 Original line number Diff line number Diff line Loading @@ -264,7 +264,7 @@ enum enum_commands { Q_IF, Q_DISABLE_PARSING, Q_ENABLE_PARSING, Q_REPLACE_REGEX, Q_REMOVE_FILE, Q_FILE_EXIST, Q_WRITE_FILE, Q_COPY_FILE, Q_PERL, Q_DIE, Q_WRITE_FILE, Q_COPY_FILE, Q_PERL, Q_DIE, Q_EXIT, Q_UNKNOWN, /* Unknown command. */ Q_COMMENT, /* Comments, ignored. */ Loading Loading @@ -345,6 +345,8 @@ const char *command_names[]= "copy_file", "perl", "die", /* Don't execute any more commands, compare result */ "exit", 0 }; Loading Loading @@ -5429,7 +5431,7 @@ void mark_progress(struct st_command* command __attribute__((unused)), int main(int argc, char **argv) { struct st_command *command; my_bool q_send_flag= 0; my_bool q_send_flag= 0, abort_flag= 0; uint command_executed= 0, last_command_executed= 0; char save_file[FN_REFLEN]; MY_STAT res_info; Loading Loading @@ -5549,7 +5551,7 @@ int main(int argc, char **argv) open_file(opt_include); } while (!read_command(&command)) while (!read_command(&command) && !abort_flag) { int current_line_inc = 1, processed = 0; if (command->type == Q_UNKNOWN || command->type == Q_COMMENT_WITH_COMMAND) Loading Loading @@ -5777,8 +5779,13 @@ int main(int argc, char **argv) die("Parsing is already enabled"); break; case Q_DIE: /* Abort test with error code and error message */ die("%s", command->first_argument); break; case Q_EXIT: /* Stop processing any more commands */ abort_flag= 1; break; case Q_RESULT: die("result, deprecated command"); Loading mysql-test/lib/mtr_cases.pl +7 −5 Original line number Diff line number Diff line Loading @@ -263,9 +263,6 @@ sub collect_one_test_case($$$$$$$) { return; } # ---------------------------------------------------------------------- # Skip some tests but include in list, just mark them to skip # ---------------------------------------------------------------------- my $tinfo= {}; $tinfo->{'name'}= $tname; Loading @@ -273,6 +270,10 @@ sub collect_one_test_case($$$$$$$) { $tinfo->{'component_id'} = $component_id; push(@$cases, $tinfo); # ---------------------------------------------------------------------- # Skip some tests but include in list, just mark them to skip # ---------------------------------------------------------------------- if ( $::opt_skip_test and defined mtr_match_prefix($tname,$::opt_skip_test) ) { $tinfo->{'skip'}= 1; Loading Loading @@ -356,8 +357,9 @@ sub collect_one_test_case($$$$$$$) { $value= mtr_match_prefix($opt, "--default-time-zone="); if ( defined $value ) { $tinfo->{'timezone'}= ""; # Fallthrough, add this option # Set timezone for this test case to something different $tinfo->{'timezone'}= "GMT-8"; # Fallthrough, add the --default-time-zone option } # The --restart option forces a restart even if no special Loading mysql-test/lib/mtr_misc.pl +13 −1 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ sub mtr_path_exists(@); sub mtr_script_exists(@); sub mtr_file_exists(@); sub mtr_exe_exists(@); sub mtr_exe_maybe_exists(@); sub mtr_copy_dir($$); sub mtr_same_opts($$); sub mtr_cmp_opts($$); Loading Loading @@ -110,8 +111,9 @@ sub mtr_file_exists (@) { return ""; } sub mtr_exe_exists (@) { sub mtr_exe_maybe_exists (@) { my @path= @_; map {$_.= ".exe"} @path if $::glob_win32; foreach my $path ( @path ) { Loading @@ -124,6 +126,16 @@ sub mtr_exe_exists (@) { return $path if -x $path; } } return ""; } sub mtr_exe_exists (@) { my @path= @_; if (my $path= mtr_exe_maybe_exists(@path)) { return $path; } # Could not find exe, show error if ( @path == 1 ) { mtr_error("Could not find $path[0]"); Loading mysql-test/mysql-test-run.pl +33 −33 Original line number Diff line number Diff line Loading @@ -1313,9 +1313,8 @@ sub executable_setup () { } # Look for language files and charsetsdir, use same share my $path_share= mtr_path_exists("$glob_basedir/share", my $path_share= mtr_path_exists("$glob_basedir/share/mysql", "$glob_basedir/sql/share", "$glob_basedir/share/mysql", "$glob_basedir/share"); $path_language= mtr_path_exists("$path_share/english"); Loading Loading @@ -1373,32 +1372,32 @@ sub executable_setup () { { # Look for ndb tols and binaries my $ndb_path= mtr_path_exists("$glob_basedir/ndb", "$glob_basedir/storage/ndb"); "$glob_basedir/storage/ndb", "$glob_basedir/bin"); $path_ndb_tools_dir= mtr_path_exists("$ndb_path/tools", "$glob_basedir/bin"); "$ndb_path"); $exe_ndb_mgm= mtr_exe_exists("$ndb_path/src/mgmclient/ndb_mgm", "$glob_basedir/bin/ndb_mgm"); "$ndb_path/ndb_mgm"); $exe_ndb_mgmd= mtr_exe_exists("$ndb_path/src/mgmsrv/ndb_mgmd", "$glob_basedir/bin/ndb_mgmd"); "$ndb_path/ndb_mgmd"); $exe_ndb_waiter= mtr_exe_exists("$ndb_path/tools/ndb_waiter", "$glob_basedir/bin/ndb_waiter"); "$ndb_path/ndb_waiter"); $exe_ndbd= mtr_exe_exists("$ndb_path/src/kernel/ndbd", "$glob_basedir/bin/ndbd"); "$ndb_path/ndbd"); if ( $mysql_version_id >= 50000 ) { # May not exist $path_ndb_examples_dir= mtr_path_exists("$ndb_path/ndbapi-examples", mtr_file_exists("$ndb_path/ndbapi-examples", "$ndb_path/examples"); # May not exist $exe_ndb_example= mtr_file_exists("$path_ndb_examples_dir/ndbapi_simple/ndbapi_simple"); } } # Look for the udf_example library $lib_udf_example= Loading @@ -1420,27 +1419,20 @@ sub executable_setup () { } if ( $glob_win32 and $mysql_version_id < 50000 ) { # Skip looking for exe_mysql_client_test as its not built by default # in 4.1 for windows. $exe_mysql_client_test= "unavailable"; } else { # Look for mysql_client_test executable # Look for mysql_client_test executable which may _not_ exist in # some versions, test using it should be skipped if ( $glob_use_embedded_server ) { $exe_mysql_client_test= mtr_exe_exists("$glob_basedir/libmysqld/examples/mysql_client_test_embedded"); mtr_exe_maybe_exists("$glob_basedir/libmysqld/examples/mysql_client_test_embedded"); } else { $exe_mysql_client_test= mtr_exe_exists("$glob_basedir/tests/mysql_client_test", mtr_exe_maybe_exists("$glob_basedir/tests/mysql_client_test", "$glob_basedir/tests/release/mysql_client_test", "$glob_basedir/tests/debug/mysql_client_test"); } "$glob_basedir/tests/debug/mysql_client_test", "$glob_basedir/bin"); } } Loading Loading @@ -2045,6 +2037,14 @@ sub check_ndbcluster_support ($) { $opt_skip_ndbcluster_slave= 1; return; } elsif ( -e "$glob_basedir/bin" && ! -f "$glob_basedir/bin/ndbd") { # Binary dist with a mysqld that supports ndb, but no ndbd found mtr_report("Skipping ndbcluster, can't fint binaries"); $opt_skip_ndbcluster= 1; $opt_skip_ndbcluster_slave= 1; return; } $glob_ndbcluster_supported= 1; mtr_report("Using ndbcluster when necessary, mysqld supports it"); Loading mysql-test/r/mysqltest.result +2 −0 Original line number Diff line number Diff line Loading @@ -518,4 +518,6 @@ hello mysqltest: At line 1: Max delimiter length(16) exceeded hello hello mysqltest: At line 1: test of die Some output End of tests Loading
client/mysqltest.c +10 −3 Original line number Diff line number Diff line Loading @@ -264,7 +264,7 @@ enum enum_commands { Q_IF, Q_DISABLE_PARSING, Q_ENABLE_PARSING, Q_REPLACE_REGEX, Q_REMOVE_FILE, Q_FILE_EXIST, Q_WRITE_FILE, Q_COPY_FILE, Q_PERL, Q_DIE, Q_WRITE_FILE, Q_COPY_FILE, Q_PERL, Q_DIE, Q_EXIT, Q_UNKNOWN, /* Unknown command. */ Q_COMMENT, /* Comments, ignored. */ Loading Loading @@ -345,6 +345,8 @@ const char *command_names[]= "copy_file", "perl", "die", /* Don't execute any more commands, compare result */ "exit", 0 }; Loading Loading @@ -5429,7 +5431,7 @@ void mark_progress(struct st_command* command __attribute__((unused)), int main(int argc, char **argv) { struct st_command *command; my_bool q_send_flag= 0; my_bool q_send_flag= 0, abort_flag= 0; uint command_executed= 0, last_command_executed= 0; char save_file[FN_REFLEN]; MY_STAT res_info; Loading Loading @@ -5549,7 +5551,7 @@ int main(int argc, char **argv) open_file(opt_include); } while (!read_command(&command)) while (!read_command(&command) && !abort_flag) { int current_line_inc = 1, processed = 0; if (command->type == Q_UNKNOWN || command->type == Q_COMMENT_WITH_COMMAND) Loading Loading @@ -5777,8 +5779,13 @@ int main(int argc, char **argv) die("Parsing is already enabled"); break; case Q_DIE: /* Abort test with error code and error message */ die("%s", command->first_argument); break; case Q_EXIT: /* Stop processing any more commands */ abort_flag= 1; break; case Q_RESULT: die("result, deprecated command"); Loading
mysql-test/lib/mtr_cases.pl +7 −5 Original line number Diff line number Diff line Loading @@ -263,9 +263,6 @@ sub collect_one_test_case($$$$$$$) { return; } # ---------------------------------------------------------------------- # Skip some tests but include in list, just mark them to skip # ---------------------------------------------------------------------- my $tinfo= {}; $tinfo->{'name'}= $tname; Loading @@ -273,6 +270,10 @@ sub collect_one_test_case($$$$$$$) { $tinfo->{'component_id'} = $component_id; push(@$cases, $tinfo); # ---------------------------------------------------------------------- # Skip some tests but include in list, just mark them to skip # ---------------------------------------------------------------------- if ( $::opt_skip_test and defined mtr_match_prefix($tname,$::opt_skip_test) ) { $tinfo->{'skip'}= 1; Loading Loading @@ -356,8 +357,9 @@ sub collect_one_test_case($$$$$$$) { $value= mtr_match_prefix($opt, "--default-time-zone="); if ( defined $value ) { $tinfo->{'timezone'}= ""; # Fallthrough, add this option # Set timezone for this test case to something different $tinfo->{'timezone'}= "GMT-8"; # Fallthrough, add the --default-time-zone option } # The --restart option forces a restart even if no special Loading
mysql-test/lib/mtr_misc.pl +13 −1 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ sub mtr_path_exists(@); sub mtr_script_exists(@); sub mtr_file_exists(@); sub mtr_exe_exists(@); sub mtr_exe_maybe_exists(@); sub mtr_copy_dir($$); sub mtr_same_opts($$); sub mtr_cmp_opts($$); Loading Loading @@ -110,8 +111,9 @@ sub mtr_file_exists (@) { return ""; } sub mtr_exe_exists (@) { sub mtr_exe_maybe_exists (@) { my @path= @_; map {$_.= ".exe"} @path if $::glob_win32; foreach my $path ( @path ) { Loading @@ -124,6 +126,16 @@ sub mtr_exe_exists (@) { return $path if -x $path; } } return ""; } sub mtr_exe_exists (@) { my @path= @_; if (my $path= mtr_exe_maybe_exists(@path)) { return $path; } # Could not find exe, show error if ( @path == 1 ) { mtr_error("Could not find $path[0]"); Loading
mysql-test/mysql-test-run.pl +33 −33 Original line number Diff line number Diff line Loading @@ -1313,9 +1313,8 @@ sub executable_setup () { } # Look for language files and charsetsdir, use same share my $path_share= mtr_path_exists("$glob_basedir/share", my $path_share= mtr_path_exists("$glob_basedir/share/mysql", "$glob_basedir/sql/share", "$glob_basedir/share/mysql", "$glob_basedir/share"); $path_language= mtr_path_exists("$path_share/english"); Loading Loading @@ -1373,32 +1372,32 @@ sub executable_setup () { { # Look for ndb tols and binaries my $ndb_path= mtr_path_exists("$glob_basedir/ndb", "$glob_basedir/storage/ndb"); "$glob_basedir/storage/ndb", "$glob_basedir/bin"); $path_ndb_tools_dir= mtr_path_exists("$ndb_path/tools", "$glob_basedir/bin"); "$ndb_path"); $exe_ndb_mgm= mtr_exe_exists("$ndb_path/src/mgmclient/ndb_mgm", "$glob_basedir/bin/ndb_mgm"); "$ndb_path/ndb_mgm"); $exe_ndb_mgmd= mtr_exe_exists("$ndb_path/src/mgmsrv/ndb_mgmd", "$glob_basedir/bin/ndb_mgmd"); "$ndb_path/ndb_mgmd"); $exe_ndb_waiter= mtr_exe_exists("$ndb_path/tools/ndb_waiter", "$glob_basedir/bin/ndb_waiter"); "$ndb_path/ndb_waiter"); $exe_ndbd= mtr_exe_exists("$ndb_path/src/kernel/ndbd", "$glob_basedir/bin/ndbd"); "$ndb_path/ndbd"); if ( $mysql_version_id >= 50000 ) { # May not exist $path_ndb_examples_dir= mtr_path_exists("$ndb_path/ndbapi-examples", mtr_file_exists("$ndb_path/ndbapi-examples", "$ndb_path/examples"); # May not exist $exe_ndb_example= mtr_file_exists("$path_ndb_examples_dir/ndbapi_simple/ndbapi_simple"); } } # Look for the udf_example library $lib_udf_example= Loading @@ -1420,27 +1419,20 @@ sub executable_setup () { } if ( $glob_win32 and $mysql_version_id < 50000 ) { # Skip looking for exe_mysql_client_test as its not built by default # in 4.1 for windows. $exe_mysql_client_test= "unavailable"; } else { # Look for mysql_client_test executable # Look for mysql_client_test executable which may _not_ exist in # some versions, test using it should be skipped if ( $glob_use_embedded_server ) { $exe_mysql_client_test= mtr_exe_exists("$glob_basedir/libmysqld/examples/mysql_client_test_embedded"); mtr_exe_maybe_exists("$glob_basedir/libmysqld/examples/mysql_client_test_embedded"); } else { $exe_mysql_client_test= mtr_exe_exists("$glob_basedir/tests/mysql_client_test", mtr_exe_maybe_exists("$glob_basedir/tests/mysql_client_test", "$glob_basedir/tests/release/mysql_client_test", "$glob_basedir/tests/debug/mysql_client_test"); } "$glob_basedir/tests/debug/mysql_client_test", "$glob_basedir/bin"); } } Loading Loading @@ -2045,6 +2037,14 @@ sub check_ndbcluster_support ($) { $opt_skip_ndbcluster_slave= 1; return; } elsif ( -e "$glob_basedir/bin" && ! -f "$glob_basedir/bin/ndbd") { # Binary dist with a mysqld that supports ndb, but no ndbd found mtr_report("Skipping ndbcluster, can't fint binaries"); $opt_skip_ndbcluster= 1; $opt_skip_ndbcluster_slave= 1; return; } $glob_ndbcluster_supported= 1; mtr_report("Using ndbcluster when necessary, mysqld supports it"); Loading
mysql-test/r/mysqltest.result +2 −0 Original line number Diff line number Diff line Loading @@ -518,4 +518,6 @@ hello mysqltest: At line 1: Max delimiter length(16) exceeded hello hello mysqltest: At line 1: test of die Some output End of tests