diff --git a/mysql-test/include/mtr_warnings.sql b/mysql-test/include/mtr_warnings.sql index e344b44b8f2..76c68cb68d0 100644 --- a/mysql-test/include/mtr_warnings.sql +++ b/mysql-test/include/mtr_warnings.sql @@ -201,6 +201,15 @@ INSERT INTO global_supressions VALUES ("Slave: Can't DROP 'c7'.* 1091"), ("Slave: Key column 'c6'.* 1072"), + /* Test case for Bug#31590 in order_by.test produces the following error */ + ("Out of sort memory; increase server sort buffer size"), + + /* Special case for Bug #26402 in show_check.test + - Question marks are not valid file name parts on Windows. Ignore + this error message. + */ + ("Can't find file: '.\\\\test\\\\\\?{8}.frm'"), + ("THE_LAST_SUPPRESSION")|| diff --git a/mysql-test/include/wait_until_connected_again.inc b/mysql-test/include/wait_until_connected_again.inc index a9cf741fcfe..c7bb774929a 100644 --- a/mysql-test/include/wait_until_connected_again.inc +++ b/mysql-test/include/wait_until_connected_again.inc @@ -10,7 +10,7 @@ while ($mysql_errno) # Strangely enough, the server might return "Too many connections" # while being shutdown, thus 1040 is an "allowed" error # See BUG#36228 - --error 0,1040,1053,2002,2006,2013 + --error 0,1040,1053,2002,2003,2006,2013 show status; dec $counter; diff --git a/mysql-test/lib/mtr_cases.pm b/mysql-test/lib/mtr_cases.pm index 4e10066c176..b5d1487831c 100644 --- a/mysql-test/lib/mtr_cases.pm +++ b/mysql-test/lib/mtr_cases.pm @@ -46,7 +46,7 @@ sub collect_option { my ($opt, $value)= @_; # Convert - to _ in option name - $opt =~ s/-/_/; + $opt =~ s/-/_/g; no strict 'refs'; ${$opt}= $value; } diff --git a/mysql-test/lib/mtr_report.pm b/mysql-test/lib/mtr_report.pm index 2dcf483dce0..fcb4c614653 100644 --- a/mysql-test/lib/mtr_report.pm +++ b/mysql-test/lib/mtr_report.pm @@ -27,7 +27,7 @@ our @EXPORT= qw(report_option mtr_print_line mtr_print_thick_line mtr_warning mtr_error mtr_debug mtr_verbose mtr_verbose_restart mtr_report_test_passed mtr_report_test_failed mtr_report_test_skipped - mtr_report_stats mtr_report_test); + mtr_report_test); use mtr_match; require "mtr_io.pl"; @@ -35,6 +35,7 @@ require "mtr_io.pl"; my $tot_real_time= 0; our $timestamp= 0; +our $timediff= 1; our $name; our $verbose; our $verbose_restart= 0; @@ -44,7 +45,7 @@ sub report_option { my ($opt, $value)= @_; # Convert - to _ in option name - $opt =~ s/-/_/; + $opt =~ s/-/_/g; no strict 'refs'; ${$opt}= $value; @@ -318,20 +319,20 @@ sub mtr_report_stats ($) { # Print a list of check_testcases that failed(if any) if ( $::opt_check_testcases ) { - my @check_testcases= (); + my %check_testcases; foreach my $tinfo (@$tests) { if ( defined $tinfo->{'check_testcase_failed'} ) { - push(@check_testcases, $tinfo->{'name'}); + $check_testcases{$tinfo->{'name'}}= 1; } } - if ( @check_testcases ) + if ( keys %check_testcases ) { print "Check of testcase failed for: "; - print join(" ", @check_testcases); + print join(" ", keys %check_testcases); print "\n\n"; } } @@ -420,13 +421,29 @@ sub mtr_print_header () { use Time::localtime; +use Time::HiRes qw(gettimeofday); + +my $t0= gettimeofday(); + sub _timestamp { return "" unless $timestamp; + my $diff; + if ($timediff){ + my $t1= gettimeofday(); + my $elapsed= $t1 - $t0; + + $diff= sprintf(" +%02.3f", $elapsed); + + # Save current time for next lap + $t0= $t1; + + } + my $tm= localtime(); - return sprintf("%02d%02d%02d %2d:%02d:%02d ", + return sprintf("%02d%02d%02d %2d:%02d:%02d%s ", $tm->year % 100, $tm->mon+1, $tm->mday, - $tm->hour, $tm->min, $tm->sec); + $tm->hour, $tm->min, $tm->sec, $diff); } diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 16335153140..c2e9bd7cf65 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -2252,6 +2252,9 @@ sub sql_to_bootstrap { next; } + # Replace @HOSTNAME with localhost + $line=~ s/\'\@HOSTNAME\@\'/localhost/; + # Default, just add the line without newline # but with a space as separator $result.= "$line "; @@ -2306,24 +2309,40 @@ sub mysql_install_db { # ---------------------------------------------------------------------- my $bootstrap_sql_file= "$opt_vardir/tmp/bootstrap.sql"; - # Use the mysql database for system tables - mtr_tofile($bootstrap_sql_file, "use mysql\n"); + if (-f "$path_sql_dir/mysql_system_tables.sql") + { + # Use the mysql database for system tables + mtr_tofile($bootstrap_sql_file, "use mysql\n"); - # Add the offical mysql system tables - # for a production system - mtr_appendfile_to_file("$path_sql_dir/mysql_system_tables.sql", - $bootstrap_sql_file); + # Add the offical mysql system tables + # for a production system + mtr_appendfile_to_file("$path_sql_dir/mysql_system_tables.sql", + $bootstrap_sql_file); - # Add the mysql system tables initial data - # for a production system - mtr_appendfile_to_file("$path_sql_dir/mysql_system_tables_data.sql", - $bootstrap_sql_file); + # Add the mysql system tables initial data + # for a production system + mtr_appendfile_to_file("$path_sql_dir/mysql_system_tables_data.sql", + $bootstrap_sql_file); - # Add test data for timezone - this is just a subset, on a real - # system these tables will be populated either by mysql_tzinfo_to_sql - # or by downloading the timezone table package from our website - mtr_appendfile_to_file("$path_sql_dir/mysql_test_data_timezone.sql", - $bootstrap_sql_file); + # Add test data for timezone - this is just a subset, on a real + # system these tables will be populated either by mysql_tzinfo_to_sql + # or by downloading the timezone table package from our website + mtr_appendfile_to_file("$path_sql_dir/mysql_test_data_timezone.sql", + $bootstrap_sql_file); + + } + else + { + # Install db from init_db.sql that exist in early 5.1 and 5.0 + # versions of MySQL + my $init_file= "$basedir/mysql-test/lib/init_db.sql"; + mtr_report(" - from '$init_file'"); + my $text= mtr_grab_file($init_file) or + mtr_error("Can't open '$init_file': $!"); + + mtr_tofile($bootstrap_sql_file, + sql_to_bootstrap($text)); + } # Fill help tables, just an empty file when running from bk repo # but will be replaced by a real fill_help_tables.sql when @@ -4002,7 +4021,7 @@ Options to control what engine/variation to run config|defaults-file= Use fixed config template for all tests - extra_defaults_file= Extra config template to add to + defaults_extra_file= Extra config template to add to all generated configs Options to control directories to use diff --git a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test index 1657a6902ba..e954c72fd1d 100644 --- a/mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test +++ b/mysql-test/suite/rpl_ndb/t/rpl_ndb_2ndb.test @@ -5,6 +5,7 @@ # to other engines (innodb, myisam), see also rpl_ndb_2other.test ############################################################## --source include/have_binlog_format_mixed_or_row.inc +--source include/have_ndb.inc --source include/ndb_master-slave.inc # On master use NDB as storage engine.