diff --git a/mysql-test/lib/mtr_cases.pl b/mysql-test/lib/mtr_cases.pl index 9b265f90452..568b44d2e59 100644 --- a/mysql-test/lib/mtr_cases.pl +++ b/mysql-test/lib/mtr_cases.pl @@ -111,7 +111,7 @@ sub collect_test_cases ($) { # Disable some tests listed in disabled.def # ---------------------------------------------------------------------- my %disabled; - if ( open(DISABLED, "$testdir/disabled.def" ) ) + if ( ! $::opt_ignore_disabled_def and open(DISABLED, "$testdir/disabled.def" ) ) { while ( ) { @@ -282,8 +282,8 @@ sub collect_one_test_case($$$$$$$) { my $disabled_file= "$testdir/$tname.disabled"; my $im_opt_file= "$testdir/$tname-im.opt"; - $tinfo->{'master_opt'}= $::glob_win32 ? ["--default-time-zone=+3:00"] : []; - $tinfo->{'slave_opt'}= $::glob_win32 ? ["--default-time-zone=+3:00"] : []; + $tinfo->{'master_opt'}= []; + $tinfo->{'slave_opt'}= []; $tinfo->{'slave_mi'}= []; if ( -f $master_opt_file ) @@ -306,7 +306,6 @@ sub collect_one_test_case($$$$$$$) { if ( defined $value ) { $tinfo->{'timezone'}= $value; - $tinfo->{'skip'}= 1 if $::glob_win32; # FIXME server unsets TZ last MASTER_OPT; } diff --git a/mysql-test/lib/mtr_report.pl b/mysql-test/lib/mtr_report.pl index 515988ee5c7..88ddbf63d0f 100644 --- a/mysql-test/lib/mtr_report.pl +++ b/mysql-test/lib/mtr_report.pl @@ -185,39 +185,57 @@ sub mtr_report_stats ($) { } # ---------------------------------------------------------------------- + # If a debug run, there might be interesting information inside + # the "var/log/*.err" files. We save this info in "var/log/warnings" # ---------------------------------------------------------------------- if ( ! $::glob_use_running_server ) { + # Save and report if there was any fatal warnings/errors in err logs - # Report if there was any fatal warnings/errors in the log files - # - unlink("$::opt_vardir/log/warnings"); - unlink("$::opt_vardir/log/warnings.tmp"); - # Remove some non fatal warnings from the log files + my $warnlog= "$::opt_vardir/log/warnings"; -# FIXME what is going on ????? ;-) -# sed -e 's!Warning: Table:.* on delete!!g' -e 's!Warning: Setting lower_case_table_names=2!!g' -e 's!Warning: One can only use the --user.*root!!g' \ -# var/log/*.err \ -# | sed -e 's!Warning: Table:.* on rename!!g' \ -# > var/log/warnings.tmp; -# -# found_error=0; -# # Find errors -# for i in "^Warning:" "^Error:" "^==.* at 0x" -# do -# if ( $GREP "$i" var/log/warnings.tmp >> var/log/warnings ) -# { -# found_error=1 -# } -# done -# unlink("$::opt_vardir/log/warnings.tmp"); -# if ( $found_error= "1" ) -# { -# print "WARNING: Got errors/warnings while running tests. Please examine\n" -# print "$::opt_vardir/log/warnings for details.\n" -# } -# } + unless ( open(WARN, ">$warnlog") ) + { + mtr_warning("can't write to the file \"$warnlog\": $!"); + } + else + { + my $found_problems= 0; # Some warnings are errors... + + # We report different types of problems in order + foreach my $pattern ( "^Warning:", "^Error:", "^==.* at 0x" ) + { + foreach my $errlog ( sort glob("$::opt_vardir/log/*.err") ) + { + unless ( open(ERR, $errlog) ) + { + mtr_warning("can't read $errlog"); + next; + } + while ( ) + { + # Skip some non fatal warnings from the log files + if ( /Warning:\s+Table:.* on (delete|rename)/ or + /Warning:\s+Setting lower_case_table_names=2/ or + /Warning:\s+One can only use the --user.*root/ ) + { + next; # Skip these lines + } + if ( /$pattern/ ) + { + $found_problems= 1; + print WARN $_; + } + } + } + if ( $found_problems ) + { + mtr_warning("Got errors/warnings while running tests, please examine", + "\"$warnlog\" for details."); + } + } + } } print "\n"; diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 9cf5738666e..c708b0e92ce 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -155,6 +155,7 @@ our $path_client_bindir; our $path_language; our $path_timefile; our $path_manager_log; # Used by mysqldadmin +our $path_slave_load_tmpdir; # What is this?! our $path_mysqltest_log; our $path_my_basedir; our $opt_vardir; # A path but set directly on cmd line @@ -470,6 +471,9 @@ sub initial_setup () { $glob_basedir= dirname($glob_mysql_test_dir); $glob_mysql_bench_dir= "$glob_basedir/mysql-bench"; # FIXME make configurable + # needs to be same length to test logging (FIXME what???) + $path_slave_load_tmpdir= "../../var/tmp"; + $path_my_basedir= $opt_source_dist ? $glob_mysql_test_dir : $glob_basedir; @@ -666,6 +670,7 @@ sub command_line_setup () { # -------------------------------------------------------------------------- $opt_tmpdir= "$opt_vardir/tmp" unless $opt_tmpdir; + $opt_tmpdir =~ s,/+$,,; # Remove ending slash if any # FIXME maybe not needed? $path_manager_log= "$opt_vardir/log/manager.log" unless $path_manager_log; diff --git a/scripts/make_binary_distribution.sh b/scripts/make_binary_distribution.sh index d4d96d38d14..36c941ef6aa 100644 --- a/scripts/make_binary_distribution.sh +++ b/scripts/make_binary_distribution.sh @@ -339,7 +339,7 @@ BASE=$BASE2 if [ x"@GXX@" = x"yes" ] ; then gcclib=`@CC@ --print-libgcc-file` if [ $? -ne 0 ] ; then - print "Warning: Couldn't find libgcc.a!" + echo "Warning: Couldn't find libgcc.a!" else $CP $gcclib $BASE/lib/libmygcc.a fi