Commit 73de951a authored by kent@mysql.com's avatar kent@mysql.com

Merge

parents 6595c649 f9a23667
...@@ -111,7 +111,7 @@ sub collect_test_cases ($) { ...@@ -111,7 +111,7 @@ sub collect_test_cases ($) {
# Disable some tests listed in disabled.def # Disable some tests listed in disabled.def
# ---------------------------------------------------------------------- # ----------------------------------------------------------------------
my %disabled; my %disabled;
if ( open(DISABLED, "$testdir/disabled.def" ) ) if ( ! $::opt_ignore_disabled_def and open(DISABLED, "$testdir/disabled.def" ) )
{ {
while ( <DISABLED> ) while ( <DISABLED> )
{ {
...@@ -277,8 +277,8 @@ sub collect_one_test_case($$$$$$$) { ...@@ -277,8 +277,8 @@ sub collect_one_test_case($$$$$$$) {
my $disabled_file= "$testdir/$tname.disabled"; my $disabled_file= "$testdir/$tname.disabled";
my $im_opt_file= "$testdir/$tname-im.opt"; my $im_opt_file= "$testdir/$tname-im.opt";
$tinfo->{'master_opt'}= $::glob_win32 ? ["--default-time-zone=+3:00"] : []; $tinfo->{'master_opt'}= [];
$tinfo->{'slave_opt'}= $::glob_win32 ? ["--default-time-zone=+3:00"] : []; $tinfo->{'slave_opt'}= [];
$tinfo->{'slave_mi'}= []; $tinfo->{'slave_mi'}= [];
if ( -f $master_opt_file ) if ( -f $master_opt_file )
...@@ -301,7 +301,6 @@ sub collect_one_test_case($$$$$$$) { ...@@ -301,7 +301,6 @@ sub collect_one_test_case($$$$$$$) {
if ( defined $value ) if ( defined $value )
{ {
$tinfo->{'timezone'}= $value; $tinfo->{'timezone'}= $value;
$tinfo->{'skip'}= 1 if $::glob_win32; # FIXME server unsets TZ
last MASTER_OPT; last MASTER_OPT;
} }
......
...@@ -781,7 +781,15 @@ sub mtr_record_dead_children () { ...@@ -781,7 +781,15 @@ sub mtr_record_dead_children () {
} }
sub start_reap_all { sub start_reap_all {
$SIG{CHLD}= 'IGNORE'; # FIXME is this enough? # This causes terminating processes to not become zombies, avoiding
# the need for (or possibility of) explicit waitpid().
$SIG{CHLD}= 'IGNORE';
# On some platforms (Linux, QNX, OSX, ...) there is potential race
# here. If a process terminated before setting $SIG{CHLD} (but after
# any attempt to waitpid() it), it will still be a zombie. So we
# have to handle any such process here.
while(waitpid(-1, &WNOHANG) > 0) { };
} }
sub stop_reap_all { sub stop_reap_all {
......
...@@ -185,39 +185,57 @@ sub mtr_report_stats ($) { ...@@ -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 ) 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 my $warnlog= "$::opt_vardir/log/warnings";
#
unlink("$::opt_vardir/log/warnings");
unlink("$::opt_vardir/log/warnings.tmp");
# Remove some non fatal warnings from the log files
# FIXME what is going on ????? ;-) unless ( open(WARN, ">$warnlog") )
# 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 \ mtr_warning("can't write to the file \"$warnlog\": $!");
# | sed -e 's!Warning: Table:.* on rename!!g' \ }
# > var/log/warnings.tmp; else
# {
# found_error=0; my $found_problems= 0; # Some warnings are errors...
# # Find errors
# for i in "^Warning:" "^Error:" "^==.* at 0x" # We report different types of problems in order
# do foreach my $pattern ( "^Warning:", "^Error:", "^==.* at 0x" )
# if ( $GREP "$i" var/log/warnings.tmp >> var/log/warnings ) {
# { foreach my $errlog ( sort glob("$::opt_vardir/log/*.err") )
# found_error=1 {
# } unless ( open(ERR, $errlog) )
# done {
# unlink("$::opt_vardir/log/warnings.tmp"); mtr_warning("can't read $errlog");
# if ( $found_error= "1" ) next;
# { }
# print "WARNING: Got errors/warnings while running tests. Please examine\n" while ( <ERR> )
# print "$::opt_vardir/log/warnings for details.\n" {
# } # 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"; print "\n";
......
...@@ -157,6 +157,7 @@ our $path_client_bindir; ...@@ -157,6 +157,7 @@ our $path_client_bindir;
our $path_language; our $path_language;
our $path_timefile; our $path_timefile;
our $path_manager_log; # Used by mysqldadmin our $path_manager_log; # Used by mysqldadmin
our $path_slave_load_tmpdir; # What is this?!
our $path_mysqltest_log; our $path_mysqltest_log;
our $path_my_basedir; our $path_my_basedir;
our $opt_vardir; # A path but set directly on cmd line our $opt_vardir; # A path but set directly on cmd line
...@@ -485,6 +486,9 @@ sub initial_setup () { ...@@ -485,6 +486,9 @@ sub initial_setup () {
$glob_basedir= dirname($glob_mysql_test_dir); $glob_basedir= dirname($glob_mysql_test_dir);
$glob_mysql_bench_dir= "$glob_basedir/mysql-bench"; # FIXME make configurable $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= $path_my_basedir=
$opt_source_dist ? $glob_mysql_test_dir : $glob_basedir; $opt_source_dist ? $glob_mysql_test_dir : $glob_basedir;
...@@ -691,6 +695,7 @@ sub command_line_setup () { ...@@ -691,6 +695,7 @@ sub command_line_setup () {
# -------------------------------------------------------------------------- # --------------------------------------------------------------------------
$opt_tmpdir= "$opt_vardir/tmp" unless $opt_tmpdir; $opt_tmpdir= "$opt_vardir/tmp" unless $opt_tmpdir;
$opt_tmpdir =~ s,/+$,,; # Remove ending slash if any
# FIXME maybe not needed? # FIXME maybe not needed?
$path_manager_log= "$opt_vardir/log/manager.log" $path_manager_log= "$opt_vardir/log/manager.log"
unless $path_manager_log; unless $path_manager_log;
......
...@@ -345,7 +345,7 @@ BASE=$BASE2 ...@@ -345,7 +345,7 @@ BASE=$BASE2
if [ x"@GXX@" = x"yes" ] ; then if [ x"@GXX@" = x"yes" ] ; then
gcclib=`@CC@ --print-libgcc-file` gcclib=`@CC@ --print-libgcc-file`
if [ $? -ne 0 ] ; then if [ $? -ne 0 ] ; then
print "Warning: Couldn't find libgcc.a!" echo "Warning: Couldn't find libgcc.a!"
else else
$CP $gcclib $BASE/lib/libmygcc.a $CP $gcclib $BASE/lib/libmygcc.a
fi fi
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment